/* TRINITI UI: menu, globe, animated shapes, news list */
.hero-row h1{margin-bottom:0}
.hd{display:flex;gap:10px;align-items:center}
.pill{background:#fff;color:var(--ink);border:0;border-radius:999px;font:500 15px var(--sans);padding:11px 24px;cursor:pointer}
.globe{display:flex;align-items:center;gap:6px;background:transparent;color:#fff;border:1px solid var(--line-d);border-radius:999px;height:42px;padding:0 14px 0 11px;font:500 12px var(--sans);cursor:pointer}
.overlay{position:fixed;inset:0;background:var(--ink);color:#fff;z-index:200;display:none;overflow:auto}
.overlay.open{display:block}
.ov-top{display:flex;justify-content:space-between;align-items:center;height:68px}
.ov-links{list-style:none;margin:40px 0 36px;border-top:1px solid var(--line-d)}
.ov-links li{border-bottom:1px solid var(--line-d)}
.ov-links a{display:flex;align-items:baseline;gap:18px;padding:14px 0;font-family:var(--serif);font-weight:400;font-size:clamp(20px,2.4vw,28px);letter-spacing:-.01em;line-height:1.2}
.ov-links a:hover{color:var(--accent)}
.ov-links .n{font:500 12px var(--sans);color:var(--accent);letter-spacing:.08em;min-width:24px}
.ov-foot{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding-bottom:48px}
.hero-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:56px;position:relative;z-index:1}
.shapes{overflow:visible;display:grid;grid-template-columns:repeat(3,96px);grid-template-rows:96px;flex-shrink:0}
.t{position:relative;width:96px;height:96px}
.t1{background:var(--accent);border-radius:50%}.t1 i{position:absolute;inset:26px;border-radius:50%;background:var(--ink)}
.t2{background:#fff}.t2 i{position:absolute;inset:14px;background:var(--accent);transform:rotate(45deg) scale(.95)}
.t3{background:transparent}.t3 i{position:absolute;inset:14px;border:1px solid rgba(255,255,255,.55);transform:rotate(45deg)}
.t3::after{content:"";position:absolute;inset:34px;border-radius:50%;background:#fff}
@media(max-width:760px){.hero-row{flex-direction:column;align-items:flex-start}.shapes{grid-template-columns:repeat(3,64px);grid-template-rows:64px}.t{width:64px;height:64px}.t1 i{inset:17px}.t2 i,.t3 i{inset:9px}.t3::after{inset:22px}}
.news{background:var(--accent);color:var(--ink)}
.news .h2{margin-bottom:40px}
.news .item{display:block;border-top:1px solid rgba(14,18,20,.3);padding:34px 0 40px}
.news .item:hover .ttl{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.news .lab{display:block;text-align:center;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px}
.news .ttl{display:block;font-size:clamp(22px,2.6vw,30px);line-height:1.25;max-width:880px}
.news .all{display:inline-flex;gap:10px;border-top:1px solid rgba(14,18,20,.3);width:100%;padding-top:30px;font-size:15px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.t{animation:tIn .9s cubic-bezier(.16,1,.3,1) both}
.t1{animation:tIn .9s cubic-bezier(.16,1,.3,1) .2s backwards,tFloat 3s ease-in-out .9s infinite}
.t2{animation-delay:.6s}
.t3{animation-delay:1s}
.t1 i{animation:tPulse 2.4s ease-in-out .9s infinite}
.t2 i{animation:tWobble 3.2s ease-in-out 1.3s infinite}
.t3 i{animation:tSpin 12s linear 1.7s infinite}
.t3::after{animation:tFloat 2.6s ease-in-out 1.7s infinite reverse}
@keyframes tIn{from{opacity:0;transform:translateX(220px)}to{opacity:1;transform:translateX(0)}}
@keyframes tFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes tPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
@keyframes tWobble{0%,100%{transform:rotate(45deg) scale(.95)}25%{transform:rotate(37deg) scale(.95)}75%{transform:rotate(53deg) scale(.95)}}
@keyframes tSpin{from{transform:rotate(45deg)}to{transform:rotate(405deg)}}
@media(prefers-reduced-motion:reduce){.t,.t1,.t1 i,.t2 i,.t3 i,.t3::after{animation:none}}
/* three-line menu button and close button */
.burger{width:44px;height:44px;border-radius:50%;background:#fff;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:transform .2s}
.burger span{display:block;width:18px;height:2px;background:var(--ink)}
.burger:hover{transform:scale(1.06)}
.closex{width:44px;height:44px;border-radius:50%;background:#fff;border:0;position:relative;cursor:pointer}
.closex::before,.closex::after{content:"";position:absolute;left:13px;top:21px;width:18px;height:2px;background:var(--ink)}
.closex::before{transform:rotate(45deg)}.closex::after{transform:rotate(-45deg)}
.overlay a,.overlay a:hover{color:#fff}
.overlay .ov-links a:hover{color:var(--accent)}
.overlay .btn-light{color:var(--ink)}
/* small shapes in the short page headers */
.hero-mini{position:relative}
.shapes.mini{z-index:2}
.shapes.mini{position:absolute;right:32px;bottom:0;grid-template-columns:repeat(3,56px);grid-template-rows:56px}
.shapes.mini .t{width:56px;height:56px}
.shapes.mini .t1 i{inset:15px}.shapes.mini .t2 i,.shapes.mini .t3 i{inset:8px}.shapes.mini .t3::after{inset:20px}
@media(max-width:600px){.shapes.mini{position:relative;right:auto;margin-top:28px}}
/* reveal on scroll */
.rv{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}
/* plain e-mail text (not a link) */
.contact p .em{color:#fff}
.foot .em{color:var(--muted-d)}
.legal .em{color:var(--text);font-weight:500}
.footer-links .em{font-size:13px;color:#B9BEC0}
