/* LOGO */
.ul-wordmark{font-family:var(--f-sans);font-weight:700;letter-spacing:-.02em;line-height:1;background:var(--ul-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}
html[data-theme="dark"] .ul-wordmark{filter:drop-shadow(0 0 12px rgba(184,51,142,.35)) drop-shadow(0 0 24px rgba(138,114,207,.15))}
.ul-tagline{font-family:var(--f-sans);font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--tag-color)}

/* NAV */
.topstrip{height:4px;background:var(--ul-grad);position:relative;z-index:2}
html[data-theme="dark"] .topstrip{box-shadow:0 0 16px rgba(184,51,142,.4), 0 0 32px rgba(138,114,207,.2)}
.nav{position:sticky;top:0;z-index:50;background:color-mix(in oklab, var(--bg-1) 82%, transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:background .4s var(--ease-out), border-color .4s var(--ease-out)}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:14px var(--pad);display:flex;align-items:center;gap:28px}
.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav-brand .wm{font-size:20px}
.nav-brand .tg{display:none}
@media(min-width:900px){.nav-brand .tg{display:inline-block;font-size:8.5px;letter-spacing:.22em}}
.nav-center{display:none;gap:4px;margin-left:24px}
@media(min-width:960px){.nav-center{display:flex}}
.nav-center a{padding:8px 14px;font-size:13px;font-weight:500;color:var(--ink-2);text-decoration:none;border-radius:var(--r-md);transition:background .2s, color .2s}
.nav-center a:hover{background:var(--bg-3);color:var(--ink)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:8px}
.theme-toggle{width:34px;height:34px;border-radius:50%;background:var(--bg-2);border:1px solid var(--border);color:var(--ink);cursor:pointer;display:inline-grid;place-items:center;transition:background .2s, transform .2s}
.theme-toggle:hover{background:var(--bg-3);transform:rotate(15deg)}
.theme-toggle svg{width:16px;height:16px}

.btn{font-family:var(--f-sans);font-size:13px;font-weight:500;padding:9px 18px;border-radius:var(--r-md);border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:transform .2s, box-shadow .2s, background .2s}
.btn-primary{background:var(--navy-2);color:var(--navy-ink)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-outline{background:transparent;color:var(--navy);border:1.5px solid var(--navy);padding:7.5px 16.5px}
.btn-outline:hover{background:var(--navy);color:var(--navy-ink)}
.btn-grad{background:var(--ul-grad);color:white;box-shadow:0 4px 16px rgba(184,51,142,.25)}
.btn-grad:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(184,51,142,.35)}

