:root{--tup-navy:#0a2240;--tup-blue:#0d5cab;--tup-cyan:#18a7c9;--tup-gold:#d9a441;--tup-ink:#172033;--tup-muted:#687385;--tup-soft:#f4f7fb;--tup-line:#e3e9f1;--tup-white:#fff}.tup-site-block,.tup-site-block *{box-sizing:border-box}.tup-site-block,.tup-page-hero,.tup-contact-grid,.tup-card-grid,.tup-logo-grid,.tup-people-grid,.tup-gallery-grid{font-family:inherit}.tup-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:34px;align-items:center;padding:64px;border-radius:28px;background:linear-gradient(135deg,#071d37 0%,#0d5cab 68%,#18a7c9 100%);color:#fff;overflow:hidden;position:relative}.tup-hero:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-110px;top:-130px;background:rgba(255,255,255,.09)}.tup-kicker,.tup-eyebrow{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--tup-cyan)}.tup-hero .tup-kicker{color:#8cecff}.tup-hero h1{font-size:clamp(38px,6vw,72px);line-height:1.02;margin:12px 0 18px;max-width:850px;color:#fff}.tup-hero p{font-size:18px;line-height:1.7;max-width:720px;color:rgba(255,255,255,.86)}.tup-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.tup-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:12px;text-decoration:none!important;font-weight:800}.tup-btn-primary{background:var(--tup-gold);color:#172033!important}.tup-btn-ghost{border:1px solid rgba(255,255,255,.4);color:#fff!important;background:rgba(255,255,255,.06)}.tup-hero-mark{display:flex;align-items:center;justify-content:center;min-height:250px;position:relative;z-index:1}.tup-hero-mark img{max-width:260px;max-height:220px;object-fit:contain;filter:drop-shadow(0 18px 32px rgba(0,0,0,.22))}.tup-logo-placeholder{width:190px;height:190px;border-radius:42px;display:grid;place-items:center;font-weight:900;font-size:54px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);backdrop-filter:blur(12px)}.tup-section{padding:64px 0}.tup-section-soft{background:var(--tup-soft);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:max(24px,calc((100vw - 1180px)/2));padding-right:max(24px,calc((100vw - 1180px)/2))}.tup-section-head{max-width:720px;margin-bottom:30px}.tup-section-head h2,.tup-page-hero h1{font-size:clamp(30px,4vw,48px);line-height:1.08;margin:8px 0 12px;color:var(--tup-ink)}.tup-section-head p{color:var(--tup-muted);font-size:16px;line-height:1.7}.tup-page-hero{padding:46px 0 32px}.tup-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.tup-card{border:1px solid var(--tup-line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(20,43,74,.05)}.tup-card-image{display:block;aspect-ratio:16/10;overflow:hidden;background:#eaf0f7}.tup-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.tup-card:hover .tup-card-image img{transform:scale(1.035)}.tup-card-icon{width:56px;height:56px;margin:24px 24px 0;border-radius:16px;display:grid;place-items:center;background:var(--tup-soft);font-size:26px}.tup-card-body{padding:24px}.tup-card-body h3{font-size:21px;line-height:1.25;margin:0 0 12px}.tup-card-body h3 a{color:var(--tup-ink);text-decoration:none}.tup-card-body p{color:var(--tup-muted);line-height:1.65;margin:0 0 14px}.tup-text-link{font-weight:800;color:var(--tup-blue);text-decoration:none}.tup-meta{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--tup-muted);margin-bottom:10px}.tup-logo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.tup-logo-card{min-height:110px;display:flex;align-items:center;justify-content:center;padding:18px;border:1px solid var(--tup-line);border-radius:16px;background:#fff;text-decoration:none;color:var(--tup-ink);font-weight:800;text-align:center}.tup-logo-card img{width:100%;height:70px;object-fit:contain}.tup-people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.tup-person-card{border:1px solid var(--tup-line);border-radius:18px;overflow:hidden;background:#fff}.tup-person-photo{aspect-ratio:4/4.6;background:#edf2f7;overflow:hidden}.tup-person-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.tup-person-copy{padding:18px}.tup-person-copy h3{margin:0 0 5px;font-size:19px}.tup-person-copy p{margin:0;color:var(--tup-muted)}.tup-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}.tup-info-card{padding:26px;border-radius:18px;border:1px solid var(--tup-line);background:#fff}.tup-prose{font-size:17px;line-height:1.75}.tup-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tup-gallery-card{position:relative;display:block;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#eaf0f7;text-decoration:none}.tup-gallery-card img{width:100%;height:100%;object-fit:cover}.tup-gallery-card span{position:absolute;left:12px;right:12px;bottom:12px;padding:12px 14px;border-radius:12px;background:rgba(7,29,55,.82);color:#fff;font-weight:800;backdrop-filter:blur(8px)}.tup-contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px}.tup-contact-card,.tup-map{border:1px solid var(--tup-line);border-radius:18px;background:#fff;overflow:hidden}.tup-contact-card{padding:28px}.tup-contact-card p{line-height:1.65}.tup-map iframe{display:block;width:100%!important;min-height:420px;border:0}.tup-empty{grid-column:1/-1;padding:28px;border:1px dashed #c7d2e2;border-radius:16px;text-align:center;color:var(--tup-muted);background:#fff}@media(max-width:900px){.tup-hero{grid-template-columns:1fr;padding:38px 26px}.tup-hero-mark{min-height:160px;justify-content:flex-start}.tup-card-grid,.tup-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tup-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tup-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tup-contact-grid{grid-template-columns:1fr}}@media(max-width:560px){.tup-card-grid,.tup-gallery-grid,.tup-two-col{grid-template-columns:1fr}.tup-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tup-people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tup-person-copy{padding:14px}.tup-section{padding:46px 0}.tup-hero h1{font-size:40px}.tup-btn{width:100%}}
