.elementor-kit-6{--e-global-color-primary:#011128;--e-global-color-secondary:#0E2544;--e-global-color-text:#000000;--e-global-color-accent:#094FA7;--e-global-color-924732f:#F97316;--e-global-color-c701982:#CCA061;--e-global-color-20259d9:#E8E3DF;--e-global-color-238a15c:#596068;--e-global-color-eeb28c5:#F7F7F7;--e-global-color-abnbg:#FFFFFF;--e-global-color-abnsurf:#EEF0F5;--e-global-color-abnink:#0F1424;--e-global-color-abnmuted:#5B6478;--e-global-color-abnnavy:#0A0E19;--e-global-color-abnrule:#DCE0E8;--e-global-color-abngold:#8E6B36;--e-global-color-abngoldd:#C9A46A;--e-global-color-abnondark:#B4BCCD;--e-global-color-abnruled:#222A3D;--e-global-color-abnnavy2:#111727;--e-global-color-abnmutedd:#8A93A8;--e-global-color-abngoldh:#DDBB84;--e-global-color-abnwhite:#ECEEF4;--e-global-color-abtink:#061317;--e-global-color-abtteal:#1F8A8C;--e-global-color-abttealsurface:#0E4D51;--e-global-color-abtturq:#3ADCDD;--e-global-color-abtcyan:#2FC3D8;--e-global-color-abtoff:#F1F2F0;--e-global-color-abtwhite:#FFFFFF;--e-global-color-abtmist:#E3EFEE;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-abnd1-font-family:"Instrument Serif";--e-global-typography-abnd1-font-size:76px;--e-global-typography-abnd1-font-weight:400;--e-global-typography-abnd1-line-height:1.04em;--e-global-typography-abnd1-letter-spacing:-0.6px;--e-global-typography-abnh2-font-family:"Instrument Serif";--e-global-typography-abnh2-font-size:56px;--e-global-typography-abnh2-font-weight:400;--e-global-typography-abnh2-line-height:1.06em;--e-global-typography-abnh2-letter-spacing:-0.5px;--e-global-typography-abnh3-font-family:"Instrument Serif";--e-global-typography-abnh3-font-size:30px;--e-global-typography-abnh3-font-weight:400;--e-global-typography-abnh3-line-height:1.15em;--e-global-typography-abnh3-letter-spacing:-0.2px;--e-global-typography-abnh4-font-family:"Manrope";--e-global-typography-abnh4-font-size:18px;--e-global-typography-abnh4-font-weight:700;--e-global-typography-abnh4-line-height:1.4em;--e-global-typography-abnh4-letter-spacing:0px;--e-global-typography-abnlead-font-family:"Manrope";--e-global-typography-abnlead-font-size:19px;--e-global-typography-abnlead-font-weight:400;--e-global-typography-abnlead-line-height:1.7em;--e-global-typography-abnlead-letter-spacing:0px;--e-global-typography-abnbody-font-family:"Manrope";--e-global-typography-abnbody-font-size:16.5px;--e-global-typography-abnbody-font-weight:400;--e-global-typography-abnbody-line-height:1.75em;--e-global-typography-abnbody-letter-spacing:0px;--e-global-typography-abnsmall-font-family:"Manrope";--e-global-typography-abnsmall-font-size:14.5px;--e-global-typography-abnsmall-font-weight:400;--e-global-typography-abnsmall-line-height:1.65em;--e-global-typography-abnsmall-letter-spacing:0px;--e-global-typography-abnlabel-font-family:"Manrope";--e-global-typography-abnlabel-font-size:11.5px;--e-global-typography-abnlabel-font-weight:600;--e-global-typography-abnlabel-text-transform:uppercase;--e-global-typography-abnlabel-line-height:1.6em;--e-global-typography-abnlabel-letter-spacing:2.5px;--e-global-typography-abnbtn-font-family:"Manrope";--e-global-typography-abnbtn-font-size:14.5px;--e-global-typography-abnbtn-font-weight:700;--e-global-typography-abnbtn-line-height:1.3em;--e-global-typography-abnbtn-letter-spacing:0.3px;--e-global-typography-abnmark-font-family:"Manrope";--e-global-typography-abnmark-font-size:15px;--e-global-typography-abnmark-font-weight:700;--e-global-typography-abnmark-text-transform:uppercase;--e-global-typography-abnmark-line-height:1.2em;--e-global-typography-abnmark-letter-spacing:3px;--e-global-typography-abnstat-font-family:"Instrument Serif";--e-global-typography-abnstat-font-size:58px;--e-global-typography-abnstat-font-weight:400;--e-global-typography-abnstat-line-height:1em;--e-global-typography-abnstat-letter-spacing:-0.4px;--e-global-typography-abtdisplay-font-family:"Sora";--e-global-typography-abtdisplay-font-size:72px;--e-global-typography-abtdisplay-font-weight:600;--e-global-typography-abtdisplay-line-height:1.02em;--e-global-typography-abtdisplay-letter-spacing:-0.04em;--e-global-typography-abtaccent-font-family:"Instrument Serif";--e-global-typography-abtaccent-font-size:54px;--e-global-typography-abtaccent-font-weight:400;--e-global-typography-abtaccent-font-style:italic;--e-global-typography-abtaccent-line-height:1.06em;--e-global-typography-abtaccent-letter-spacing:-0.01em;--e-global-typography-abtbody-font-family:"Manrope";--e-global-typography-abtbody-font-size:16px;--e-global-typography-abtbody-font-weight:400;--e-global-typography-abtbody-line-height:1.7em;--e-global-typography-abtbody-letter-spacing:0em;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-abnd1-font-size:58px;--e-global-typography-abnh2-font-size:46px;--e-global-typography-abnh3-font-size:28px;--e-global-typography-abnh4-font-size:18px;--e-global-typography-abnlead-font-size:18px;--e-global-typography-abnbody-font-size:16.5px;--e-global-typography-abnsmall-font-size:14.5px;--e-global-typography-abnlabel-font-size:11.5px;--e-global-typography-abnbtn-font-size:14.5px;--e-global-typography-abnmark-font-size:15px;--e-global-typography-abnstat-font-size:50px;font-size:var( --e-global-typography-text-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-abnd1-font-size:44px;--e-global-typography-abnh2-font-size:38px;--e-global-typography-abnh3-font-size:26px;--e-global-typography-abnh4-font-size:17px;--e-global-typography-abnlead-font-size:17px;--e-global-typography-abnbody-font-size:16px;--e-global-typography-abnsmall-font-size:14.5px;--e-global-typography-abnlabel-font-size:11.5px;--e-global-typography-abnbtn-font-size:14.5px;--e-global-typography-abnmark-font-size:13px;--e-global-typography-abnstat-font-size:44px;font-size:var( --e-global-typography-text-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ABN-S3-START */
/* ABN Stage 3: canvas design system (teal direction), scoped to .abns */

/* ---- Elementor reset for converted canvas markup (lowest layer) ---- */
.abns .abx { display: block; flex-direction: row; flex-wrap: nowrap; align-items: normal; align-content: normal; justify-content: normal; gap: normal; position: static; width: auto; height: auto; min-height: 0; min-width: 0; overflow: visible; z-index: auto; border-radius: 0; text-align: inherit; padding: 0; margin: 0; }
.abns .abx > .elementor-widget { width: auto; min-width: 0; }
.abns .elementor-widget { margin: 0; }
.abns .elementor-widget:not(:last-child) { margin-block-end: 0; }
.abns button { font: inherit; color: inherit; background: none; border: 0; border-radius: 0; padding: 0; text-transform: none; }
.abns input, .abns select, .abns textarea { border-radius: 0; }
.abns { --ink: var(--e-global-color-abtink, #061317); --ink-2: #0C2328; --teal: var(--e-global-color-abtteal, #1F8A8C); --teal-d: var(--e-global-color-abttealsurface, #0E4D51); --teal-dd: #0A3A3E;
  --turq: var(--e-global-color-abtturq, #3ADCDD); --cyan: var(--e-global-color-abtcyan, #2FC3D8); --off: var(--e-global-color-abtoff, #F1F2F0); --white: var(--e-global-color-abtwhite, #FFFFFF); --mist: var(--e-global-color-abtmist, #E3EFEE); --mist-2: #D4E7E6;
  --muted: #4A5A5E; --muted-d: #A7BDC0;
  --line: rgba(6,19,23,.12); --line-d: rgba(241,242,240,.14);
  --ff-display: "Sora", "Helvetica Neue", Arial, sans-serif;
  --serif: "Instrument Serif", Georgia, serif;
  --sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --gut: clamp(16px, 4.4vw, 64px);
  --r-xl: 44px; --r-l: 30px; --r-m: 22px; --r-s: 14px; }
.abns * { box-sizing: border-box; }
.abns { margin: 0 }
.abns { background: var(--off); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
.abns img { max-width: 100%; display: block; }
.abns a { color: inherit; }
.abns p { margin: 0; }
.abns h1, .abns h2, .abns h3, .abns h4 { margin: 0; font-weight: 600; }
.abns :focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; border-radius: 8px; }
.abns .abn { min-height: 100%; background: var(--off); overflow-x: clip; }
.abns .wrap { width: 100%; max-width: 1440px; margin: 0 auto; padding: 0 var(--gut); }
.abns .narrow { max-width: 920px; }
.abns .on-ivory { background: var(--off); color: var(--ink); }
.abns .on-white { background: var(--white); color: var(--ink); }
.abns .on-stone { background: var(--mist); color: var(--ink); }
.abns .on-navy { background: var(--ink); color: var(--off); }
.abns .on-char { background: var(--teal-d); color: var(--off); }
.abns .sec { padding: clamp(80px, 9vw, 150px) 0; }
.abns .sec-s { padding: clamp(56px, 6vw, 96px) 0; }
.abns .curve { position: relative; z-index: 1; border-radius: clamp(28px, 4vw, 64px) clamp(28px, 4vw, 64px) 0 0; margin-top: calc(-1 * clamp(28px, 4vw, 64px)); }
.abns .curve-b { position: relative; z-index: 2; border-radius: 0 0 clamp(28px, 4vw, 64px) clamp(28px, 4vw, 64px); }
.abns .curve.curve-b { border-radius: clamp(28px, 4vw, 64px); }
.abns .inset { margin-left: clamp(8px, 1.2vw, 18px); margin-right: clamp(8px, 1.2vw, 18px); border-radius: clamp(28px, 4vw, 56px); overflow: hidden; }
.abns .eyebrow { font: 600 12px/1.4 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--teal-d); display: inline-flex; align-items: center; gap: 10px; }
.abns .eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 4px rgba(47,195,216,.18); }
.abns .on-navy .eyebrow, .abns .on-char .eyebrow, .abns .dark .eyebrow { color: var(--turq); }
.abns .eyebrow.plain::before { display: none; }
.abns .display { font-family: var(--ff-display); font-weight: 600; font-size: clamp(46px, 6.2vw, 96px); line-height: .98; letter-spacing: -.045em; }
.abns .h1 { font-family: var(--ff-display); font-weight: 600; font-size: clamp(38px, 4.6vw, 72px); line-height: 1.02; letter-spacing: -.04em; }
.abns .h2 { font-family: var(--ff-display); font-weight: 600; font-size: clamp(32px, 3.5vw, 54px); line-height: 1.06; letter-spacing: -.035em; }
.abns .h3 { font-family: var(--ff-display); font-weight: 600; font-size: clamp(21px, 1.75vw, 27px); line-height: 1.2; letter-spacing: -.02em; }
.abns .h4 { font: 700 15px/1.4 var(--sans); letter-spacing: .005em; }
.abns .ital { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.01em; color: var(--teal); font-size: 1.08em; }
.abns .on-navy .ital, .abns .on-char .ital, .abns .dark .ital { color: var(--turq); }
.abns .gold-t { color: var(--teal); }
.abns .lead { font-size: clamp(17px, 1.3vw, 20px); line-height: 1.62; color: var(--muted); }
.abns .on-navy .lead, .abns .on-char .lead, .abns .dark .lead { color: var(--muted-d); }
.abns .body { font-size: 16px; line-height: 1.7; color: var(--muted); }
.abns .on-navy .body, .abns .on-char .body, .abns .dark .body { color: var(--muted-d); }
.abns .small { font-size: 13.5px; line-height: 1.6; color: var(--muted); }
.abns .on-navy .small, .abns .on-char .small, .abns .dark .small { color: var(--muted-d); }
.abns .statement { font-family: var(--ff-display); font-weight: 500; font-size: clamp(30px, 3.6vw, 54px); line-height: 1.14; letter-spacing: -.035em; }
.abns .num { font-family: var(--ff-display); font-weight: 600; font-size: clamp(46px, 5vw, 80px); line-height: .95; letter-spacing: -.05em; }
.abns .on-navy .num, .abns .on-char .num, .abns .dark .num { color: var(--turq); }
.abns .idx { font: 700 12px/1 var(--sans); letter-spacing: .14em; color: var(--teal); }
.abns .dark .idx, .abns .on-navy .idx, .abns .on-char .idx { color: var(--turq); }
.abns .tbc { display: inline-block; font: 700 9.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; padding: 6px 9px; border: 1px dashed #B7791F; border-radius: 999px; color: #8A5A12; background: rgba(214,158,46,.1); vertical-align: middle; }
.abns .dark .tbc, .abns .on-navy .tbc, .abns .on-char .tbc { color: #F3C77A; border-color: #F3C77A; background: rgba(243,199,122,.08); }
.abns .soon { display: inline-block; font: 700 10.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; padding: 8px 12px; border-radius: 999px; background: var(--turq); color: var(--ink); }
.abns .tag { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; padding: 0 14px; border-radius: 999px; font: 600 12.5px/1 var(--sans); background: rgba(255,255,255,.7); color: var(--ink); border: 1px solid var(--line); }
.abns .dark .tag { background: rgba(255,255,255,.06); color: var(--off); border-color: var(--line-d); }
.abns .btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 0 8px 0 24px; border-radius: 999px; font: 600 14px/1 var(--sans); letter-spacing: .01em; text-decoration: none; border: 1.5px solid currentColor; cursor: pointer; background: transparent; color: inherit; transition: background .3s ease, color .3s ease, border-color .3s ease, transform .3s ease; }
.abns .btn:not(:has(.arr)) { padding: 0 24px; }
.abns .btn-solid { background: var(--ink); color: var(--off); border-color: var(--ink); }
.abns .btn-solid:hover { background: var(--teal-d); border-color: var(--teal-d); }
.abns .dark .btn-solid, .abns .on-navy .btn-solid, .abns .on-char .btn-solid { background: var(--turq); color: var(--ink); border-color: var(--turq); }
.abns .dark .btn-solid:hover, .abns .on-navy .btn-solid:hover, .abns .on-char .btn-solid:hover { background: var(--off); border-color: var(--off); }
.abns .btn-line { border-color: rgba(6,19,23,.28); }
.abns .btn-line:hover { background: var(--ink); color: var(--off); border-color: var(--ink); }
.abns .dark .btn-line, .abns .on-navy .btn-line, .abns .on-char .btn-line { border-color: rgba(241,242,240,.35); }
.abns .dark .btn-line:hover, .abns .on-navy .btn-line:hover, .abns .on-char .btn-line:hover { background: var(--off); color: var(--ink); border-color: var(--off); }
.abns .btn .arr { width: 38px; height: 38px; border-radius: 50%; background: var(--off); color: var(--ink); position: relative; flex: none; transition: transform .3s ease; }
.abns .dark .btn-solid .arr, .abns .on-navy .btn-solid .arr, .abns .on-char .btn-solid .arr { background: var(--ink); color: var(--turq); }
.abns .btn-line .arr { background: var(--ink); color: var(--off); }
.abns .dark .btn-line .arr, .abns .on-navy .btn-line .arr, .abns .on-char .btn-line .arr { background: var(--off); color: var(--ink); }
.abns .btn .arr::before { content: ""; position: absolute; left: 13px; top: 18.25px; width: 12px; height: 1.5px; background: currentColor; transform: rotate(-45deg); transform-origin: center; }
.abns .btn .arr::after { content: ""; position: absolute; left: 15.5px; top: 13px; width: 8px; height: 8px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; }
.abns .btn:hover .arr { transform: rotate(45deg); }
.abns .tlink { display: inline-flex; align-items: center; gap: 10px; font: 600 14px/1.2 var(--sans); text-decoration: none; padding-bottom: 6px; border-bottom: 1.5px solid var(--cyan); }
.abns .tlink::after { content: "→"; font-weight: 500; transition: transform .25s; }
.abns .tlink:hover::after { transform: translateX(4px); }
.abns .btn-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.abns .rule { height: 1px; background: var(--line); border: 0; margin: 0; }
.abns .dark .rule, .abns .on-navy .rule, .abns .on-char .rule { background: var(--line-d); }
.abns .g12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(16px, 2vw, 28px); }
.abns .stack { display: flex; flex-direction: column; }
.abns .gap-8 { gap: 8px; }
.abns .gap-14 { gap: 14px; }
.abns .gap-20 { gap: 20px; }
.abns .gap-28 { gap: 28px; }
.abns .gap-40 { gap: 40px; }
.abns .gap-64 { gap: 64px; }
.abns .mt-24 { margin-top: 24px; }
.abns .mt-40 { margin-top: 40px; }
.abns .mt-64 { margin-top: 64px; }
.abns .mt-96 { margin-top: clamp(56px, 7vw, 96px); }
.abns .cover { width: 100%; height: 100%; object-fit: cover; }
.abns .ph { position: relative; overflow: hidden; background: var(--ink-2); border-radius: var(--r-l); }
.abns .ph img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.6,.2,1); }
.abns .ph:hover img { transform: scale(1.03); }
.abns .notch-br { clip-path: polygon(0 0, 100% 0, 100% 72%, 78% 100%, 0 100%); }
.abns .notch-tl { clip-path: polygon(22% 0, 100% 0, 100% 100%, 0 100%, 0 28%); }
.abns .cap { margin-top: 12px; font-size: 12.5px; color: var(--muted); display: flex; justify-content: space-between; gap: 16px; }
.abns .dark .cap, .abns .on-navy .cap, .abns .on-char .cap { color: var(--muted-d); }
.abns .card { background: var(--white); border-radius: var(--r-l); padding: clamp(26px, 2.6vw, 40px); }
.abns .card.mist { background: var(--mist); }
.abns .card.ink { background: var(--ink); color: var(--off); }
.abns .card.teal { background: var(--teal); color: var(--white); }
.abns .card.turq { background: var(--turq); color: var(--ink); }
.abns .dark .card:not(.ink):not(.teal):not(.turq) { background: rgba(255,255,255,.05); border: 1px solid var(--line-d); }
.abns .bento-hero { padding: 10px 0 clamp(40px, 5vw, 72px); }
.abns .bento { position: relative; width: 100%; }
.abns .bento-svg { display: block; width: 100%; height: auto; }
.abns .bx { position: absolute; display: flex; flex-direction: column; }
.abns .bx-pad { padding: clamp(28px, 3vw, 48px); }
.abns .m-only { display: none !important; }
.abns .hero-meta { display: flex; gap: 10px; align-items: center; }
.abns .thumb { width: 96px; height: 96px; border-radius: 20px; overflow: hidden; flex: none; }
.abns .thumb img { width: 100%; height: 100%; object-fit: cover; }
.abns .disc { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--turq); color: var(--ink); text-decoration: none; font-size: 22px; flex: none; }
.abns .orbit { position: absolute; pointer-events: none; }
.abns .hero { position: relative; min-height: 640px; display: flex; align-items: flex-end; color: var(--off); background: var(--ink); margin: 0 clamp(8px, 1.2vw, 18px); border-radius: clamp(28px, 4vw, 56px); overflow: hidden; }
.abns .hero .bg { position: absolute; inset: 0; }
.abns .hero .bg img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 40%; }
.abns .hero .bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,19,23,.92) 0%, rgba(6,19,23,.66) 42%, rgba(14,77,81,.2) 75%, rgba(6,19,23,.3) 100%), linear-gradient(0deg, rgba(6,19,23,.8) 0%, rgba(6,19,23,0) 45%); }
.abns .hero .in { position: relative; width: 100%; padding-top: 140px; padding-bottom: clamp(48px, 6vw, 80px); }
.abns .hero-bar { margin-top: clamp(40px, 6vw, 80px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.abns .hero-bar div { font-size: 13px; color: var(--muted-d); padding: 18px 20px; border-radius: var(--r-m); background: rgba(255,255,255,.06); border: 1px solid var(--line-d); }
.abns .hero-bar b { display: block; font: 600 22px/1.2 var(--ff-display); letter-spacing: -.02em; color: var(--turq); margin-bottom: 4px; }
.abns .phero { padding: clamp(60px, 7vw, 110px) 0 clamp(56px, 6vw, 96px); }
.abns .crumbs { font-size: 12.5px; color: var(--muted); display: flex; gap: 8px; flex-wrap: wrap; }
.abns .dark .crumbs { color: var(--muted-d); }
.abns .subnav { position: sticky; top: 88px; z-index: 30; padding: 12px 0; background: transparent; }
.abns .subnav .wrap { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.abns .subnav .wrap::before { content: none; }
.abns .subnav a { flex: none; padding: 11px 18px; border-radius: 999px; font: 600 13.5px/1 var(--sans); text-decoration: none; color: var(--muted); background: rgba(255,255,255,.85); backdrop-filter: blur(10px); border: 1px solid var(--line); }
.abns .subnav a:hover, .abns .subnav a.on { color: var(--off); background: var(--ink); border-color: var(--ink); }
.abns .irow { display: grid; grid-template-columns: 80px minmax(0, 1.1fr) minmax(0, 1.4fr) 52px; gap: 28px; align-items: center; padding: 30px 28px; margin-top: 10px; border-radius: var(--r-l); background: var(--white); text-decoration: none; color: inherit; transition: background .3s, color .3s; }
.abns .on-stone .irow { background: var(--off); }
.abns .irow.two { grid-template-columns: 260px minmax(0, 1fr); align-items: baseline; }
.abns .irow.cal { grid-template-columns: 200px minmax(0, 1fr) 140px; }
.abns .dark .irow, .abns .on-navy .irow, .abns .on-char .irow { background: rgba(255,255,255,.05); }
.abns .irow .go { justify-self: end; width: 48px; height: 48px; border-radius: 50%; background: var(--mist); display: grid; place-items: center; transition: background .3s, transform .3s; }
.abns a.irow:hover { background: var(--ink); color: var(--off); }
.abns a.irow:hover .body { color: var(--muted-d); }
.abns a.irow:hover .idx { color: var(--turq); }
.abns a.irow:hover .go { background: var(--turq); color: var(--ink); transform: rotate(-45deg); }
.abns .irow .go i { width: 14px; height: 1.5px; background: currentColor; position: relative; }
.abns .irow .go i::after { content: ""; position: absolute; right: 0; top: -3.5px; width: 7px; height: 7px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); }
.abns .stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.abns .stats > div { padding: 26px 24px 24px; border-radius: var(--r-m); background: rgba(255,255,255,.06); border: 1px solid var(--line-d); }
.abns .stats .k { font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted-d); margin-top: 14px; }
.abns .stats.light > div { background: var(--white); border-color: transparent; }
.abns .stats.light .num { color: var(--teal-d); }
.abns .stats.light .k { color: var(--muted); }
.abns .paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.abns .path { padding: 36px 32px 32px; border-radius: var(--r-l); background: var(--white); display: flex; flex-direction: column; gap: 18px; min-height: 340px; transition: background .3s, color .3s; }
.abns .path:nth-child(2) { background: var(--teal); color: var(--white); }
.abns .path:nth-child(2) .for { color: rgba(255,255,255,.8); }
.abns .path:nth-child(2) .tlink { border-color: var(--turq); }
.abns .path:nth-child(3) { background: var(--ink); color: var(--off); }
.abns .path:nth-child(3) .for { color: var(--turq); }
.abns .path .for { font: 700 11.5px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--teal); }
.abns .path .tlink { margin-top: auto; align-self: flex-start; }
.abns .pillars { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.abns .pillar { padding: 24px 26px; border-radius: var(--r-m); background: rgba(255,255,255,.05); border: 1px solid var(--line-d); display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; margin-bottom: 10px; }
.abns .pillars .pillar { margin-bottom: 0; }
.abns .on-ivory .pillar, .abns .on-stone .pillar, .abns .on-white .pillar { background: var(--white); border-color: transparent; }
.abns .on-stone .pillar { background: var(--off); }
.abns .faq details { border-radius: var(--r-m); background: var(--white); margin-bottom: 10px; }
.abns .on-stone .faq details { background: var(--off); }
.abns .dark .faq details { background: rgba(255,255,255,.05); }
.abns .faq summary { list-style: none; cursor: pointer; padding: 24px 76px 24px 28px; position: relative; font: 600 clamp(17px, 1.4vw, 20px)/1.35 var(--ff-display); letter-spacing: -.015em; }
.abns .faq summary::-webkit-details-marker { display: none; }
.abns .faq summary::after { content: "+"; position: absolute; right: 20px; top: 50%; margin-top: -18px; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--mist); color: var(--ink); font: 400 22px/36px var(--sans); text-align: center; transition: transform .3s, background .3s; }
.abns .faq details[open] summary::after { transform: rotate(45deg); background: var(--turq); }
.abns .faq .ans { padding: 0 28px 26px; max-width: 860px; }
.abns .steps { display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 12px; }
.abns .step { padding: 28px 24px 30px; border-radius: var(--r-m); background: var(--white); position: relative; }
.abns .on-stone .step { background: var(--off); }
.abns .dark .step { background: rgba(255,255,255,.05); border: 1px solid var(--line-d); }
.abns .chips { display: flex; flex-wrap: wrap; gap: 8px; }
.abns .chip { min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--line); background: var(--white); font: 600 13px/1 var(--sans); color: var(--ink); cursor: pointer; display: inline-flex; align-items: center; gap: 8px; }
.abns .chip span { color: var(--muted); font-weight: 500; }
.abns .chip.on { background: var(--ink); color: var(--off); border-color: var(--ink); }
.abns .chip.on span { color: var(--turq); }
.abns .pgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 22px; }
.abns .pcard { display: flex; flex-direction: column; gap: 14px; }
.abns .browser { border-radius: var(--r-m); background: var(--white); overflow: hidden; box-shadow: 0 1px 0 var(--line), 0 24px 40px -28px rgba(6,19,23,.35); }
.abns .browser .bar { height: 32px; display: flex; align-items: center; gap: 6px; padding: 0 14px; background: var(--mist); }
.abns .browser .bar i { width: 8px; height: 8px; border-radius: 50%; background: rgba(6,19,23,.18); }
.abns .browser .bar i:first-child { background: var(--cyan); }
.abns .browser .bar span { margin-left: 10px; font-size: 11px; color: var(--muted); }
.abns .browser .shot { aspect-ratio: 16 / 10; overflow: hidden; }
.abns .browser .shot img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform 1.2s cubic-bezier(.2,.6,.2,1); }
.abns .pcard:hover .shot img { transform: scale(1.04); }
.abns .pmeta { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.abns .ptag { font: 700 10.5px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--teal); }
.abns .dark .ptag { color: var(--turq); }
.abns .ext { font: 600 12.5px/1 var(--sans); text-decoration: none; border-bottom: 1.5px solid var(--cyan); padding-bottom: 5px; white-space: nowrap; }
.abns .nolink { font-size: 12px; color: var(--muted); white-space: nowrap; }
.abns .clean { aspect-ratio: 1 / 1; border-radius: var(--r-l); border: 1.5px dashed rgba(6,19,23,.22); display: flex; flex-direction: column; justify-content: space-between; padding: 22px; background: repeating-linear-gradient(135deg, rgba(31,138,140,.05) 0 12px, transparent 12px 24px); }
.abns .form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; }
.abns .field { display: flex; flex-direction: column; gap: 8px; }
.abns .field.full { grid-column: 1 / -1; }
.abns .field label { font: 600 12.5px/1.3 var(--sans); color: var(--ink); }
.abns .field input, .abns .field select, .abns .field textarea { font: 400 16px/1.4 var(--sans); color: var(--ink); background: var(--white); border: 1.5px solid transparent; padding: 14px 16px; border-radius: var(--r-s); }
.abns .on-white .field input, .abns .on-white .field select, .abns .on-white .field textarea, .abns .card .field input, .abns .card .field select, .abns .card .field textarea { background: var(--off); }
.abns .field textarea { min-height: 110px; resize: vertical; }
.abns .field input:focus, .abns .field select:focus, .abns .field textarea:focus { outline: none; border-color: var(--cyan); }
.abns .check { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; color: var(--muted); }
.abns .check input { margin-top: 4px; accent-color: var(--teal); }
.abns .tabs { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 5px; border-radius: 999px; background: var(--white); border: 1px solid var(--line); }
.abns .tab { min-height: 44px; padding: 0 18px; border: 0; border-radius: 999px; background: none; font: 600 14px/1 var(--sans); color: var(--muted); cursor: pointer; }
.abns .tab.on { color: var(--off); background: var(--ink); }
.abns .ftr { background: var(--ink); color: var(--off); border-radius: clamp(28px, 4vw, 64px) clamp(28px, 4vw, 64px) 0 0; position: relative; overflow: hidden; }
.abns .ftr a { text-decoration: none; color: var(--muted-d); font-size: 14.5px; }
.abns .ftr a:hover { color: var(--turq); }
.abns .fcols { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(4, minmax(0, 1fr)); gap: 40px; }
.abns .fcol h4 { font: 700 11.5px/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--turq); margin-bottom: 20px; }
.abns .fcol ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.abns .hdr-wrap { position: sticky; top: 0; z-index: 60; }
.abns .hdr { position: relative; background: rgba(241,242,240,.9); backdrop-filter: blur(14px); color: var(--ink); }
.abns .hdr .row { height: 88px; display: flex; align-items: center; gap: 20px; }
.abns .hdr .logo { flex: none; display: block; }
.abns .hdr .logo img { height: 38px; width: auto; }
.abns .navpill { margin-left: auto; display: flex; align-items: center; padding: 5px; border-radius: 999px; border: 1px solid var(--line); background: rgba(255,255,255,.75); }
.abns .nav { display: flex; align-items: center; gap: 2px; list-style: none; padding: 0; margin: 0; }
.abns .nav > li { position: relative; }
.abns .nitem { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border-radius: 999px; font: 600 14px/1 var(--sans); color: var(--muted); background: none; border: 0; text-decoration: none; cursor: pointer; transition: background .25s, color .25s; }
.abns .nitem:hover, .abns .nitem.open { color: var(--ink); background: var(--mist); }
.abns .nitem.active { color: var(--off); background: var(--ink); }
.abns .nitem .chev { width: 6.5px; height: 6.5px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .25s; }
.abns .nitem.open .chev { transform: translateY(1px) rotate(-135deg); }
.abns .hcta { flex: none; }
.abns .burger { display: none; margin-left: auto; width: 50px; height: 50px; border-radius: 50%; border: 0; background: var(--ink); color: var(--off); cursor: pointer; align-items: center; justify-content: center; flex-direction: column; gap: 5px; }
.abns .burger i { width: 18px; height: 1.5px; background: currentColor; display: block; border-radius: 2px; }
.abns .mega { position: absolute; left: var(--gut); right: var(--gut); top: calc(100% + 4px); background: var(--white); color: var(--ink); border-radius: var(--r-l); box-shadow: 0 50px 80px -40px rgba(6,19,23,.5), 0 0 0 1px var(--line); overflow: hidden; }
.abns .mega .in { display: grid; grid-template-columns: minmax(0, 1.25fr) repeat(3, minmax(0, 1fr)) minmax(0, 1.5fr); gap: 32px; padding: 36px 36px 36px 40px; max-width: none; }
.abns .mega h5 { margin: 0 0 14px; font: 700 11px/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--teal); }
.abns .mega ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.abns .mega ul a { display: block; padding: 8px 12px; margin-left: -12px; border-radius: 12px; font-size: 15px; text-decoration: none; color: var(--ink); }
.abns .mega ul a:hover { background: var(--mist); }
.abns .mega .lead-col .h3 { font-size: 28px; }
.abns .feat { background: var(--ink); color: var(--off); display: flex; flex-direction: column; border-radius: var(--r-m); overflow: hidden; }
.abns .feat .ph { height: 150px; border-radius: 0; }
.abns .feat .txt { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.abns .dd { position: absolute; top: calc(100% + 14px); left: -8px; width: 340px; background: var(--white); color: var(--ink); border-radius: var(--r-m); box-shadow: 0 50px 80px -40px rgba(6,19,23,.5), 0 0 0 1px var(--line); padding: 14px 14px 20px; }
.abns .dd ul { list-style: none; margin: 0 0 14px; padding: 0; }
.abns .dd ul a { display: flex; justify-content: space-between; padding: 12px 14px; border-radius: 12px; text-decoration: none; font-size: 15px; color: var(--ink); }
.abns .dd ul a:hover { background: var(--mist); }
.abns .dd .tlink { margin-left: 14px; }
.abns .dd .soonmini { font: 700 9.5px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--teal); background: var(--mist); padding: 5px 8px; border-radius: 999px; align-self: center; }
.abns .mnav { background: var(--ink); color: var(--off); margin: 0 8px 8px; border-radius: var(--r-l); padding: 10px 0 24px; }
.abns .macc { border-bottom: 1px solid var(--line-d); }
.abns .macc > button, .abns .macc > a { width: 100%; min-height: 62px; display: flex; align-items: center; justify-content: space-between; background: none; border: 0; color: var(--off); font: 600 21px/1.1 var(--ff-display); letter-spacing: -.02em; text-decoration: none; cursor: pointer; padding: 0; text-align: left; }
.abns .macc .pm { width: 32px; height: 32px; border-radius: 50%; background: rgba(255,255,255,.08); position: relative; flex: none; }
.abns .macc .pm::before, .abns .macc .pm::after { content: ""; position: absolute; left: 10px; right: 10px; top: 15.25px; height: 1.5px; background: var(--turq); }
.abns .macc .pm::after { transform: rotate(90deg); transition: transform .25s; }
.abns .macc.open .pm { background: var(--turq); }
.abns .macc.open .pm::before, .abns .macc.open .pm::after { background: var(--ink); }
.abns .macc.open .pm::after { transform: rotate(0); }
.abns .macc ul { list-style: none; margin: 0; padding: 0 0 16px; display: grid; gap: 0; }
.abns .macc ul a { display: block; padding: 9px 0; color: var(--muted-d); text-decoration: none; font-size: 15px; }
.abns .macc h6 { margin: 10px 0 2px; font: 700 10.5px/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--turq); }
@keyframes abns-rise{ from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.abns .rise { animation: abns-rise 1s cubic-bezier(.2,.6,.2,1) both; }
.abns .rise.d2 { animation-delay: .12s; }
.abns .rise.d3 { animation-delay: .24s; }
@media (prefers-reduced-motion: reduce) {
.abns *, .abns *::before, .abns *::after { animation: none !important; transition: none !important; }
}
@media (max-width: 1180px) {
.abns .navpill, .abns .hcta { display: none !important; }
.abns .burger { display: inline-flex; }
.abns .mega, .abns .dd { display: none; }
.abns .fcols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.abns .fcols > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
.abns .g12 > * { grid-column: 1 / -1 !important; grid-row: auto !important; }
.abns .irow { grid-template-columns: 44px minmax(0, 1fr) 44px; row-gap: 8px; padding: 22px 20px; }
.abns .irow > :nth-child(3) { grid-column: 2 / 3; }
.abns .irow > :nth-child(4) { grid-column: 3; grid-row: 1; }
.abns .irow .go { width: 40px; height: 40px; }
.abns .irow.two, .abns .irow.cal { grid-template-columns: minmax(0, 1fr); row-gap: 8px; }
.abns .irow.two > *, .abns .irow.cal > * { grid-column: 1 !important; grid-row: auto !important; justify-self: start !important; }
.abns .paths, .abns .pillars { grid-template-columns: minmax(0, 1fr); }
.abns .path { min-height: 0; }
.abns .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.abns .steps { grid-template-columns: minmax(0, 1fr); }
.abns .pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.abns .hero-bar { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.abns .form { grid-template-columns: minmax(0, 1fr); }
.abns .hdr .row { height: 72px; }
.abns .hdr .logo img { height: 30px; }
.abns .subnav { top: 72px; }
.abns .bento-svg, .abns .d-only { display: none !important; }
.abns .m-only { display: block !important; }
.abns .bento { display: flex; flex-direction: column; gap: 10px; }
.abns .bx { position: static !important; width: auto !important; height: auto !important; border-radius: var(--r-l); }
.abns .bx-pad { padding: 28px 22px; }
.abns .bx.m-fill-mist { background: var(--mist); }
.abns .bx.m-fill-teal { background: var(--teal); }
.abns .bx.m-fill-ink { background: var(--ink); }
.abns .m-img { border-radius: var(--r-l); overflow: hidden; aspect-ratio: 4 / 3.4; }
.abns .m-img img { width: 100%; height: 100%; object-fit: cover; }
.abns .hero { min-height: 560px; }
.abns .mega .in { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
.abns .pgrid { grid-template-columns: minmax(0, 1fr); }
.abns .fcols { grid-template-columns: minmax(0, 1fr); }
.abns .hero .bg::after { background: linear-gradient(0deg, rgba(6,19,23,.96) 0%, rgba(6,19,23,.78) 55%, rgba(6,19,23,.35) 100%); }
.abns .faq summary { padding-left: 20px; }
.abns .faq .ans { padding: 0 20px 22px; }
.abns .tabs { border-radius: var(--r-m); }
.abns .stats > div { padding: 20px 16px; }
.abns .display { font-size: 44px; }
}
.abns .stats .num { font-size: clamp(34px, 3.2vw, 50px); }
.abns section > .g12[style*="column-gap: 0"] { padding: 14px; column-gap: 14px !important; }
.abns section > .g12[style*="column-gap: 0"] > .ph { border-radius: var(--r-l); clip-path: polygon(0 0, 100% 0, 100% 78%, 84% 100%, 0 100%); }
@media (max-width: 900px) {
.abns .bento .bx[style] { padding: 26px 22px !important; }
.abns .bento .bx.tags-row { padding: 0 !important; }
.abns .path[style*="translateY"] { transform: none !important; }
}

/* ---- Elementor bridge: let converted widgets render like the canvas markup ---- */
.abns .elementor-widget .elementor-heading-title { font-family: inherit; font-size: inherit; font-weight: inherit; font-style: inherit; line-height: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; margin: 0; padding: 0; }
.abns .elementor-widget .elementor-heading-title a { color: inherit; }
.abns .abx-t { display: inline; }
.abns .abx-h { display: contents; }
.abns .elementor-widget-image.abx-img { height: 100%; }
.abns .elementor-widget-image.abx-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.abns .ph > .abx-img img, .abns .thumb > .abx-img img, .abns .m-img > .abx-img img { transition: transform 1.2s cubic-bezier(.2,.6,.2,1); }
.abns .ph:hover > .abx-img img { transform: scale(1.03); }
.abns .browser .shot > .abx-img img { object-position: top; }
.abns .pcard:hover .shot > .abx-img img { transform: scale(1.04); }
.abns a.e-con { text-decoration: none; color: inherit; }
.abns details > summary { list-style: none; }
.abns .elementor-widget-form .elementor-field-group > label { font: 600 12.5px/1.3 var(--sans); color: var(--ink); }
.abns .elementor-widget-form .elementor-field-textual { font: 400 16px/1.4 var(--sans); color: var(--ink); background: var(--white); border: 1.5px solid transparent; padding: 14px 16px; border-radius: var(--r-s); min-height: 52px; }
.abns .elementor-widget-form .elementor-field-textual:focus { border-color: var(--cyan); outline: none; }
.abns .elementor-widget-form .elementor-button { min-height: 52px; padding: 0 28px; border-radius: 999px; background: var(--ink); color: var(--off); font: 600 14px/1 var(--sans); }
.abns .elementor-widget-form .elementor-button:hover { background: var(--teal-d); }

/* QA: grid items that sit inside display:contents HTML widgets */
@media (max-width: 900px) { .abns .g12 > .abx-h > * { grid-column: 1 / -1 !important; grid-row: auto !important; } }
/* QA: subnav scroller must not widen the mobile layout viewport */
.abns.e-con { flex-wrap: nowrap; }
.abns > .abn { width: 100%; min-width: 0; }
.abns .subnav .wrap { contain: inline-size; }
/* QA: flex/grid rows converted to heading widgets keep their inline children as items */
.abns .elementor-widget-heading:is(.irow, .stack, .bar, .tags-row, .tag, .btn-row, .pmeta, [style*='display: flex'], [style*='display: grid']) > div.elementor-heading-title { display: contents; }
/* QA: keep sticky subnav below the header when the WP admin bar is shown */
@media (min-width: 1181px) { .admin-bar .abns .subnav { top: 120px; } }
/* QA: word labels in index rows (Studio, Portfolio, Resources) overlapped the title at phone width */
@media (max-width: 900px) { .abns .irow:not(.two):not(.cal) { grid-template-columns: minmax(44px, max-content) minmax(0, 1fr) 44px; } }
/* QA: Portfolio filter bar wraps to ~460px on phones; sticky would cover most of the screen */
@media (max-width: 900px) { .abns #projects [style*='position: sticky'] { position: static !important; } }
/* QA: mobile placement for index rows whose items sit inside a heading widget */
@media (max-width: 900px) {
  .abns .irow > .elementor-heading-title > :nth-child(3) { grid-column: 2 / 3; }
  .abns .irow > .elementor-heading-title > :nth-child(4) { grid-column: 3; grid-row: 1; }
  .abns .irow.two > .elementor-heading-title > *, .abns .irow.cal > .elementor-heading-title > * { grid-column: 1 !important; grid-row: auto !important; justify-self: start !important; }
}
/* LEAD: readability fixes for canvas path cards and index-row arrows on dark sections */
.abns .dark .path:nth-child(1), .abns .on-navy .path:nth-child(1) { color: var(--ink); }
.abns .dark .path:nth-child(1) .body, .abns .dark .path:nth-child(1) .small, .abns .on-navy .path:nth-child(1) .body { color: var(--muted); }
.abns .dark .path:nth-child(1) .for, .abns .on-navy .path:nth-child(1) .for { color: var(--teal); }
.abns .dark .path:nth-child(2) .body, .abns .on-navy .path:nth-child(2) .body { color: rgba(255,255,255,.86); }
.abns .dark .path:nth-child(3), .abns .on-navy .path:nth-child(3) { background: rgba(255,255,255,.05); border: 1px solid var(--line-d); }
.abns .dark .irow .go, .abns .on-navy .irow .go, .abns .on-char .irow .go { background: rgba(255,255,255,.08); color: var(--turq); }
.abns .dark a.irow:hover .go, .abns .on-navy a.irow:hover .go { background: var(--turq); color: var(--ink); }
/* ABN-S3-END *//* End custom CSS */