/* HERO */
.hero{padding:clamp(48px,8vh,96px) 0 clamp(60px,9vh,120px);position:relative}
.hero-meta{display:flex;align-items:center;gap:14px;font-family:var(--f-sans);font-size:10.5px;color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin-bottom:28px}
.hero-meta .dot{width:6px;height:6px;border-radius:50%;background:var(--c-rose);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}
.hero h1{font-family:var(--f-sans);font-weight:700;font-size:clamp(56px,9.5vw,148px);line-height:.92;letter-spacing:-.03em;margin:0}
.hero h1 .w{background:var(--ul-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block;padding-right:.08em;margin-right:-.04em}
html[data-theme="dark"] .hero h1 .w{filter:drop-shadow(0 0 18px rgba(184,51,142,.35)) drop-shadow(0 0 36px rgba(138,114,207,.2))}
.hero h1 .tag{display:block;font-family:var(--f-sans);font-weight:700;font-size:clamp(20px,2.5vw,40px);letter-spacing:.28em;color:var(--navy);text-transform:uppercase;margin-top:6px}
.hero-lede{max-width:62ch;color:var(--ink-2);font-size:clamp(16px,1.3vw,19px);line-height:1.6;margin-top:36px;text-align:justify;hyphens:auto}
.hero-lede strong{font-weight:600;color:var(--ink)}
.hero-stats{display:flex;gap:60px;flex-wrap:wrap;margin-top:56px;padding-top:26px;border-top:1px solid var(--border)}
.hero-stats > div{display:flex;flex-direction:column;gap:4px}
.hero-stats .k{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.hero-stats .v{font-family:var(--f-serif);font-size:28px;line-height:1;color:var(--ink)}
.hero-stats .v em{font-style:italic;background:linear-gradient(90deg,#8A72CF,#B8338E);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* BASCULE */
.split{padding:clamp(60px,8vh,100px) 0 0;position:relative}
.split-intro{text-align:center;max-width:60ch;margin:0 auto clamp(36px,5vh,60px)}
.split-intro .eyebrow{display:inline-block;margin-bottom:14px}
.split-intro h2{font-family:var(--f-serif);font-size:clamp(32px,4vw,56px);line-height:1.1;letter-spacing:-.015em;margin:0}
.split-intro h2 em{font-style:italic}
.split-intro p{color:var(--muted);margin-top:14px;font-size:15px;line-height:1.6}
.split-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
@media(max-width:900px){.split-grid{grid-template-columns:1fr}}
.split-card{position:relative;padding:48px 44px;min-height:520px;display:flex;flex-direction:column;text-decoration:none;color:inherit;overflow:hidden;isolation:isolate;border:1px solid var(--border);transition:border-color .4s}
.split-card + .split-card{border-left:none}
@media(max-width:900px){.split-card + .split-card{border-left:1px solid var(--border);border-top:none}}
.split-card .wash{position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .6s;mix-blend-mode:overlay}
.split-card[data-side="talent"] .wash{background:radial-gradient(ellipse at 30% 30%, rgba(138,114,207,.4), transparent 50%),radial-gradient(ellipse at 80% 70%, rgba(191,51,114,.35), transparent 55%)}
.split-card[data-side="ia"] .wash{background:radial-gradient(ellipse at 70% 30%, rgba(36,168,217,.4), transparent 50%),radial-gradient(ellipse at 20% 75%, rgba(90,190,164,.4), transparent 55%)}
.split-card:hover .wash{opacity:1}
.split-card .num{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:var(--muted);margin-bottom:16px}
.split-card .title{font-family:var(--f-serif);font-size:clamp(44px,5.8vw,84px);line-height:.95;letter-spacing:-.02em;margin:0 0 16px;white-space:nowrap}
.split-card .title em{font-style:italic}
.split-card[data-side="talent"] .title em{background:linear-gradient(90deg,#8A72CF,#B8338E,#D15948);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block;padding-right:.08em;margin-right:-.04em}
.split-card[data-side="ia"] .title em{background:linear-gradient(90deg,#5ABEA4,#24A8D9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block;padding-right:.08em;margin-right:-.04em}
.split-card .psub{font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:24px}
.split-card[data-side="talent"] .psub{color:var(--c-rose)}
.split-card[data-side="ia"] .psub{color:var(--c-bleu)}
.split-card .desc{color:var(--ink-2);font-size:15px;line-height:1.65;max-width:44ch;margin-bottom:28px}
.split-card .list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:36px}
.split-card .list li{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--ink-2)}
.split-card .list li::before{content:'';width:6px;height:6px;border-radius:50%}
.split-card[data-side="talent"] .list li::before{background:var(--c-rose)}
.split-card[data-side="ia"] .list li::before{background:var(--c-bleu)}
.split-card .enter{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:500;padding:10px 16px 10px 18px;border-radius:var(--r-pill);border:1px solid var(--ink-2);color:var(--ink);transition:all .3s var(--ease-out);align-self:flex-start}
.split-card:hover .enter{padding-right:22px}
.split-card[data-side="talent"]:hover .enter{background:linear-gradient(90deg,#8A72CF,#B8338E);border-color:transparent;color:white}
.split-card[data-side="ia"]:hover .enter{background:linear-gradient(90deg,#5ABEA4,#24A8D9);border-color:transparent;color:white}
.split-card:hover .enter .arrow{transform:translateX(4px)}
.split-card .enter .arrow{transition:transform .3s}
.split-card .edge-label{position:absolute;top:24px;right:24px;font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.split-card[data-side="talent"] .edge-label::before{content:'';display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;vertical-align:-1px;background:linear-gradient(135deg,#8A72CF,#B8338E)}
.split-card[data-side="ia"] .edge-label::before{content:'';display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;vertical-align:-1px;background:linear-gradient(135deg,#5ABEA4,#24A8D9)}
.split-card .strip{height:3px;border-radius:2px;margin-bottom:24px;width:40%;transition:width .5s var(--ease-out)}
.split-card[data-side="talent"] .strip{background:linear-gradient(90deg,#8A72CF,#A64FB8,#B8338E,#BF3372,#D15948,#E4A728)}
.split-card[data-side="ia"] .strip{background:linear-gradient(90deg,#C0BC25,#5ABEA4,#24A8D9)}
.split-card:hover .strip{width:88%}

/* STATS */
.stats-strip{padding:36px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-2)}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
@media(max-width:760px){.stats-row{grid-template-columns:1fr 1fr}}
.stats-row > div{padding:0 24px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:4px}
.stats-row > div:last-child{border-right:none}
.stats-row .k{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;color:var(--muted)}
.stats-row .v{font-family:var(--f-serif);font-size:clamp(28px,3vw,44px);line-height:1;color:var(--ink)}
.stats-row .v em{font-style:italic;background:linear-gradient(90deg,#B8338E,#D15948);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* CTA */
.cta{padding:clamp(80px,12vh,140px) 0 clamp(100px,14vh,160px);background:var(--surface-dark);color:var(--on-surface-dark);position:relative;overflow:hidden}
.cta::after{content:'';position:absolute;width:900px;height:900px;right:-300px;top:-300px;background:radial-gradient(circle,rgba(138,114,207,.35),transparent 60%);filter:blur(60px)}
.cta .container{position:relative;z-index:1}
.cta-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:end}
@media(max-width:900px){.cta-inner{grid-template-columns:1fr;gap:48px}}
.cta h2{font-family:var(--f-serif);font-size:clamp(48px,7vw,108px);line-height:.96;letter-spacing:-.025em;margin:0}
.cta h2 em{font-style:italic;background:var(--ul-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 24px rgba(184,51,142,.4));padding-right:.12em;margin-right:-.06em;display:inline-block;line-height:1.05}
.cta .copy{color:rgba(255,255,255,.7);font-size:16px;line-height:1.65;margin-top:22px;max-width:48ch;text-align:justify;hyphens:auto}
.cta-actions{display:flex;flex-direction:column;gap:14px}
.cta-actions .btn{justify-content:center;padding:16px 20px;font-size:14px}
.cta-actions .btn-outline{background:transparent;color:white;border:1px solid rgba(255,255,255,.3)}
.cta-actions .btn-outline:hover{background:rgba(255,255,255,.08);border-color:white}
.cta-actions .email{margin-top:8px;font-family:var(--f-mono);font-size:12px;color:rgba(255,255,255,.5);text-align:center}
.cta-actions .email a{color:rgba(255,255,255,.85);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}

/* FOOTER */
.foot{background:var(--surface-dark);color:var(--on-surface-dark);padding:80px 0 30px;position:relative;overflow:hidden}
.foot::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--ul-grad);box-shadow:0 0 20px rgba(184,51,142,.3)}
.foot-inner{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:48px}
@media(max-width:760px){.foot-inner{grid-template-columns:1fr 1fr;gap:32px}}
.foot h5{font-family:var(--f-sans);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:16px}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.foot a{color:rgba(255,255,255,.78);text-decoration:none;font-size:13px;transition:color .2s}
.foot a:hover{color:white}
.foot-brand .wm{font-size:32px}
.foot-brand .tg{display:inline-block;margin-top:8px;color:#7B8FE8}
.foot-desc{margin-top:20px;color:rgba(255,255,255,.6);font-size:13px;line-height:1.65;max-width:34ch}
.foot-big{margin-top:72px;font-family:var(--f-sans);font-weight:700;font-size:clamp(72px,12.5vw,170px);line-height:.85;letter-spacing:-.035em;background:var(--ul-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:.5;white-space:normal;overflow:visible;padding-right:.06em;max-width:100%;overflow-wrap:anywhere}
@media(max-width:1024px){.foot-big{font-size:clamp(48px,11vw,120px)}}
@media(max-width:768px){.foot-big{font-size:clamp(36px,11vw,72px);letter-spacing:-.025em;margin-top:48px}}
@media(max-width:480px){.foot-big{font-size:clamp(28px,10.5vw,52px);line-height:.9;margin-top:40px}}
.foot-bottom{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:11.5px;color:rgba(255,255,255,.45);letter-spacing:.05em}

/* TWEAKS */
.tweaks-panel{position:fixed;bottom:24px;right:24px;z-index:100;background:var(--bg-2);border:1px solid var(--border);padding:18px 20px;border-radius:var(--r-2xl);width:280px;display:none;flex-direction:column;gap:18px;font-family:var(--f-sans);box-shadow:var(--shadow-lg)}
html[data-edit="on"] .tweaks-panel{display:flex}
.tweaks-panel h6{font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0}
.tweaks-panel .group{display:flex;flex-direction:column;gap:8px}
.tweaks-panel .row{display:flex;gap:6px;flex-wrap:wrap}
.tweaks-panel .chip{padding:6px 11px;font-size:11.5px;border:1px solid var(--border);border-radius:var(--r-pill);cursor:pointer;color:var(--ink-2);background:transparent;font-family:var(--f-sans);transition:all .2s}
.tweaks-panel .chip:hover{border-color:var(--ink-2)}
.tweaks-panel .chip.active{background:var(--navy-2);color:var(--navy-ink);border-color:var(--navy-2)}
.tweaks-panel .title{font-size:12px;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:center}
.tweaks-panel .title .close{cursor:pointer;color:var(--muted);font-size:18px;line-height:1}

/* GRAIN */
.page-grain{position:fixed;inset:0;pointer-events:none;z-index:3;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");opacity:.035;mix-blend-mode:multiply}
html[data-theme="dark"] .page-grain{mix-blend-mode:screen;opacity:.05}
html[data-grain="off"] .page-grain{display:none}
html[data-grad="subtle"] .hero h1 .w{filter:saturate(.7)}
html[data-grad="expressive"] .hero h1 .w{filter:saturate(1.15)}

/* === SAFARI WEBKIT FIX — gradient italic text clipping === */
.ul-wordmark,
.hero h1 .w,
.hero-stats .v em,
.split-card[data-side="talent"] .title em,
.split-card[data-side="ia"] .title em,
.stats-row .v em,
.sec-head h2 em,
.approach .sec-head h2 em,
.arck-head h2 em,
.piliers-ia .sec-head h2 em,
.manifesto blockquote .grad-em,
.apr-card .num,
.cta h2 em,
.foot-big{
  padding-bottom:.12em;
  padding-top:.04em;
  padding-right:.12em;
  margin-right:-.08em;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}
.hero h1 .w,
.split-card .title em,
.sec-head h2 em,
.arck-head h2 em,
.manifesto blockquote .grad-em,
.cta h2 em{
  line-height:1.05;
}
@supports (-webkit-hyphens:none){
  .hero h1 .w,
  .split-card .title em,
  .sec-head h2 em,
  .arck-head h2 em,
  .manifesto blockquote .grad-em,
  .cta h2 em,
  .foot-big{
    padding-bottom:.18em;
  }
  .ul-wordmark{padding-bottom:.08em}
}
.split-card .title{overflow:visible;padding-bottom:.1em}
.split-card{overflow:visible}
/* === END SAFARI FIX === */

