
:root {
  --page-primary: #dc143c;
  --page-dark: #171717;
  --page-muted: #666;
  --page-border: #e8e8e8;
  --page-soft: #f7f7f8;
}

body.internal-page { margin: 0; background: #fff; color: #222; }
.internal-page .navbar { min-height: 68px; }
.internal-page .navbar-brand { display:flex; align-items:center; gap:10px; color:#111; }
.internal-page .navbar-brand:hover { color:var(--page-primary); }
.internal-page .top-link { color:#333; text-decoration:none; padding:.5rem .75rem; border-radius:6px; }
.internal-page .top-link:hover { color:var(--page-primary); background:#f7f7f7; }
.page-hero { min-height: 430px; padding: 150px 0 90px; background-position:center; background-size:cover; position:relative; color:#fff; }
.page-hero::before { content:""; position:absolute; inset:0; background:rgba(0,0,0,.67); }
.page-hero .container { position:relative; z-index:1; }
.page-kicker { text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; font-weight:700; color:#ff9bb0; }
.page-hero h1 { font-size:clamp(2.4rem, 6vw, 4.8rem); line-height:1.02; max-width:900px; margin:.7rem 0 1rem; }
.page-hero p { font-size:1.18rem; line-height:1.7; max-width:780px; color:rgba(255,255,255,.88); }
.page-actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:1.8rem; }
.page-btn { display:inline-block; text-decoration:none; border-radius:6px; padding:12px 18px; font-weight:700; border:1px solid transparent; }
.page-btn-primary { background:var(--page-primary); color:#fff; }
.page-btn-primary:hover { background:#b71032; color:#fff; }
.page-btn-light { background:#fff; color:#222; }
.page-btn-light:hover { color:var(--page-primary); }
.page-main { padding:72px 0; }
.page-section { padding:30px 0; scroll-margin-top:90px; }
.page-section h2 { color:var(--page-primary); margin-bottom:18px; }
.page-section p, .page-section li { line-height:1.75; }
.page-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.page-card { border:1px solid var(--page-border); border-radius:12px; padding:24px; background:#fff; height:100%; }
.page-card h3 { font-size:1.15rem; margin-bottom:.75rem; }
.page-card p { color:var(--page-muted); margin-bottom:0; }
.page-card a { color:var(--page-primary); text-decoration:none; font-weight:700; }
.page-card a:hover { text-decoration:underline; }
.page-list { padding-left:1.2rem; }
.page-note { border-left:4px solid var(--page-primary); background:var(--page-soft); padding:18px 20px; border-radius:0 8px 8px 0; }
.page-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.page-gallery figure { margin:0; overflow:hidden; border-radius:12px; background:#111; }
.page-gallery img { width:100%; height:300px; object-fit:cover; display:block; opacity:.92; }
.page-gallery figcaption { padding:12px 14px; background:#f5f5f5; color:#555; }
.page-faq details { border-bottom:1px solid var(--page-border); padding:16px 0; }
.page-faq summary { cursor:pointer; font-weight:700; }
.page-cta { margin-top:48px; padding:36px; background:var(--page-primary); color:#fff; border-radius:14px; }
.page-cta h2 { color:#fff; }
.page-cta p { color:rgba(255,255,255,.9); }
.internal-footer { margin-top:60px; background:#292929; color:#ddd; padding:45px 0; }
.internal-footer a { color:#ddd; text-decoration:none; }
.internal-footer a:hover { color:#fff; text-decoration:underline; }
.internal-footer .footer-title { color:#fff; font-weight:700; margin-bottom:10px; }
.internal-footer ul { list-style:none; padding:0; margin:0; }
.internal-footer li { margin:.42rem 0; }
.breadcrumbs { font-size:.9rem; color:#777; margin-bottom:24px; }
.breadcrumbs a { color:var(--page-primary); text-decoration:none; }
.status-pill { display:inline-block; padding:6px 10px; border-radius:999px; background:#f4f4f4; border:1px solid #e4e4e4; color:#555; font-size:.82rem; font-weight:700; }
@media (max-width: 900px) { .page-grid { grid-template-columns:1fr 1fr; } }
@media (max-width: 650px) {
  .page-hero { min-height:360px; padding-top:125px; }
  .page-grid, .page-gallery { grid-template-columns:1fr; }
  .page-gallery img { height:230px; }
  .page-main { padding:48px 0; }
}

/* Shared global shell */
.internal-page #site-header + .page-hero { margin-top: 0; }
.internal-page #nav_section { position: relative; z-index: 1035; }
.internal-page #footer { margin-top: 60px; }
.internal-page .triality-social-links { white-space: nowrap; }
.internal-page #cookiesbar { z-index: 1040; }
.internal-page main:not(.page-main) { padding-top: 90px; }
@media (max-width: 767px) { .internal-page .triality-social-links { padding: 10px 0; } }

/* Legal page using the same global shell */
.legal-page { padding: 130px 20px 70px; max-width: 980px; }
.legal-page .legal-title { margin-bottom: 36px; }
.legal-page h1 { color: var(--page-primary); margin: 30px 0 20px; }
.legal-page h2 { margin: 32px 0 14px; }
.legal-page h3 { margin: 26px 0 12px; }
.legal-page p, .legal-page li { line-height: 1.75; }
.legal-page a { color: var(--page-primary); }
