/* Shared ClickToPrint public shell. Keep the app and landing copies identical. */
:root {
  --ctp-content-width:1320px;
  --ctp-gutter:clamp(20px,4vw,64px);
  --ctp-edge:max(var(--ctp-gutter),calc((100% - var(--ctp-content-width))/2));
  --ctp-banner-height:376px;
}
.ctp-public { margin:0; color:#171717; background:#fff; font:14px/1.5 Arial,Helvetica,sans-serif; }
.ctp-public *, .ctp-public *::before, .ctp-public *::after { box-sizing:border-box; }
.ctp-public a { color:inherit; text-decoration:none; }
.ctp-public a:hover { text-decoration:underline; text-underline-offset:4px; }
.ctp-public :focus-visible { outline:3px solid #171717; outline-offset:4px; }
.ctp-public-skip { position:absolute; top:-80px; left:20px; z-index:1000; padding:12px; background:#fff; border:1px solid #171717; }
.ctp-public-skip:focus { top:10px; }
.ctp-shell { width:min(var(--ctp-content-width),calc(100% - var(--ctp-gutter)*2)); margin-inline:auto; }
.ctp-public-header { background:#fff; }
.ctp-brandbar { border-bottom:1px solid #171717; }
.ctp-brandbar-inner { min-height:86px; display:flex; align-items:center; gap:22px; padding-block:16px; }
.ctp-public .ctp-brand { display:inline-flex; align-items:center; gap:12px; color:#171717; font:800 29px/1.5 Arial,Helvetica,sans-serif; letter-spacing:-1.5px; text-decoration:none; white-space:nowrap; }
.ctp-public .ctp-brand em { font-style:normal; font-weight:400; }
.ctp-public .ctp-brand-mark { display:grid; place-items:center; flex-shrink:0; width:29px; height:29px; color:#171717; background:#d8ff36; font:30px/1 Arial; letter-spacing:0; }
.ctp-public-tools { display:flex; align-items:center; gap:24px; margin-left:auto; font-size:12px; }
.ctp-public-parent { font:9px 'Courier New',monospace; letter-spacing:.5px; white-space:nowrap; }
.ctp-public-parent i { font:17px Arial; font-style:normal; padding:0 3px; margin:0 5px; background:#ff6039; color:#171717; }
.ctp-public-languages { display:flex; border:1px solid #171717; font-size:11px; font-weight:700; }
.ctp-public-languages a { padding:7px 9px; }
.ctp-public-languages a[aria-current] { color:#fff; background:#171717; }
.ctp-public .ctp-public-login-link { padding:9px 13px; border:1px solid #171717; font-weight:700; white-space:nowrap; }
.ctp-public-login-link[aria-current], .ctp-public .ctp-public-login-link:hover { color:#171717; background:#d8ff36; text-decoration:none; }
.ctp-public-nav-wrap { border-bottom:1px solid #171717; }
.ctp-public-nav { display:flex; overflow-x:auto; }
.ctp-public-nav a { display:flex; align-items:center; gap:12px; min-height:62px; padding:20px; border-right:1px solid #d5d5d0; font:700 13px/1.5 Arial; white-space:nowrap; }
.ctp-public-nav a:first-child { border-left:1px solid #d5d5d0; }
.ctp-public-nav a span { font:10px 'Courier New',monospace; color:#64645e; }
.ctp-public-nav a:hover { background:#f3f3ef; text-decoration:none; }
.ctp-public-nav a.is-active { color:#fff; background:#171717; }
.ctp-public-nav a.is-active span { color:#d8ff36; }
.ctp-public-footer { margin-top:36px; padding-block:22px; border-top:1px solid #171717; font:11px/1.5 Arial; display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; }
@media(max-width:1100px) { .ctp-public-parent { display:none; }.ctp-public-tools { gap:16px; } }
@media(max-width:800px) {
  .ctp-brandbar-inner { min-height:76px; padding-block:18px; gap:12px; }
  .ctp-public .ctp-brand { font-size:23px; gap:8px; }
  .ctp-public .ctp-brand-mark { width:24px; height:24px; font-size:25px; }
  .ctp-public-tools { gap:12px; font-size:11px; }
  .ctp-public-nav a { min-height:58px; padding:16px 18px; }
}
@media(max-width:480px) {
  .ctp-brandbar-inner { flex-wrap:wrap; }
  .ctp-public .ctp-brand { font-size:22px; }
  .ctp-public-tools { gap:8px; }
  .ctp-public-languages a { padding:6px; }
  .ctp-public .ctp-public-login-link { padding:7px 9px; }
}

/* The same visible language control ends every public/application header. */
.ctp-public-languages{flex-shrink:0;align-self:center;line-height:1.5;background:#fff}
.ctp-public-languages a{display:block;color:#171717;text-decoration:none;white-space:nowrap}
.ctp-public-languages a:hover{background:#d8ff36;color:#171717}
.ctp-public-languages a:focus-visible{outline:3px solid #171717;outline-offset:3px}
.ctp-classic-language-control{display:flex;align-items:center;margin-left:16px}
.ctp-customer-language-bar{display:flex;justify-content:flex-end;padding:18px var(--ctp-edge)}
@media(max-width:480px){.ctp-public-tools{width:100%;justify-content:flex-end}}
