:root {
  --ink: #0a1d36;
  --muted: #5f6f82;
  --line: #dce6f0;
  --paper: #ffffff;
  --wash: #f3f7fb;
  --brand: #0867d1;
  --brand-dark: #064a9b;
  --cyan: #14b8e6;
  --navy: #071a35;
  --radius: 22px;
  --shadow: 0 22px 60px rgba(12, 42, 76, .12);
}

html { scroll-behavior: smooth; }
body { color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
a { color: var(--brand); }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 2000; padding: .7rem 1rem; background: #fff; border-radius: .5rem; }
.skip-link:focus { top: 1rem; }
.public-nav { min-height: 76px; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(10,29,54,.08); backdrop-filter: blur(12px); }
.brand-lockup { display: inline-flex; align-items: center; gap: .75rem; color: var(--ink); text-decoration: none; }
.brand-lockup img { object-fit: contain; }
.brand-lockup span { display: flex; flex-direction: column; line-height: 1.12; }
.brand-lockup strong { font-size: 1.08rem; letter-spacing: -.02em; }
.brand-lockup small { margin-top: .22rem; color: var(--muted); font-size: .69rem; letter-spacing: .02em; }
.public-nav .nav-link { color: #34465b; padding: .75rem .7rem !important; font-weight: 600; font-size: .91rem; }
.public-nav .nav-link:hover, .public-nav .nav-link.active { color: var(--brand); }
.public-nav .btn { padding: .58rem .92rem; font-weight: 700; }
.btn-primary { --bs-btn-bg: var(--brand); --bs-btn-border-color: var(--brand); --bs-btn-hover-bg: var(--brand-dark); --bs-btn-hover-border-color: var(--brand-dark); }
.btn-lg { padding: .86rem 1.25rem; font-size: 1rem; font-weight: 700; border-radius: .75rem; }

.eyebrow { display: inline-flex; gap: .45rem; align-items: center; margin-bottom: 1.1rem; color: var(--brand); font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow-light { color: #8bdcff; }
.home-hero { position: relative; overflow: hidden; padding: clamp(5rem, 9vw, 8.5rem) 0; background: radial-gradient(circle at 80% 25%, rgba(20,184,230,.16), transparent 28%), linear-gradient(145deg, #f5faff 0%, #fff 58%); }
.home-hero::before { content: ""; position: absolute; width: 520px; height: 520px; right: -260px; bottom: -250px; border: 1px solid #a8d4ff; border-radius: 50%; box-shadow: 0 0 0 80px rgba(8,103,209,.035), 0 0 0 160px rgba(8,103,209,.025); }
.home-hero h1, .page-hero h1 { max-width: 840px; margin: 0; color: var(--navy); font-size: clamp(3rem, 6vw, 5.7rem); line-height: .99; letter-spacing: -.06em; font-weight: 800; }
.home-hero h1 span { color: var(--brand); }
.hero-lead, .page-hero p { max-width: 700px; margin: 1.6rem 0 0; color: var(--muted); font-size: clamp(1.08rem, 2vw, 1.3rem); line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-top: 2rem; }
.hero-actions .btn-link { color: var(--ink); text-decoration: none; }
.hero-actions .btn-link:hover { color: var(--brand); }
.hero-proof { display: flex; gap: 2rem; margin-top: 3rem; }
.hero-proof div { display: flex; max-width: 145px; flex-direction: column; }
.hero-proof strong { font-size: .98rem; }
.hero-proof span { margin-top: .35rem; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.hero-visual { position: relative; min-height: 470px; border-radius: 45% 55% 52% 48% / 45% 42% 58% 55%; background: linear-gradient(145deg, #07224b, #0867d1); box-shadow: var(--shadow); }
.hero-visual > img { position: absolute; z-index: 2; left: 50%; top: 50%; padding: 18px; transform: translate(-50%,-50%); background: #fff; border-radius: 30px; box-shadow: 0 24px 60px rgba(0,0,0,.22); }
.hero-visual::before, .hero-visual::after { content:""; position: absolute; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; }
.hero-visual::before { inset: 50px; }
.hero-visual::after { inset: 105px; }
.floating-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: .7rem; min-width: 185px; padding: .9rem 1rem; background: rgba(255,255,255,.96); border: 1px solid rgba(255,255,255,.5); border-radius: 14px; box-shadow: 0 14px 32px rgba(5,22,48,.18); }
.floating-card i { color: var(--brand); font-size: 1.5rem; }
.floating-card span { display: flex; flex-direction: column; color: var(--muted); font-size: .72rem; }
.floating-card strong { color: var(--ink); font-size: .88rem; }
.card-records { left: -45px; top: 58px; }
.card-finance { right: -34px; top: 175px; }
.card-people { left: 24px; bottom: 45px; }
.visual-pulse { position: absolute; right: 35px; bottom: 45px; width: 12px; height: 12px; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 10px rgba(255,255,255,.12), 0 0 0 20px rgba(255,255,255,.07); }
.trust-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.trust-strip .container { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-strip .container > div { padding: 1.25rem 1rem; color: #3d5065; text-align: center; font-size: .86rem; font-weight: 700; }
.trust-strip i { margin-right: .5rem; color: var(--brand); }

.section-space { padding: clamp(4.5rem, 8vw, 7.5rem) 0; }
.section-space-sm { padding: 3.5rem 0; }
.section-tint { background: var(--wash); }
.section-heading { margin-bottom: 3.5rem; }
.section-heading h2, .display-title { max-width: 680px; margin: 0; font-size: clamp(2.1rem, 4vw, 3.4rem); line-height: 1.08; letter-spacing: -.045em; font-weight: 800; }
.section-heading p, .large-copy { color: var(--muted); font-size: 1.06rem; line-height: 1.75; }
.split-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 5rem; align-items: end; }
.split-heading p { margin: 0; }
.narrow-heading { max-width: 760px; margin-left: auto; margin-right: auto; }
.narrow-heading h2 { margin-left: auto; margin-right: auto; }
.narrow-heading p { margin: 1.25rem auto 0; }
.value-card { position: relative; height: 100%; padding: 2rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: .25s ease; }
.value-card:hover { transform: translateY(-6px); border-color: #acd4fb; box-shadow: var(--shadow); }
.value-card > span { position: absolute; right: 1.5rem; top: 1.5rem; color: #9caabb; font-size: .75rem; font-weight: 800; }
.value-card > i, .portal-benefit > i { display: grid; width: 52px; height: 52px; margin-bottom: 2rem; place-items: center; color: #fff; background: var(--brand); border-radius: 15px; font-size: 1.35rem; }
.value-card h3, .portal-benefit h3 { font-size: 1.15rem; font-weight: 800; }
.value-card p, .portal-benefit p { margin: .8rem 0 0; color: var(--muted); line-height: 1.65; font-size: .91rem; }
.display-title { margin-bottom: 1.4rem; }
.large-copy { margin-bottom: 1.5rem; }
.text-link { display: inline-flex; align-items: center; gap: .45rem; color: var(--brand); font-weight: 800; text-decoration: none; }
.text-link:hover { gap: .7rem; }
.workflow-panel { display: flex; align-items: center; justify-content: space-between; padding: 2rem; color: #fff; background: var(--navy); border-radius: var(--radius); box-shadow: var(--shadow); }
.workflow-panel > i { color: #5b7799; }
.workflow-step { display: flex; align-items: center; gap: .7rem; }
.workflow-step > span { display: grid; flex: 0 0 36px; width: 36px; height: 36px; place-items: center; background: var(--brand); border-radius: 50%; font-size: .78rem; font-weight: 800; }
.workflow-step div { display: flex; flex-direction: column; }
.workflow-step small { color: #9fb0c5; font-size: .7rem; }
.feature-list-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-top: 1.2rem; }
.feature-list-grid div { padding: .9rem 1rem; background: #fff; border: 1px solid var(--line); border-radius: 12px; color: #42566d; font-size: .82rem; font-weight: 700; }
.feature-list-grid i { margin-right: .4rem; color: var(--brand); }
.portal-preview { display: flex; max-width: 920px; min-height: 410px; margin: 3rem auto 0; overflow: hidden; background: #fff; border: 1px solid #d4dfeb; border-radius: 24px; box-shadow: var(--shadow); }
.portal-sidebar { display: flex; width: 80px; padding: 1.25rem; flex-direction: column; align-items: center; gap: 1.2rem; background: var(--navy); }
.portal-sidebar > span:not(.portal-logo) { width: 26px; height: 5px; background: #3b5270; border-radius: 4px; }
.portal-logo { display:grid; width: 38px; height: 38px; margin-bottom: 1.5rem; place-items:center; color: #fff; background: var(--brand); border-radius: 10px; font-weight: 900; }
.portal-content { flex: 1; padding: 2rem; background: #f6f9fc; }
.portal-top { display: flex; align-items: center; justify-content: space-between; }
.portal-top div { display: flex; flex-direction: column; }
.portal-top small { color: var(--muted); }
.portal-top strong { font-size: 1.25rem; }
.avatar { display: grid; width: 42px; height: 42px; place-items: center; color: var(--brand); background: #dcecff; border-radius: 50%; }
.portal-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-top: 2rem; }
.portal-stats > div { display: flex; gap: .8rem; align-items: center; padding: 1.3rem; background: #fff; border: 1px solid #e3eaf1; border-radius: 14px; }
.portal-stats i { color: var(--brand); font-size: 1.3rem; }
.portal-stats span { display: flex; flex-direction: column; }
.portal-stats small { color: var(--muted); font-size: .69rem; }
.portal-lines { margin-top: 1.5rem; padding: 1.6rem; background:#fff; border:1px solid #e3eaf1; border-radius:14px; }
.portal-lines span { display:block; height:10px; margin:.9rem 0; background:#e8eef5; border-radius:5px; }
.portal-lines span:nth-child(2) { width: 74%; }
.portal-lines span:nth-child(3) { width: 88%; }
.cta-band { padding: 4.5rem 0; color: #fff; background: linear-gradient(120deg, #061830, #075bbd); }
.cta-band .container { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.cta-band h2 { max-width: 740px; margin: 0; font-size: clamp(2rem,4vw,3.1rem); letter-spacing:-.04em; font-weight:800; }

.page-hero { padding: clamp(5rem, 9vw, 8rem) 0; overflow:hidden; background: radial-gradient(circle at 85% 25%, rgba(20,184,230,.14), transparent 25%), var(--wash); border-bottom: 1px solid var(--line); }
.page-hero h1 { font-size: clamp(2.8rem,5vw,4.8rem); }
.page-hero .col-lg-4 p { margin-top: 0; font-size: 1.05rem; }
.compact-hero { padding: 5rem 0; }
.compact-hero h1, .compact-hero p { margin-left: auto; margin-right: auto; }
.compact-hero .btn { margin-top: 2rem; }
.feature-chapter { display: grid; grid-template-columns: 70px .8fr 1.35fr; gap: 2.5rem; padding: 0 0 6rem; margin-bottom: 6rem; border-bottom: 1px solid var(--line); }
.chapter-number { color: #96a8ba; font-weight: 800; }
.chapter-copy h2 { font-size: clamp(1.8rem,3vw,2.7rem); letter-spacing:-.04em; font-weight:800; }
.chapter-copy p { color: var(--muted); line-height:1.7; }
.chapter-items { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.chapter-items article { padding:1.6rem; background:var(--wash); border-radius:16px; }
.chapter-items i { color:var(--brand); font-size:1.4rem; }
.chapter-items h3 { margin-top:1rem; font-size:1rem; font-weight:800; }
.chapter-items p { margin:0; color:var(--muted); font-size:.85rem; line-height:1.6; }
.admin-scorecard { padding:2rem; color:#fff; background:var(--navy); border-radius:var(--radius); box-shadow:var(--shadow); }
.admin-scorecard > span { display:block; margin-bottom:1rem; color:#9fb0c5; font-size:.76rem; text-transform:uppercase; letter-spacing:.1em; }
.admin-scorecard > div { display:flex; justify-content:space-between; padding:1rem 0; border-bottom:1px solid #29405e; }
.admin-scorecard i { color:#3bdfaa; }
.admin-scorecard small { display:block; margin-top:1.4rem; color:#9fb0c5; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.process-grid article { position:relative; padding:2rem 1.5rem; border:1px solid var(--line); border-radius:var(--radius); }
.process-grid article > span { position:absolute; top:1rem; right:1.2rem; color:#a4b2c1; font-weight:800; }
.process-grid i { color:var(--brand); font-size:1.7rem; }
.process-grid h3 { margin-top:2rem; font-size:1.15rem; font-weight:800; }
.process-grid p { color:var(--muted); font-size:.88rem; line-height:1.65; }
.photo-frame { position:relative; padding:0 2rem 2rem 0; }
.photo-frame::after { content:""; position:absolute; z-index:0; inset:2rem 0 0 2rem; background:var(--brand); border-radius:var(--radius); }
.photo-frame img { position:relative; z-index:1; width:100%; min-height:430px; object-fit:cover; border-radius:var(--radius); }
.photo-frame div { position:absolute; z-index:2; left:2rem; right:4rem; bottom:0; display:flex; flex-direction:column; padding:1.2rem; color:#fff; background:rgba(7,26,53,.92); border-radius:14px; }
.photo-frame div span { margin-top:.3rem; color:#c5d2df; font-size:.82rem; }
.benefit-stack { display:grid; gap:1.2rem; margin-top:2rem; }
.benefit-stack > div { display:flex; gap:1rem; }
.benefit-stack i { display:grid; flex:0 0 44px; width:44px; height:44px; place-items:center; color:var(--brand); background:#dfeeff; border-radius:12px; }
.benefit-stack span { display:flex; flex-direction:column; }
.benefit-stack small { margin-top:.35rem; color:var(--muted); line-height:1.55; }
.comparison-callout { padding:clamp(2rem,5vw,4rem); color:#fff; background:var(--navy); border-radius:28px; }
.comparison-callout > div:first-child { max-width:700px; }
.comparison-callout h2 { font-size:clamp(2rem,4vw,3rem); letter-spacing:-.04em; font-weight:800; }
.before-after { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2rem; margin-top:2.5rem; }
.before-after > div { display:grid; gap:.6rem; padding:1.5rem; background:#102947; border-radius:16px; }
.before-after > div.after { background:#0754aa; }
.before-after span { color:#c0cede; font-size:.88rem; }
.tenant-window { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); transform:rotate(1deg); }
.window-bar { display:flex; align-items:center; gap:.35rem; padding:.8rem 1rem; background:#eaf0f6; }
.window-bar > span { width:8px; height:8px; background:#9aabbc; border-radius:50%; }
.window-bar small { margin-left:auto; color:var(--muted); }
.window-body { display:grid; grid-template-columns:70px 1fr; min-height:360px; }
.window-body aside { display:flex; flex-direction:column; align-items:center; gap:1.5rem; padding:1.2rem; color:#68809d; background:var(--navy); }
.window-body aside b { display:grid; width:34px; height:34px; place-items:center; color:#fff; background:var(--brand); border-radius:9px; }
.window-body > div { padding:2rem; background:#f5f8fb; }
.welcome-line { display:block; width:45%; height:18px; background:#cdd9e5; border-radius:8px; }
.tenant-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; margin-top:2rem; }
.tenant-cards span { display:grid; height:95px; place-items:center; color:var(--brand); background:#fff; border:1px solid #e0e8ef; border-radius:12px; font-size:1.5rem; }
.tenant-table { display:grid; gap:.7rem; margin-top:1rem; padding:1.2rem; background:#fff; border-radius:12px; }
.tenant-table i { height:8px; background:#e5ebf2; border-radius:5px; }
.portal-benefit { height:100%; padding:2rem; background:#fff; border:1px solid var(--line); border-radius:var(--radius); }
.outcome-list { display:grid; gap:1rem; }
.outcome-list > div { padding:1.5rem 1.7rem; border-left:4px solid var(--brand); background:#fff; border-radius:0 14px 14px 0; box-shadow:0 10px 30px rgba(12,42,76,.06); }
.outcome-list p { margin:.35rem 0 0; color:var(--muted); }
.contact-detail { height:100%; padding:2rem; border:1px solid var(--line); border-radius:var(--radius); }
.contact-detail i { color:var(--brand); font-size:1.5rem; }
.contact-detail h2 { margin-top:1rem; font-size:1.05rem; font-weight:800; }
.contact-detail p { margin:0; color:var(--muted); }
.legal-page { background:var(--wash); }
.legal-document { max-width:900px; margin:0 auto; padding:clamp(1.5rem,5vw,4rem); background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.legal-document header h2 { margin-bottom:2.5rem; font-size:clamp(2.2rem,4vw,3.5rem); letter-spacing:-.04em; font-weight:800; }
.legal-document h3 { margin:2.5rem 0 1rem; font-size:1.25rem; font-weight:800; }
.legal-document h4 { color:#455970; font-size:.98rem; line-height:1.75; font-weight:400; }
.legal-document li { margin-bottom:.75rem; }

.contact-section { padding:clamp(4.5rem,8vw,7rem) 0; color:#fff; background:linear-gradient(145deg,#071a35,#092c58); }
.contact-shell { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.contact-intro h2 { max-width:520px; margin:0; font-size:clamp(2.2rem,4vw,3.5rem); line-height:1.08; letter-spacing:-.045em; font-weight:800; }
.contact-intro > p { max-width:540px; margin:1.3rem 0; color:#b8c8da; font-size:1.04rem; line-height:1.7; }
.contact-points { display:grid; gap:.8rem; margin:2rem 0; }
.contact-points div { display:flex; gap:.65rem; align-items:center; color:#d8e3ee; font-size:.9rem; }
.contact-points i { color:#42d9a5; }
.contact-intro .contact-email { color:#91a6bd; font-size:.85rem; }
.contact-email a { color:#fff; }
.contact-card { padding:clamp(1.5rem,4vw,2.5rem); color:var(--ink); background:#fff; border-radius:var(--radius); box-shadow:0 25px 70px rgba(0,0,0,.25); }
.contact-card .form-label { margin-bottom:.4rem; font-size:.82rem; font-weight:800; }
.contact-card .form-label span { color:#8190a1; font-weight:500; }
.contact-card .form-control, .contact-card .form-select { min-height:50px; border-color:#ccd7e2; border-radius:10px; }
.contact-card textarea.form-control { min-height:128px; }
.contact-card .form-control:focus, .contact-card .form-select:focus { border-color:#63aaf1; box-shadow:0 0 0 .2rem rgba(8,103,209,.12); }
.contact-card .btn { display:flex; justify-content:center; align-items:center; gap:.6rem; color:#fff; background:var(--brand); border-color:var(--brand); }
.contact-card .btn:hover { background:var(--brand-dark); }
.privacy-note { margin:.75rem 0 0; color:#7c8a9a; text-align:center; font-size:.7rem; }
.contact-status { display:none; margin-bottom:.8rem; padding:.75rem 1rem; border-radius:8px; font-size:.84rem; }
.contact-status.is-success { display:block; color:#08683f; background:#e4f8ef; }
.contact-status.is-error { display:block; color:#9e2730; background:#ffeaec; }

.public-footer { padding:4.5rem 0 1.5rem; color:#9eafc2; background:#041122; }
.footer-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:3rem; }
.brand-lockup-light { color:#fff; }
.brand-lockup-light small { color:#8fa4bb; }
.footer-brand p { max-width:390px; margin:1.4rem 0; line-height:1.65; }
.malta-badge { display:inline-flex; gap:.45rem; align-items:center; padding:.45rem .7rem; color:#bcd0e5; background:#0d223e; border-radius:999px; font-size:.75rem; }
.footer-grid h2 { margin-bottom:1.2rem; color:#fff; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; }
.footer-grid > div:not(.footer-brand) { display:flex; flex-direction:column; gap:.75rem; }
.footer-grid a { color:#9eafc2; text-decoration:none; font-size:.85rem; }
.footer-grid a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:1rem; margin-top:4rem; padding-top:1.5rem; border-top:1px solid #172a43; font-size:.75rem; }

@media (max-width: 991.98px) {
  .public-nav .navbar-collapse { padding:1rem 0; }
  .public-nav .btn { width:100%; margin-top:.4rem; }
  .hero-visual { max-width:540px; margin:1rem auto 0; }
  .split-heading, .contact-shell { grid-template-columns:1fr; gap:2rem; }
  .feature-chapter { grid-template-columns:50px 1fr; }
  .chapter-items { grid-column:2; }
  .process-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:2fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column:2; }
}

@media (max-width: 767.98px) {
  .home-hero { padding-top:4rem; }
  .hero-proof { gap:1rem; }
  .hero-visual { min-height:390px; }
  .floating-card { min-width:160px; padding:.7rem; }
  .card-records { left:8px; }
  .card-finance { right:8px; }
  .trust-strip .container { grid-template-columns:1fr 1fr; }
  .split-heading { gap:1.2rem; }
  .workflow-panel { align-items:stretch; flex-direction:column; }
  .workflow-panel > i { transform:rotate(90deg); align-self:center; }
  .feature-list-grid, .portal-stats, .chapter-items { grid-template-columns:1fr; }
  .portal-sidebar { width:55px; padding:1rem .5rem; }
  .portal-content { padding:1rem; }
  .portal-preview { min-height:360px; }
  .cta-band .container { align-items:flex-start; flex-direction:column; }
  .feature-chapter { display:block; padding-bottom:3rem; margin-bottom:3rem; }
  .chapter-number { margin-bottom:1rem; }
  .chapter-items { margin-top:1.5rem; }
  .process-grid { grid-template-columns:1fr; }
  .before-after { grid-template-columns:1fr; }
  .before-after > i { transform:rotate(90deg); justify-self:center; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1 / -1; }
  .footer-grid > div:last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
}

@media (max-width: 480px) {
  .brand-lockup small { display:none; }
  .home-hero h1, .page-hero h1 { font-size:2.65rem; }
  .hero-proof { flex-direction:column; }
  .hero-proof div { max-width:none; }
  .hero-visual { min-height:350px; }
  .hero-visual > img { width:108px; height:108px; }
  .floating-card { min-width:145px; }
  .floating-card span { font-size:.64rem; }
  .floating-card strong { font-size:.77rem; }
  .card-people { left:8px; }
  .trust-strip .container { grid-template-columns:1fr; }
  .trust-strip .container > div { border-bottom:1px solid var(--line); }
  .footer-grid { grid-template-columns:1fr; }
  .footer-brand, .footer-grid > div:last-child { grid-column:auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; }
}
