/* ============================================================
   UBuildABook 2026 redesign
   Added 09/27/26. Everything here is prefixed .ub- so it cannot
   collide with style.css, bootstrap.min.css, menu/bootsnav.css or
   any page content. Load this file LAST in master.blade.php.
   ============================================================ */

.ub-util, .ub-brandrow, .ub-navbar, .ub-page, .ub-footer,
.ub-util *, .ub-brandrow *, .ub-navbar *, .ub-page *, .ub-footer *{
  box-sizing:border-box;
}
.ub-util, .ub-brandrow, .ub-navbar, .ub-page, .ub-footer{
  --ub-ink:#16242F;
  --ub-navy:#1B3655;
  --ub-navy2:#254565;
  --ub-orange:#CC4E0C;
  --ub-orange-d:#A8400A;
  --ub-orange-l:#FFA968;
  --ub-cream:#F6F3EC;
  --ub-line:#E3DED3;
  --ub-text:#2A3542;
  --ub-muted:#65717F;
  --ub-sh-sm:0 1px 2px rgba(22,36,47,.06), 0 2px 8px rgba(22,36,47,.06);
  --ub-sh-md:0 2px 4px rgba(22,36,47,.06), 0 12px 28px rgba(22,36,47,.10);
  --ub-sh-lg:0 4px 8px rgba(22,36,47,.08), 0 24px 48px rgba(22,36,47,.14);
  --ub-r:10px;
  --ub-maxw:1328px;
  font-family:Ubuntu,"Ubuntu-R",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.ub-page{background:#fff;color:var(--ub-text);font-size:16px}
.ub-util img, .ub-brandrow img, .ub-navbar img, .ub-footer img,
.ub-page .ub-hero img, .ub-page .ub-book .ub-cover img,
.ub-page .ub-sample .ub-cover img, .ub-page .ub-tmeta img,
.ub-page .ub-guar-badge{max-width:100%;display:block}
.ub-util a, .ub-brandrow a, .ub-navbar a, .ub-footer a{color:inherit;text-decoration:none}
.ub-wrap{max-width:var(--ub-maxw);margin:0 auto;padding-left:24px;padding-right:24px}

/* ---------- announcement bar (CMS news flash) ---------- */
.ub-flash{background:#2A3E55;color:#F2D9C4;font-size:14px;position:relative}
.ub-flash .ub-wrap{display:flex;align-items:center;justify-content:center;gap:16px;
  min-height:38px;padding-top:6px;padding-bottom:6px;text-align:center}
.ub-flash a{color:#FFC79A}
.ub-flash a:hover{color:#fff}
.ub-flash .ub-flash-x{position:absolute;right:18px;top:50%;transform:translateY(-50%);
  color:#8FA6B9;cursor:pointer;font-size:15px;line-height:1}
.ub-flash .ub-flash-x:hover{color:#fff}

/* ---------- utility bar ---------- */
.ub-util{background:var(--ub-ink);color:#C6D2DD;font-size:13.5px}
.ub-util .ub-wrap{display:flex;align-items:center;justify-content:space-between;
  gap:16px;min-height:40px;flex-wrap:wrap}
.ub-util a:hover{color:#fff}
.ub-util .ub-soft{display:inline-flex;align-items:center;gap:9px;color:var(--ub-orange-l);font-weight:500}
.ub-util .ub-soft:hover{color:#fff}
.ub-util .ub-soft b{color:#fff;font-weight:500}
.ub-util .ub-uright{display:flex;gap:20px;align-items:center}
.ub-util .ub-flag{display:inline-flex;align-items:center;gap:7px;color:#9FB0BF}
.ub-util .ub-flag i{width:16px;height:11px;border-radius:1px;position:relative;display:block;
  background:linear-gradient(#B22234 0 20%,#fff 20% 40%,#B22234 40% 60%,#fff 60% 80%,#B22234 80% 100%);
  box-shadow:inset 0 0 0 .5px rgba(255,255,255,.4)}
.ub-util .ub-flag i:before{content:"";position:absolute;top:0;left:0;right:62%;bottom:45%;background:#3C3B6E}

/* ---------- brand row ---------- */
.ub-brandrow{background:var(--ub-navy)}
.ub-brandrow .ub-wrap{display:flex;align-items:center;gap:32px;min-height:96px}
.ub-logo{flex:0 0 auto}
.ub-logo img{height:66px;width:auto}
.ub-promo{display:flex;align-items:center;gap:11px;color:#D8E3EC;font-size:14px;
  line-height:1.35;max-width:320px;padding-left:26px;border-left:1px solid rgba(255,255,255,.16)}
.ub-promo .ub-tag{flex:0 0 auto;background:var(--ub-orange);color:#fff;font-size:12px;font-weight:500;
  letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:5px;white-space:nowrap}
.ub-promo b{color:#fff;font-weight:500}
.ub-phone{margin-left:auto;display:flex;align-items:center;gap:12px;color:#fff;flex:0 0 auto}
.ub-phone .ub-ring{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;background:rgba(204,78,12,.18);color:var(--ub-orange-l);flex:0 0 auto}
.ub-phone b{display:block;font-family:"Source Serif 4",Georgia,serif;font-size:23px;font-weight:600;
  line-height:1.1;letter-spacing:-.01em;color:#fff}
.ub-phone .ub-sub{display:block;font-size:12.5px;color:var(--ub-orange-l);letter-spacing:.02em}
.ub-search{display:flex;align-items:stretch;flex:0 0 auto;margin:0}
.ub-search input[type="text"]{width:200px;height:42px;padding:0 14px;outline:none;
  border:1px solid rgba(255,255,255,.28);border-right:0;border-radius:8px 0 0 8px;
  background:rgba(255,255,255,.08);color:#fff;font-family:inherit;font-size:14px;box-shadow:none}
.ub-search input[type="text"]::placeholder{color:#93A6B6}
.ub-search input[type="text"]:focus{background:rgba(255,255,255,.14);border-color:var(--ub-orange)}
.ub-search button{border:0;background:rgba(255,255,255,.16);color:#fff;height:42px;width:46px;
  border-radius:0 8px 8px 0;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.ub-search button:hover{background:var(--ub-orange)}

/* ---------- sticky nav ---------- */
.ub-navbar{background:var(--ub-navy2);position:-webkit-sticky;position:sticky;top:0;z-index:1000;
  box-shadow:0 2px 10px rgba(0,0,0,.18)}
.ub-navbar .ub-wrap{display:flex;align-items:center;gap:10px;min-height:54px}
.ub-menu{display:flex;align-items:center;margin:0;padding:0;list-style:none}
.ub-menu > li{position:relative;margin:0;padding:0;list-style:none}
.ub-menu > li > a{color:#E2EBF3;font-size:14.5px;padding:16px 13px;display:inline-flex;
  align-items:center;gap:7px;white-space:nowrap;border-bottom:3px solid transparent}
.ub-menu > li > a:after{content:"";width:0;height:0;border:4px solid transparent;
  border-top-color:currentColor;opacity:.6;margin-top:3px}
.ub-menu > li:hover > a{color:#fff;background:rgba(255,255,255,.08);border-bottom-color:var(--ub-orange)}
.ub-menu > li.ub-here > a{color:#fff;border-bottom-color:var(--ub-orange)}
.ub-drop{position:absolute;top:100%;left:0;min-width:250px;background:#fff;
  border-radius:0 0 10px 10px;box-shadow:var(--ub-sh-lg);padding:10px 0;display:none;
  z-index:1001;border-top:3px solid var(--ub-orange)}
.ub-menu > li:hover .ub-drop{display:block}
.ub-drop.ub-wide{-webkit-column-count:2;column-count:2;-webkit-column-gap:0;column-gap:0;min-width:460px}
.ub-drop a{display:block;padding:8px 20px;font-size:14.5px;color:var(--ub-text);
  -webkit-column-break-inside:avoid;break-inside:avoid}
.ub-drop a:hover{background:var(--ub-cream);color:var(--ub-orange-d)}
.ub-drop a.ub-on{color:var(--ub-orange-d);font-weight:500}
.ub-navacts{margin-left:auto;display:flex;align-items:center;gap:12px;flex:0 0 auto}
.ub-navphone{display:none;color:#FFD9BC;font-size:14.5px;font-weight:500;align-items:center;gap:7px}
.ub-burger{display:none;background:rgba(255,255,255,.12);border:0;color:#fff;width:40px;height:38px;
  border-radius:7px;cursor:pointer;align-items:center;justify-content:center;padding:0}

/* ---------- buttons ---------- */
.ub-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:inherit;font-size:15px;font-weight:500;letter-spacing:.01em;line-height:1.2;
  padding:13px 24px;border-radius:8px;border:0;cursor:pointer;text-align:center;
  transition:transform .12s, box-shadow .15s, background .15s}
.ub-btn-primary{background:var(--ub-orange);color:#fff;
  box-shadow:0 2px 0 var(--ub-orange-d), 0 8px 20px rgba(204,78,12,.28)}
.ub-btn-primary:hover,.ub-btn-primary:focus{background:#B5440A;color:#fff;transform:translateY(-1px)}
.ub-btn-ghost{background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.35)}
.ub-btn-ghost:hover,.ub-btn-ghost:focus{background:rgba(255,255,255,.16);color:#fff}
.ub-btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}
.ub-btn-outline:hover,.ub-btn-outline:focus{background:rgba(255,255,255,.12);color:#fff}
.ub-btn-quiet{background:#fff;color:var(--ub-navy);border:1px solid var(--ub-line)}
.ub-btn-quiet:hover,.ub-btn-quiet:focus{border-color:#CDBFAC;background:var(--ub-cream);color:var(--ub-navy)}
.ub-btn-dark{background:var(--ub-navy);color:#fff}
.ub-btn-dark:hover,.ub-btn-dark:focus{background:var(--ub-navy2);color:#fff}
.ub-btn-sm{padding:9px 17px;font-size:14px}
.ub-btn-block{width:100%}

/* ---------- breadcrumb ---------- */
.ub-crumb{background:var(--ub-cream);border-bottom:1px solid var(--ub-line);
  font-size:13.5px;color:var(--ub-muted)}
.ub-crumb .ub-wrap{display:flex;align-items:center;gap:9px;padding-top:11px;padding-bottom:11px;flex-wrap:wrap}
.ub-crumb a{color:var(--ub-muted);text-decoration:none}
.ub-crumb a:hover{color:var(--ub-orange-d)}
.ub-crumb i{opacity:.45;font-style:normal}
.ub-crumb b{color:var(--ub-navy);font-weight:500}

/* ---------- hero ---------- */
.ub-hero{position:relative;background:var(--ub-ink);overflow:hidden}
.ub-hero .ub-hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;
  object-fit:cover;object-position:center}
.ub-hero .ub-scrim{position:absolute;top:0;left:0;right:0;bottom:0;
  background:linear-gradient(90deg, rgba(13,25,33,.94) 0%, rgba(13,25,33,.85) 34%,
  rgba(13,25,33,.40) 65%, rgba(13,25,33,.16) 100%)}
.ub-hero .ub-wrap{position:relative;padding-top:88px;padding-bottom:80px}
.ub-hero-inner{max-width:620px}
.ub-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#FFC79A;font-size:13px;
  font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
.ub-eyebrow:before{content:"";width:28px;height:2px;background:var(--ub-orange);border-radius:2px}
.ub-hero h1{font-family:"Source Serif 4",Georgia,serif;font-weight:600;color:#fff;
  font-size:52px;line-height:1.05;letter-spacing:-.02em;margin:0 0 20px;text-align:left;text-transform:none}
.ub-hero h1 em{font-style:normal;color:#FFB472}
.ub-hero .ub-lede{color:#D3DEE7;font-size:19px;line-height:1.55;margin:0 0 30px;max-width:530px}
.ub-hero .ub-lede strong{color:#fff;font-weight:500}
.ub-hero .ub-cta{display:flex;gap:14px;flex-wrap:wrap}
.ub-hero .ub-note{margin:22px 0 0;color:#9FB0BF;font-size:14px;line-height:1.55}
.ub-hero .ub-note b{color:#fff;font-weight:500}
.ub-hero .ub-note a{color:#FFC79A;border-bottom:1px solid rgba(255,199,154,.45);text-decoration:none}

/* ---------- trust strip ---------- */
.ub-trust{background:var(--ub-cream);border-bottom:1px solid var(--ub-line)}
.ub-trust .ub-wrap{display:flex;padding-top:26px;padding-bottom:26px}
.ub-trust .ub-t{flex:1 1 0;display:flex;flex-direction:column;gap:2px;
  padding-left:18px;padding-right:18px;border-left:1px solid var(--ub-line);min-width:0}
.ub-trust .ub-t:first-child{border-left:0;padding-left:0}
.ub-trust .ub-t b{font-family:"Source Serif 4",Georgia,serif;font-size:24px;font-weight:600;
  color:var(--ub-navy);line-height:1.15}
.ub-trust .ub-t span{font-size:14px;color:var(--ub-muted);line-height:1.4}
.ub-trust .ub-t.ub-best b{color:var(--ub-orange-d)}

/* ---------- section furniture ---------- */
.ub-page .ub-section{padding-top:72px;padding-bottom:72px}
.ub-page .ub-section.ub-cream{background:var(--ub-cream)}
.ub-page .ub-section.ub-navybg{background:var(--ub-navy);color:#fff}
.ub-sechead{max-width:700px;margin:0 auto 44px;text-align:center}
.ub-sechead.ub-left{margin-left:0;margin-right:0;text-align:left}
.ub-sechead h2{font-family:"Source Serif 4",Georgia,serif;font-weight:600;color:var(--ub-navy);
  font-size:36px;line-height:1.15;letter-spacing:-.02em;margin:0 0 12px;text-transform:none}
.ub-section.ub-navybg .ub-sechead h2{color:#fff}
.ub-sechead p{color:var(--ub-muted);font-size:17px;margin:0;line-height:1.55}
.ub-section.ub-navybg .ub-sechead p{color:#AFC2D2}
.ub-kicker{display:block;color:var(--ub-orange);font-size:13px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}

/* ---------- three path cards ---------- */
.ub-paths{display:flex;flex-wrap:wrap;gap:24px}
.ub-path{flex:1 1 300px;background:#fff;border:1px solid var(--ub-line);border-radius:var(--ub-r);
  padding:34px 30px 30px;display:flex;flex-direction:column;box-shadow:var(--ub-sh-sm);
  transition:transform .16s, box-shadow .16s, border-color .16s;color:var(--ub-text);text-decoration:none}
.ub-path:hover{transform:translateY(-4px);box-shadow:var(--ub-sh-md);border-color:#D8CCBC;
  color:var(--ub-text);text-decoration:none}
.ub-path .ub-ico{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;
  justify-content:center;background:#FFF1E4;color:var(--ub-orange-d);margin-bottom:22px}
.ub-path h3{font-family:"Source Serif 4",Georgia,serif;font-size:22px;font-weight:600;
  color:var(--ub-navy);margin:0 0 10px;line-height:1.25;text-transform:none}
.ub-path p{color:var(--ub-muted);font-size:15.5px;margin:0 0 22px;flex:1 1 auto;line-height:1.6}
.ub-path .ub-more{color:var(--ub-orange-d);font-weight:500;font-size:15px;
  display:inline-flex;align-items:center;gap:7px}
.ub-path:hover .ub-more{gap:11px}

/* ---------- book type grid ---------- */
.ub-bookgrid{display:flex;flex-wrap:wrap;margin:0 -11px}
.ub-bookgrid .ub-bookcell{width:16.666%;padding:11px}
.ub-book{display:flex;flex-direction:column;align-items:center;gap:14px;text-decoration:none}
.ub-book:hover{text-decoration:none}
.ub-book .ub-cover{width:100%;background:#fff;border-radius:4px;overflow:hidden;position:relative;
  box-shadow:var(--ub-sh-md);transition:transform .18s, box-shadow .18s;padding-top:133.33%}
.ub-book .ub-cover img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.ub-book .ub-cover:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;
  background:linear-gradient(90deg, rgba(0,0,0,.16) 0 3.5%, rgba(255,255,255,.10) 3.5% 6%, transparent 6%)}
.ub-book:hover .ub-cover{transform:translateY(-6px) rotate(-1deg);box-shadow:var(--ub-sh-lg)}
.ub-book span{font-size:14.5px;color:var(--ub-navy);font-weight:500;text-align:center;line-height:1.3}
.ub-book:hover span{color:var(--ub-orange-d)}
.ub-books-foot{text-align:center;margin-top:44px}

/* ---------- advantage ---------- */
.ub-adv-cols{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.ub-adv-left{flex:1 1 340px;min-width:280px}
.ub-adv-right{flex:1 1 460px;min-width:280px}
.ub-advlist{display:flex;flex-wrap:wrap;margin:0 -17px;padding:0;list-style:none}
.ub-advlist li{width:50%;padding:0 17px 26px;display:flex;gap:14px;align-items:flex-start;list-style:none}
.ub-advlist .ub-check{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:#FFF1E4;
  color:var(--ub-orange-d);display:flex;align-items:center;justify-content:center;margin-top:1px}
.ub-advlist strong{display:block;color:var(--ub-navy);font-weight:500;font-size:16px;line-height:1.35}
.ub-advlist small{color:var(--ub-muted);font-size:14.5px;line-height:1.5;display:block;margin-top:2px}
.ub-aside{background:var(--ub-navy);color:#fff;border-radius:var(--ub-r);padding:34px 30px;
  box-shadow:var(--ub-sh-md)}
.ub-aside h3{font-family:"Source Serif 4",Georgia,serif;font-size:23px;font-weight:600;margin:0 0 12px;
  line-height:1.25;color:#fff;text-transform:none}
.ub-aside p{color:#BFCEDB;font-size:15.5px;margin:0 0 22px;line-height:1.6}

/* ---------- testimonials ---------- */
.ub-tgrid{display:flex;flex-wrap:wrap;gap:24px}
.ub-tcard{flex:1 1 300px;background:#fff;border-radius:var(--ub-r);padding:28px 26px;
  display:flex;flex-direction:column;box-shadow:var(--ub-sh-md)}
.ub-stars{display:flex;gap:3px;color:#F5A623;margin-bottom:16px;font-size:16px;line-height:1}
.ub-tcard .ub-quote{color:var(--ub-text);font-size:15.5px;line-height:1.65;flex:1 1 auto;
  display:block;margin:0 0 22px}
.ub-tmeta{display:flex;align-items:center;gap:14px;border-top:1px solid var(--ub-line);padding-top:18px}
.ub-tmeta img{width:52px;height:60px;object-fit:cover;object-position:top;border-radius:3px;
  box-shadow:var(--ub-sh-sm);flex:0 0 auto}
.ub-tmeta b{display:block;color:var(--ub-navy);font-size:15px;font-weight:500}
.ub-tmeta span{color:var(--ub-muted);font-size:13.5px}
.ub-tests-foot{text-align:center;margin-top:40px}
.ub-tests-foot a{color:#FFC79A;font-weight:500;text-decoration:none}
.ub-tests-foot a:hover{color:#fff}

/* ---------- guarantee ---------- */
.ub-guar-box{background:linear-gradient(120deg,#FFF7EF 0%,#FFEEDD 100%);border:1px solid #F3DCC4;
  border-radius:14px;padding:42px 46px;display:flex;align-items:center;gap:40px;flex-wrap:wrap}
.ub-guar-badge{width:132px;flex:0 0 auto}
.ub-guar-text{flex:1 1 340px;min-width:260px}
.ub-guar-text h2{font-family:"Source Serif 4",Georgia,serif;font-size:28px;font-weight:600;
  color:var(--ub-navy);margin:0 0 10px;line-height:1.25;text-transform:none;text-align:left}
.ub-guar-text h2 em{font-style:italic;color:var(--ub-orange-d)}
.ub-guar-text p{color:#6B5B4A;font-size:16px;margin:0;line-height:1.6}

/* ---------- genre page: prose + sticky rail ---------- */
.ub-cols{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.ub-prose{flex:1 1 520px;min-width:280px;max-width:66ch}
.ub-prose h2{font-family:"Source Serif 4",Georgia,serif;font-weight:600;color:var(--ub-navy);
  font-size:33px;line-height:1.15;letter-spacing:-.02em;margin:0 0 18px;text-transform:none;text-align:left}
.ub-prose h3{font-family:"Source Serif 4",Georgia,serif;font-weight:600;color:var(--ub-navy);
  font-size:21px;line-height:1.3;margin:34px 0 10px;text-transform:none;text-align:left}
.ub-prose p{margin:0 0 18px;font-size:17px;line-height:1.7;color:#3A4653}
.ub-prose .ub-first{font-size:19px;color:var(--ub-navy)}
.ub-prose strong,.ub-prose b{color:var(--ub-navy);font-weight:500}
.ub-prose a{color:var(--ub-orange-d);border-bottom:1px solid rgba(168,64,10,.35);text-decoration:none}
.ub-prose img{max-width:100%;height:auto}
.ub-prose ul,.ub-prose ol{font-size:17px;line-height:1.7;color:#3A4653;padding-left:22px;margin:0 0 18px}
.ub-cols>.ub-rail{margin-left:auto} /* 10/05/26 body is as wide as the header; the rail sits at the right edge */
.ub-rail{flex:0 0 330px;width:330px;position:-webkit-sticky;position:sticky;top:78px}
.ub-railcard{background:var(--ub-navy);color:#fff;border-radius:var(--ub-r);padding:28px 26px;
  box-shadow:var(--ub-sh-md);margin-bottom:16px}
.ub-railcard h3{font-family:"Source Serif 4",Georgia,serif;font-size:21px;font-weight:600;margin:0 0 10px;
  line-height:1.25;color:#fff;text-transform:none;text-align:left}
.ub-railcard p{color:#BFCEDB;font-size:14.5px;margin:0 0 18px;line-height:1.6}
.ub-railflag{background:rgba(204,78,12,.16);border:1px solid rgba(204,78,12,.45);border-radius:8px;
  padding:12px 14px;font-size:13.5px;color:#FFD9BC;line-height:1.5;margin-bottom:18px}
.ub-railflag b{color:#fff;font-weight:500}
.ub-railcard .ub-or{text-align:center;color:#8FA6B9;font-size:13px;margin:14px 0 12px}
.ub-railcard .ub-callus{display:flex;align-items:center;gap:11px;
  border-top:1px solid rgba(255,255,255,.14);padding-top:18px;margin-top:18px}
.ub-railcard .ub-callus .ub-ring2{width:34px;height:34px;border-radius:50%;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;background:rgba(204,78,12,.18);color:var(--ub-orange-l)}
.ub-railcard .ub-callus b{display:block;font-family:"Source Serif 4",Georgia,serif;font-size:20px;
  font-weight:600;line-height:1.15;color:#fff}
.ub-railcard .ub-callus span{display:block;font-size:12.5px;color:var(--ub-orange-l)}
.ub-railnote{background:#FFF6EC;border:1px solid #F3DCC4;border-radius:var(--ub-r);
  padding:18px 20px;font-size:14px;color:#7A5314;line-height:1.55}
.ub-railnote b{display:block;color:var(--ub-navy);font-weight:500;margin-bottom:4px;font-size:14.5px}
.ub-railnote a{color:var(--ub-orange-d);border-bottom:1px solid rgba(168,64,10,.4);text-decoration:none}

/* ---------- how it works ---------- */
.ub-steps{display:flex;flex-wrap:wrap;margin:0 -9px}
.ub-steps .ub-stepcell{width:20%;padding:9px}
.ub-step{background:#fff;border:1px solid var(--ub-line);border-radius:var(--ub-r);
  padding:26px 20px;height:100%}
.ub-step .ub-n{width:34px;height:34px;border-radius:50%;background:var(--ub-orange);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:500;margin-bottom:16px}
.ub-step h3{font-family:"Source Serif 4",Georgia,serif;font-size:19px;font-weight:600;color:var(--ub-navy);
  margin:0 0 8px;line-height:1.25;text-transform:none;text-align:left}
.ub-step p{color:var(--ub-muted);font-size:14.5px;margin:0;line-height:1.55}

/* ---------- sample books ---------- */
.ub-samples{display:flex;flex-wrap:wrap;margin:0 -13px}
.ub-samples .ub-samplecell{width:25%;padding:13px}
.ub-sample{display:flex;flex-direction:column;align-items:center;gap:12px;text-decoration:none}
.ub-sample:hover{text-decoration:none}
.ub-sample .ub-cover{width:100%;background:#fff;border-radius:4px;overflow:hidden;position:relative;
  box-shadow:var(--ub-sh-md);transition:transform .18s, box-shadow .18s;padding-top:133.33%}
.ub-sample .ub-cover img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.ub-sample .ub-cover:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;
  background:linear-gradient(90deg, rgba(0,0,0,.16) 0 3.5%, rgba(255,255,255,.10) 3.5% 6%, transparent 6%)}
.ub-sample:hover .ub-cover{transform:translateY(-6px);box-shadow:var(--ub-sh-lg)}
.ub-sample .ub-sname{font-size:15px;color:var(--ub-navy);font-weight:500;text-align:center;
  line-height:1.35;display:block}
.ub-sample .ub-peek{display:inline-flex;align-items:center;gap:6px;color:var(--ub-orange-d);
  font-size:13.5px;font-weight:500}
.ub-sample:hover .ub-peek{text-decoration:underline}

/* ---------- specs ---------- */
.ub-specs{display:flex;flex-wrap:wrap;margin:0 -10px}
.ub-specs .ub-speccell{width:25%;padding:10px}
.ub-spec{border:1px solid var(--ub-line);border-radius:var(--ub-r);padding:26px 22px;background:#fff;height:100%}
.ub-spec h3{font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ub-orange);margin:0 0 14px;text-align:left}
.ub-spec ul{list-style:none;margin:0;padding:0}
.ub-spec li{display:flex;gap:10px;font-size:15px;color:#3A4653;line-height:1.45;margin-bottom:9px;list-style:none}
.ub-spec li:before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:50%;
  background:var(--ub-orange);margin-top:8px}
.ub-spec li strong{color:var(--ub-navy);font-weight:500}

/* ---------- faq ---------- */
.ub-faqlist{max-width:820px;margin:0 auto}
.ub-faqitem{background:#fff;border:1px solid var(--ub-line);border-radius:var(--ub-r);
  overflow:hidden;margin-bottom:12px}
.ub-faqitem > summary{cursor:pointer;list-style:none;padding:19px 54px 19px 24px;position:relative;
  font-size:17px;font-weight:500;color:var(--ub-navy);font-family:"Source Serif 4",Georgia,serif}
.ub-faqitem > summary::-webkit-details-marker{display:none}
.ub-faqitem > summary:after{content:"+";position:absolute;right:22px;top:50%;
  transform:translateY(-50%);font-size:22px;color:var(--ub-orange);
  font-family:Ubuntu,sans-serif;line-height:1}
.ub-faqitem[open] > summary:after{content:"\2013"}
.ub-faqitem .ub-a{padding:0 24px 22px;color:#4A5663;font-size:15.5px;line-height:1.7}
.ub-faqitem .ub-a p{margin:0 0 14px}
.ub-faqitem .ub-a p:last-child{margin:0}
.ub-faqitem .ub-a strong{color:var(--ub-navy);font-weight:500}

/* ---------- related chips ---------- */
.ub-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.ub-chips a{border:1px solid var(--ub-line);border-radius:999px;padding:9px 18px;font-size:14.5px;
  color:var(--ub-navy);background:#fff;text-decoration:none;transition:border-color .15s,color .15s}
.ub-chips a:hover{border-color:var(--ub-orange);color:var(--ub-orange-d);text-decoration:none}

/* ---------- closing cta ---------- */
.ub-closer{background:linear-gradient(120deg,#FFF7EF 0%,#FFEEDD 100%);border:1px solid #F3DCC4;
  border-radius:14px;padding:44px 46px;text-align:center}
.ub-closer h2{font-family:"Source Serif 4",Georgia,serif;font-size:31px;font-weight:600;color:var(--ub-navy);
  margin:0 0 12px;line-height:1.2;text-transform:none}
.ub-closer p{color:#6B5B4A;font-size:16.5px;margin:0 0 26px;line-height:1.6}
.ub-closer .ub-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---------- footer ---------- */
.ub-footer{background:var(--ub-ink);color:#B7C5D2;font-size:14.5px}
.ub-fband{background:var(--ub-navy);border-bottom:1px solid rgba(255,255,255,.08)}
.ub-fband .ub-wrap{display:flex;align-items:center;gap:32px;padding-top:30px;padding-bottom:30px;flex-wrap:wrap}
.ub-fband .ub-fblogo img{height:56px}
.ub-fband .ub-fbcopy{flex:1 1 240px;min-width:220px}
.ub-fband .ub-fbcopy b{display:block;color:#fff;font-family:"Source Serif 4",Georgia,serif;
  font-size:20px;font-weight:600;line-height:1.25}
.ub-fband .ub-fbcopy span{color:#9FB4C6;font-size:14.5px;line-height:1.5}
.ub-fband .ub-fbcopy a{color:var(--ub-orange-l);border-bottom:1px solid rgba(255,169,104,.4);text-decoration:none}
.ub-fband .ub-fbphone{color:#fff;text-align:right;flex:0 0 auto}
.ub-fband .ub-fbphone b{display:block;font-family:"Source Serif 4",Georgia,serif;font-size:24px;
  font-weight:600;line-height:1.15;color:#fff}
.ub-fband .ub-fbphone span{color:var(--ub-orange-l);font-size:13px}
.ub-fband .ub-fbcta{display:flex;gap:12px;flex-wrap:wrap;flex:0 0 auto}
.ub-flinks{padding-top:52px;padding-bottom:40px}
.ub-fgrid{display:flex;flex-wrap:wrap;margin:0 -17px}
.ub-fcol{width:25%;padding:0 17px}
.ub-fgroup{margin-bottom:30px}
.ub-fgroup h3{margin:0 0 14px;font-size:14px;font-weight:500;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ub-orange);text-align:left}
.ub-fgroup h3 a{color:var(--ub-orange);text-decoration:none}
.ub-fgroup h3 a:hover{color:#fff}
.ub-fgroup ul{list-style:none;margin:0;padding:0}
.ub-fgroup li{list-style:none;margin-bottom:7px}
.ub-fgroup ul a{color:#AEBECC;font-size:14px;line-height:1.45;text-decoration:none}
.ub-fgroup ul a:hover{color:#fff;text-decoration:underline}
.ub-fgroup ul a.ub-on{color:#fff;font-weight:500}
.ub-fgroup > summary{display:none}
.ub-fbottom{border-top:1px solid rgba(255,255,255,.10);padding-top:22px;padding-bottom:22px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  color:#7E90A1;font-size:13.5px}
.ub-fbottom .ub-flinksrow{display:flex;gap:20px;flex-wrap:wrap}
.ub-fbottom a{color:#7E90A1;text-decoration:none}
.ub-fbottom a:hover{color:#fff}

/* ============================ responsive ============================ */
@media (max-width:1180px){
  .ub-menu > li > a{padding:16px 10px;font-size:13.8px}
  .ub-search input[type="text"]{width:150px}
  .ub-promo{max-width:270px;font-size:13.5px}
}
@media (max-width:1100px){
  .ub-bookgrid .ub-bookcell{width:25%}
  .ub-samples .ub-samplecell{width:33.333%}
  .ub-steps .ub-stepcell{width:33.333%}
  .ub-specs .ub-speccell{width:50%}
  .ub-rail{position:static;flex:1 1 100%;width:100%}
  .ub-cols{gap:40px}
  .ub-hero h1{font-size:44px}
}
@media (max-width:991px){
  .ub-menu{display:none}
  .ub-menu.ub-open{display:block;position:absolute;left:0;right:0;top:100%;background:var(--ub-navy2);
    padding:8px 0;box-shadow:0 12px 24px rgba(0,0,0,.25);max-height:75vh;overflow:auto}
  .ub-menu.ub-open > li{position:static}
  .ub-menu.ub-open > li > a{display:flex;padding:12px 24px;border-bottom:0}
  .ub-menu.ub-open .ub-drop{display:block;position:static;box-shadow:none;border-radius:0;
    border-top:0;background:transparent;padding:0 0 10px;-webkit-column-count:1;column-count:1;min-width:0}
  .ub-menu.ub-open .ub-drop a{color:#B9CBDA;padding:7px 24px 7px 40px;font-size:14px}
  .ub-menu.ub-open .ub-drop a:hover{background:rgba(255,255,255,.06);color:#fff}
  .ub-navbar .ub-wrap{position:relative;justify-content:space-between}
  .ub-burger{display:flex}
  .ub-navphone{display:inline-flex}
  .ub-navacts{margin-left:0}
  .ub-fcol{width:50%}
  .ub-advlist li{width:100%}
}
@media (max-width:860px){
  .ub-paths{display:block}
  .ub-path{margin-bottom:20px}
  .ub-tgrid{display:block}
  .ub-tcard{margin-bottom:20px}
  .ub-trust .ub-wrap{flex-wrap:wrap}
  .ub-trust .ub-t{flex:1 1 45%;border-left:0;padding-left:0;margin-bottom:14px}
  .ub-guar-box{padding:34px 26px;text-align:center;justify-content:center}
  .ub-guar-text h2,.ub-guar-text p{text-align:center}
  .ub-brandrow .ub-wrap{flex-wrap:wrap;gap:16px;padding-top:16px;padding-bottom:16px;min-height:0}
  .ub-promo{display:none}
  .ub-phone{margin-left:0;order:3}
  .ub-search{order:2;margin-left:auto}
  .ub-fband .ub-fbphone{text-align:left}
}
@media (max-width:640px){
  .ub-page .ub-section{padding-top:52px;padding-bottom:52px}
  .ub-hero .ub-wrap{padding-top:56px;padding-bottom:52px}
  .ub-hero h1{font-size:34px}
  .ub-hero .ub-lede{font-size:17px}
  .ub-hero .ub-scrim{background:linear-gradient(180deg,rgba(13,25,33,.70),rgba(13,25,33,.93))}
  .ub-sechead h2{font-size:27px}
  .ub-bookgrid .ub-bookcell{width:50%}
  .ub-samples .ub-samplecell{width:50%}
  .ub-steps .ub-stepcell{width:100%}
  .ub-specs .ub-speccell{width:100%}
  .ub-logo img{height:46px}
  .ub-util .ub-uright{display:none}
  .ub-search input[type="text"]{width:120px}
  .ub-closer{padding:32px 22px}
  .ub-closer h2{font-size:25px}
  .ub-prose h2{font-size:27px}
  /* footer collapses to accordions - every link stays in the HTML */
  .ub-fcol{width:100%;padding:0}
  .ub-fgroup{margin-bottom:0;border-bottom:1px solid rgba(255,255,255,.10)}
  .ub-fgroup h3{display:none}
  .ub-fgroup > summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;
    padding:15px 0;font-size:14px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;
    color:var(--ub-orange);list-style:none}
  .ub-fgroup > summary::-webkit-details-marker{display:none}
  .ub-fgroup > summary:after{content:"+";font-size:19px;color:#fff}
  .ub-fgroup[open] > summary:after{content:"\2013"}
  .ub-fgroup ul{padding-bottom:16px}
}
/* ------------------------------------------------------------------
   09/27/26 specificity fix.
   The blanket rule ".ub-util a, .ub-brandrow a, .ub-navbar a, .ub-footer a
   { color:inherit }" near the top of this file has specificity (0,1,1), so it
   outranks the single-class component rules below it, which are (0,1,0).
   Any <a> relying on a single-class colour inside those four regions fell back
   to the inherited #333 from style.css - that is what turned the brand-row
   promo text and the Get Pricing button label dark grey.
   Restated here at higher specificity. Keep this block last in the file.
   ------------------------------------------------------------------ */
.ub-brandrow .ub-promo{color:#D8E3EC}
.ub-brandrow .ub-promo b{color:#fff}
.ub-brandrow .ub-phone{color:#fff}
.ub-navbar .ub-navphone{color:#FFD9BC}
.ub-util a.ub-soft{color:var(--ub-orange-l)}
.ub-util a.ub-soft:hover{color:#fff}
.ub-util a.ub-soft b{color:#fff}
.ub-navbar a.ub-btn-primary,
.ub-footer a.ub-btn-primary,
.ub-navbar a.ub-btn-ghost,
.ub-footer a.ub-btn-ghost,
.ub-navbar a.ub-btn-outline,
.ub-footer a.ub-btn-outline,
.ub-navbar a.ub-btn-dark,
.ub-footer a.ub-btn-dark{color:#fff}
.ub-navbar a.ub-btn-quiet,
.ub-footer a.ub-btn-quiet{color:var(--ub-navy)}
.ub-footer a.ub-fbphone,
.ub-footer a.ub-fbphone b{color:#fff}
.ub-page a.ub-book,
.ub-page a.ub-sample,
.ub-page a.ub-path{color:var(--ub-text)}

/* ------------------------------------------------------------------
   09/27/26 children's book printing + self-publishing guide (SEO/GEO pass).
   Answer box, spec/comparison tables, guide table of contents, cross-link box.
   ------------------------------------------------------------------ */
.ub-answer{background:var(--ub-cream);border:1px solid var(--ub-line);border-left:4px solid var(--ub-orange);
  border-radius:var(--ub-r);padding:20px 24px;margin:0 0 30px}
.ub-answer .ub-alabel{display:block;font-size:12.5px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ub-orange-d);font-weight:500;margin-bottom:8px}
.ub-prose .ub-answer p{font-size:16.5px}
.ub-prose .ub-answer p:last-child,.ub-prose .ub-answer ol:last-child{margin-bottom:0}
.ub-prose .ub-answer ol{font-size:16.5px;margin-bottom:14px}
.ub-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 26px}
.ub-table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.5;color:#3A4653;background:#fff}
.ub-table th,.ub-table td{border-bottom:1px solid var(--ub-line);padding:10px 12px;text-align:left;vertical-align:top}
.ub-table thead th{background:var(--ub-navy);color:#fff;font-weight:500}
.ub-table tbody th{color:var(--ub-navy);font-weight:500;width:36%}
.ub-prose h2[id],.ub-sechead[id]{scroll-margin-top:90px}
.ub-prose h2 .ub-stepno{display:block;font-family:inherit;font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ub-orange-d);font-weight:600;margin-bottom:6px}
.ub-prose h2{margin-top:44px}
.ub-prose > h2:first-child{margin-top:0}
.ub-toc{display:block;background:#fff;border:1px solid var(--ub-line);border-radius:var(--ub-r);
  padding:18px 20px;margin-bottom:16px;box-shadow:var(--ub-sh-sm)}
.ub-toc b{display:block;color:var(--ub-navy);font-weight:500;margin-bottom:8px;font-size:15px}
.ub-toc ol{margin:0;padding-left:20px;font-size:14px;line-height:1.6;color:var(--ub-muted)}
.ub-toc a{color:var(--ub-text);text-decoration:none}
.ub-toc a:hover{color:var(--ub-orange-d)}
.ub-crosslink{display:block;background:#FFF6EC;border:1px solid #F3DCC4;border-radius:var(--ub-r);
  padding:16px 20px;margin:26px 0;font-size:15.5px;line-height:1.55;color:#7A5314}
.ub-crosslink b{display:block;color:var(--ub-navy);font-weight:500;margin-bottom:4px}
.ub-more-link{text-align:center;margin:26px 0 0;font-size:15.5px}
.ub-more-link a{color:var(--ub-orange-d);text-decoration:none;border-bottom:1px solid rgba(168,64,10,.35)}
@media (max-width:900px){
  .ub-rail .ub-toc{display:none}
}

/* 09/27/26 fix: .ub-spec li was display:flex, so an inline <strong> inside a bullet
   became its own column ("Additional | paper type | choices"). Bullets are now
   block items with an absolutely positioned dot. */
.ub-spec li{display:block;position:relative;padding-left:16px}
.ub-spec li:before{display:block;position:absolute;left:0;top:0;margin-top:8px}
/* 4-column comparison table on the self-publishing guide */
.ub-table-4{min-width:0;font-size:14.5px}
.ub-table-4 th,.ub-table-4 td{padding:9px 9px}
.ub-table-4 tbody th{width:20%}
@media (max-width:600px){.ub-table-4{min-width:560px}}
.ub-table-4 thead th.ub-us{background:var(--ub-orange-d)}
.ub-table-4 td.ub-us{background:#FFF6EC;color:var(--ub-navy)}

/* ---------- 09/28/26 hero option D (preview, ?hero=d on the children's printing page) ---------- */
.ub-herod{background:var(--ub-navy);color:#fff;position:relative;overflow:hidden}
.ub-herod:after{content:"";position:absolute;right:-140px;top:-140px;width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle,rgba(204,78,12,.18),rgba(204,78,12,0) 70%);pointer-events:none}
.ub-herod .ub-wrap{display:flex;align-items:center;gap:56px;padding-top:44px;padding-bottom:44px;position:relative;z-index:1}
.ub-herod-txt{flex:1 1 480px;min-width:280px}
.ub-herod .ub-eyebrow{color:var(--ub-orange-l)}
.ub-herod h1{font-family:"Source Serif 4",Georgia,serif;font-weight:600;font-size:46px;line-height:1.08;letter-spacing:-.02em;
  color:#fff;margin:14px 0 18px;text-transform:none;text-align:left}
.ub-herod h1 em{font-style:normal;color:var(--ub-orange-l);display:block}
.ub-herod-checks{list-style:none;margin:0 0 18px;padding:0;font-size:17px;line-height:1.5;color:#D8E3EC}
.ub-herod-checks li{position:relative;padding-left:26px;margin-bottom:9px}
.ub-herod-checks li:before{content:"\2713";position:absolute;left:0;top:0;color:var(--ub-orange-l);font-weight:700}
.ub-herod a.ub-herod-soft{color:#FFD9BC;font-size:15px;text-decoration:none;border-bottom:1px solid rgba(255,217,188,.4)}
.ub-herod a.ub-herod-soft:hover{color:#fff}
.ub-qcard{flex:0 0 420px;width:420px;background:#fff;color:var(--ub-text);border-radius:14px;padding:26px 26px 20px;
  box-shadow:0 24px 50px rgba(0,0,0,.28);margin:0}
.ub-qcard h3{font-family:"Source Serif 4",Georgia,serif;color:var(--ub-navy);font-size:23px;font-weight:600;margin:0 0 4px;
  text-transform:none;text-align:left;line-height:1.25}
.ub-qcard > p{font-size:14px;color:var(--ub-muted);margin:0 0 16px;line-height:1.5}
.ub-qlabel{display:block;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ub-muted);
  margin:0 0 5px;font-weight:500}
.ub-qinput{display:block;width:100%;height:44px;border:1px solid #D5DCE3;border-radius:7px;padding:0 12px;font-size:15.5px;
  color:var(--ub-text);background:#fff;margin:0 0 12px;box-shadow:none}
.ub-qinput:focus{outline:none;border-color:var(--ub-orange);box-shadow:0 0 0 3px rgba(204,78,12,.18)}
.ub-qrow{display:flex;gap:12px}
.ub-qcol{flex:1;min-width:0}
.ub-qcol-sm{flex:0 0 108px}
.ub-qseg{display:flex;border:1px solid #D5DCE3;border-radius:7px;overflow:hidden;height:44px;margin:0 0 12px}
.ub-qseg input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.ub-qseg label{flex:1;display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;margin:0;
  color:var(--ub-text);font-weight:400;transition:background .15s}
.ub-qseg input:checked + label{background:var(--ub-navy);color:#fff}
.ub-qseg input:focus-visible + label{box-shadow:inset 0 0 0 2px var(--ub-orange)}
.ub-qcard .ub-btn{margin-top:4px;border:0;cursor:pointer;font-size:16.5px}
.ub-qhint{font-size:13.5px;color:var(--ub-navy);text-align:center;margin:10px 0 2px;line-height:1.45}
.ub-qtiny{font-size:13px;color:var(--ub-muted);text-align:center;margin:0}
.ub-qtiny a{color:var(--ub-orange-d);text-decoration:none}
@media (max-width:900px){
  .ub-herod .ub-wrap{flex-direction:column;align-items:stretch;gap:28px;padding-top:32px;padding-bottom:32px}
  .ub-herod h1{font-size:36px}
  .ub-qcard{flex:none;width:100%}
}

/* 09/28/26 hero D email field */
.ub-qerr{display:none;color:#B3261E;font-size:13px;margin:-6px 0 10px;line-height:1.4}
.ub-qinput.ub-bad{border-color:#B3261E;box-shadow:0 0 0 3px rgba(179,38,30,.12)}
.ub-qcard .ub-qerr{color:#B3261E;font-size:13px;margin:-6px 0 10px}

/* 09/28/26 hero D tightened (Dennis): Size + Copies share a row, no card subtitle,
   hint + phone on one line, less padding. Target: facts strip above an 805px fold */
.ub-herod .ub-wrap{padding-top:26px;padding-bottom:26px}
.ub-herod h1{font-size:42px;margin:10px 0 14px}
.ub-herod-checks{margin-bottom:12px}
.ub-herod-checks li{margin-bottom:6px}
.ub-qcard{padding:20px 22px 16px}
.ub-qcard h3{margin:0 0 12px}
.ub-qcard .ub-qinput,.ub-qcard .ub-qseg{height:40px;margin-bottom:10px}
.ub-qcard .ub-qlabel{margin-bottom:4px}
.ub-qcard .ub-qtiny{margin:9px 0 0;line-height:1.45}
.ub-qcard .ub-qtiny span{color:var(--ub-navy)}
.ub-qcard .ub-btn{margin-top:2px}
@media (max-width:900px){.ub-herod h1{font-size:34px}}

/* 09/28/26 hero D: in-card pricing for 1-49 copies */
.ub-qcard [hidden]{display:none !important}
.ub-qcard .ub-qopt{text-transform:none;letter-spacing:0;font-weight:400;color:var(--ub-muted);margin-left:4px}
.ub-qprice{background:#FFF6EC;border:1px solid #F3DCC4;border-radius:10px;padding:12px 14px 14px;margin:12px 0 0}
.ub-qprow{display:flex;justify-content:space-between;align-items:baseline;font-size:14.5px;padding:3px 0;color:var(--ub-text)}
.ub-qprow b{color:var(--ub-navy);font-weight:500}
.ub-qprow.ub-qtotal{border-top:1px solid #F3DCC4;margin-top:5px;padding-top:8px;font-size:15.5px}
.ub-qprow.ub-qtotal b{font-family:"Source Serif 4",Georgia,serif;font-size:21px;font-weight:600}
.ub-qprice .ub-btn{margin-top:10px}
.ub-qcard a.ub-btn,.ub-qcard a.ub-btn:hover,.ub-qcard a.ub-btn:focus{color:#fff;text-decoration:none}
.ub-qcard .ub-qnudge{font-size:13.5px;color:var(--ub-navy);margin:10px 0 0;line-height:1.45}
.ub-qcard .ub-qnudge a{color:var(--ub-orange-d);text-decoration:none;border-bottom:1px solid rgba(168,64,10,.35)}
.ub-qcard button[disabled]{opacity:.7;cursor:wait}

/* 09/28/26 no up/down spinner arrows on the card's number fields (Copies, Pages) */
.ub-qcard input[type=number]{-moz-appearance:textfield;appearance:textfield}
.ub-qcard input[type=number]::-webkit-outer-spin-button,
.ub-qcard input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* 10/01/26 printing page: six step cards per row (own class so other pages keep five) */
.ub-steps6 .ub-stepcell{width:16.666%}
@media (max-width:1100px){.ub-steps6 .ub-stepcell{width:33.333%}}
@media (max-width:640px){.ub-steps6 .ub-stepcell{width:100%}}
/* 10/01/26 sample covers in two rows, every cover the same height; landscape covers are wider */
.ub-samplerow{display:flex;flex-wrap:wrap;justify-content:center;gap:26px;margin:0 0 30px}
.ub-samplerow:last-child{margin-bottom:0}
.ub-samplecell2{flex:0 0 auto}
.ub-sample .ub-cover2{display:block;height:260px;aspect-ratio:232/300;background:#fff;border-radius:4px;overflow:hidden;
  box-shadow:var(--ub-sh-md);transition:transform .18s, box-shadow .18s}
.ub-land .ub-sample .ub-cover2{aspect-ratio:232/181}
.ub-sample .ub-cover2 img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%}
.ub-land .ub-sample .ub-cover2 img{object-position:50% 92%}
.ub-sample:hover .ub-cover2{transform:translateY(-4px);box-shadow:var(--ub-sh-lg)}
@media (max-width:1180px){.ub-sample .ub-cover2{height:220px}}
@media (max-width:900px){.ub-sample .ub-cover2{height:180px}.ub-samplerow{gap:18px}}
@media (max-width:520px){.ub-sample .ub-cover2{height:140px}.ub-samplerow{gap:14px}}

/* ------------------------------------------------------------------
   10/01/26 pricing menu (/pricing-book-printing.html, pages.id 185).
   Body is CMS content; templates/no_banner_image.blade.php skips its
   banner and container for this slug. Every rule is under .ub-pm
   ------------------------------------------------------------------ */
.ub-pm{color:var(--ub-text)}
.ub-pm h1,.ub-pm h2,.ub-pm h3{font-family:Fraunces,Georgia,"Times New Roman",serif;text-wrap:balance;margin:0;text-transform:none;letter-spacing:normal}
.ub-pm p{margin:0}
.ub-pm a{text-decoration:none}
.ub-pm a:focus-visible{outline:3px solid var(--ub-orange-l);outline-offset:3px}

/* hero */
.ub-pm .ub-pm-hero{background:var(--ub-cream);border-bottom:1px solid var(--ub-line)}
.ub-pm .ub-pm-hero .ub-wrap{padding-top:48px;padding-bottom:40px}
.ub-pm .ub-pm-hero h1{font-size:50px;font-weight:600;line-height:1.08;color:var(--ub-navy);letter-spacing:-.01em}
.ub-pm .ub-pm-hero h1 span{color:var(--ub-orange)}
.ub-pm .ub-pm-lede{max-width:60ch;font-size:18px;line-height:1.6;color:var(--ub-muted);margin-top:16px}

/* quantity ruler */
.ub-pm .ub-pm-ruler{max-width:760px;margin-top:26px}
.ub-pm .ub-pm-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;box-shadow:var(--ub-sh-sm)}
.ub-pm .ub-pm-bar-a{flex:49 1 0;background:linear-gradient(90deg,#9FB0BF,#7C90A3)}
.ub-pm .ub-pm-bar-b{flex:51 1 0;background:linear-gradient(90deg,var(--ub-orange),var(--ub-orange-d))}
.ub-pm .ub-pm-ticks{display:flex;font-size:13.5px;color:var(--ub-muted);margin-top:8px;font-variant-numeric:tabular-nums}
.ub-pm .ub-pm-ticks > span{display:flex;justify-content:space-between;gap:8px}
.ub-pm .ub-pm-tick-a{flex:49 1 0;padding-right:10px}
.ub-pm .ub-pm-tick-b{flex:51 1 0;padding-left:10px}
.ub-pm .ub-pm-ticks b{color:var(--ub-navy);font-weight:500}

/* the two paths */
.ub-pm .ub-pm-paths .ub-wrap{display:flex;gap:24px;align-items:stretch;padding-top:44px;padding-bottom:12px}
.ub-pm .ub-pm-card{position:relative;flex:1 1 0;min-width:0;border-radius:14px;padding:32px;display:flex;flex-direction:column;gap:18px}
.ub-pm .ub-pm-big{flex-grow:1.08}
.ub-pm .ub-pm-small{background:#fff;border:1px solid var(--ub-line);box-shadow:var(--ub-sh-sm)}
.ub-pm .ub-pm-big{background:var(--ub-navy);color:#fff;box-shadow:var(--ub-sh-md)}
.ub-pm .ub-pm-qty{font-family:"Source Serif 4",Georgia,serif;font-weight:700;font-size:58px;line-height:1}
.ub-pm .ub-pm-qty span{display:block;font-family:Ubuntu,"Ubuntu-R",sans-serif;font-size:14px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin-top:10px}
.ub-pm .ub-pm-small .ub-pm-qty{color:var(--ub-navy)}
.ub-pm .ub-pm-small .ub-pm-qty span{color:var(--ub-muted)}
.ub-pm .ub-pm-big .ub-pm-qty{color:#fff}
.ub-pm .ub-pm-big .ub-pm-qty span{color:var(--ub-orange-l)}
.ub-pm .ub-pm-flag{position:absolute;top:28px;right:28px;background:var(--ub-orange);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px;line-height:1.3}
.ub-pm .ub-pm-card h2{font-size:24px;font-weight:600;line-height:1.25}
.ub-pm .ub-pm-small h2{color:var(--ub-navy)}
.ub-pm .ub-pm-big h2{color:#fff}
.ub-pm .ub-pm-desc{font-size:16px;line-height:1.6}
.ub-pm .ub-pm-small .ub-pm-desc{color:var(--ub-muted)}
.ub-pm .ub-pm-big .ub-pm-desc{color:#C6D2DD}
.ub-pm ul.ub-pm-ticklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ub-pm ul.ub-pm-ticklist li{position:relative;list-style:none;margin:0;padding:0 0 0 30px;font-size:16px;line-height:1.5;background:none}
.ub-pm ul.ub-pm-ticklist li:before{content:"\2713";position:absolute;left:0;top:2px;width:19px;height:19px;border-radius:50%;
  background:#7C90A3;color:#fff;font-size:11px;font-weight:700;line-height:19px;text-align:center}
.ub-pm .ub-pm-small ul.ub-pm-ticklist li{color:var(--ub-text)}
.ub-pm .ub-pm-big ul.ub-pm-ticklist li{color:#fff}
.ub-pm .ub-pm-big ul.ub-pm-ticklist li:before{background:var(--ub-orange)}
.ub-pm .ub-pm-go{margin-top:auto;padding-top:6px}
.ub-pm a.ub-pm-btn{font-size:17px;font-weight:600;padding:16px 26px;border-radius:10px;color:#fff}
.ub-pm a.ub-pm-btn:hover,.ub-pm a.ub-pm-btn:focus{color:#fff;text-decoration:none}
.ub-pm .ub-pm-arrow{font-size:19px;line-height:1}
.ub-pm .ub-pm-fine{font-size:14px;color:#C6D2DD}
.ub-pm .ub-pm-fine a{color:var(--ub-orange-l);border-bottom:1px solid rgba(255,169,104,.4)}
.ub-pm .ub-pm-fine a:hover{color:#fff;border-bottom-color:#fff}

/* included with every order */
.ub-pm .ub-pm-incl .ub-wrap{padding-top:36px;padding-bottom:36px}
.ub-pm .ub-pm-incl h3{font-family:Ubuntu,"Ubuntu-R",sans-serif;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ub-muted);margin-bottom:16px}
.ub-pm .ub-pm-grid{display:flex;flex-wrap:wrap;border:1px solid var(--ub-line);border-radius:14px;background:#fff;overflow:hidden}
.ub-pm .ub-pm-grid > div{flex:1 1 25%;min-width:0;padding:22px;border-right:1px solid var(--ub-line)}
.ub-pm .ub-pm-grid > div:last-child{border-right:0}
.ub-pm .ub-pm-grid b{display:block;font-family:"Source Serif 4",Georgia,serif;font-size:22px;font-weight:600;color:var(--ub-navy);line-height:1.2;margin-bottom:4px}
.ub-pm .ub-pm-grid span{font-size:14.5px;line-height:1.5;color:var(--ub-muted)}

/* returning-customer links */
.ub-pm .ub-pm-back .ub-wrap{display:flex;gap:16px;padding-bottom:48px}
.ub-pm a.ub-pm-link{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px;
  border:1px solid var(--ub-line);border-radius:10px;background:#fff;transition:border-color .15s, box-shadow .15s}
.ub-pm a.ub-pm-link:hover{border-color:var(--ub-orange);box-shadow:var(--ub-sh-sm);text-decoration:none}
.ub-pm a.ub-pm-link b{display:block;color:var(--ub-navy);font-weight:500;font-size:16px}
.ub-pm a.ub-pm-link span span{display:block;font-size:14px;color:var(--ub-muted)}
.ub-pm a.ub-pm-link i{font-style:normal;color:var(--ub-orange);font-size:20px}

/* call band */
.ub-pm .ub-pm-call{background:var(--ub-ink);color:#C6D2DD}
.ub-pm .ub-pm-call .ub-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-top:34px;padding-bottom:34px}
.ub-pm .ub-pm-call h2{color:#fff;font-size:26px;font-weight:600}
.ub-pm .ub-pm-call p{margin-top:4px;font-size:16px}
.ub-pm a.ub-pm-phone{font-family:"Source Serif 4",Georgia,serif;font-size:32px;font-weight:600;color:var(--ub-orange-l)}
.ub-pm a.ub-pm-phone:hover{color:#fff;text-decoration:none}

@media (max-width:900px){
  .ub-pm .ub-pm-paths .ub-wrap,.ub-pm .ub-pm-back .ub-wrap{flex-direction:column}
  .ub-pm .ub-pm-grid > div{flex-basis:50%;border-bottom:1px solid var(--ub-line)}
  .ub-pm .ub-pm-grid > div:nth-child(2n){border-right:0}
  .ub-pm .ub-pm-grid > div:nth-child(n+3){border-bottom:0}
}
@media (max-width:640px){
  .ub-pm .ub-pm-hero h1{font-size:36px}
  .ub-pm .ub-pm-hero .ub-wrap{padding-top:34px;padding-bottom:30px}
  .ub-pm .ub-pm-card{padding:26px 22px}
  .ub-pm .ub-pm-qty{font-size:46px}
  .ub-pm .ub-pm-flag{position:static;align-self:flex-start;order:-1}
  .ub-pm .ub-pm-ticks{font-size:12.5px}
  .ub-pm .ub-pm-ticks .ub-pm-tick-a > span,.ub-pm .ub-pm-ticks .ub-pm-tick-b > span{display:none}
  .ub-pm .ub-pm-grid > div{flex-basis:100%;border-right:0;border-bottom:1px solid var(--ub-line)}
  .ub-pm .ub-pm-grid > div:nth-child(n+3){border-bottom:1px solid var(--ub-line)}
  .ub-pm .ub-pm-grid > div:last-child{border-bottom:0}
  .ub-pm a.ub-pm-phone{font-size:28px}
}
@media (prefers-reduced-motion:reduce){.ub-pm *{transition:none!important}}

/* ------------------------------------------------------------------
   10/01/26 1-49 pricing page (/pricing-book-printing-under50.html),
   templates/pricing_less_50_2026.blade.php. Every rule is under .ub-u50
   ------------------------------------------------------------------ */
.ub-u50{color:var(--ub-text)}
.ub-u50 h1,.ub-u50 h2{font-family:Fraunces,Georgia,"Times New Roman",serif;text-wrap:balance;margin:0;text-transform:none;letter-spacing:normal}
.ub-u50 p{margin:0}
.ub-u50 a:focus-visible,.ub-u50 button:focus-visible{outline:3px solid var(--ub-orange-l);outline-offset:3px}

.ub-u50 .ub-u50-hero{background:var(--ub-cream);border-bottom:1px solid var(--ub-line)}
.ub-u50 .ub-u50-hero .ub-wrap{display:flex;gap:48px;align-items:flex-start;padding-top:48px;padding-bottom:56px}
.ub-u50 .ub-u50-copy{flex:1 1 0;min-width:0;padding-top:8px}
.ub-u50 .ub-u50-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--ub-orange-d);font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.ub-u50 .ub-u50-eyebrow:before{content:"";width:28px;height:2px;background:var(--ub-orange);border-radius:2px}
.ub-u50 .ub-u50-copy h1{font-size:48px;font-weight:600;line-height:1.08;color:var(--ub-navy);letter-spacing:-.01em}
.ub-u50 .ub-u50-copy h1 span{color:var(--ub-orange)}
.ub-u50 ul.ub-u50-checks{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;max-width:54ch}
.ub-u50 ul.ub-u50-checks li{position:relative;list-style:none;margin:0;padding:0 0 0 32px;font-size:16px;line-height:1.55;color:var(--ub-text);background:none}
.ub-u50 ul.ub-u50-checks li:before{content:"\2713";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--ub-orange);color:#fff;font-size:11px;font-weight:700;line-height:20px;text-align:center}
.ub-u50 .ub-u50-tiers{margin-top:22px;max-width:54ch;padding:14px 18px;border:1px solid var(--ub-line);border-radius:12px;background:#fff}
.ub-u50 .ub-u50-tlabel{display:block;font-size:12.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ub-muted);margin-bottom:8px}
.ub-u50 .ub-u50-tiers ul{list-style:disc;margin:0;padding:0 0 0 20px;display:flex;flex-direction:column;gap:4px}
.ub-u50 .ub-u50-tiers li{list-style:disc;margin:0;padding:0;font-size:15.5px;line-height:1.5;color:var(--ub-text);background:none}
.ub-u50 .ub-u50-tiers li::marker{color:var(--ub-orange)}
.ub-u50 .ub-u50-tiers li b{display:inline-block;min-width:98px;color:var(--ub-navy);font-weight:500;font-variant-numeric:tabular-nums}
.ub-u50 a.ub-u50-soft{display:inline-block;margin-top:22px;color:var(--ub-orange-d);font-weight:500;text-decoration:none;border-bottom:1px solid rgba(168,64,10,.35)}
.ub-u50 a.ub-u50-soft:hover{color:var(--ub-navy);border-bottom-color:var(--ub-navy)}

/* price card */
.ub-u50 .ub-u50-card{flex:0 0 440px;min-width:0;background:#fff;border:1px solid var(--ub-line);border-radius:16px;box-shadow:var(--ub-sh-lg);padding:28px}
.ub-u50 .ub-u50-card h2{font-size:24px;font-weight:600;color:var(--ub-navy);margin-bottom:16px}
.ub-u50 .ub-u50-row{display:flex;gap:12px}
.ub-u50 .ub-u50-row .ub-u50-field{flex:1 1 0}
.ub-u50 .ub-u50-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;min-width:0}
.ub-u50 .ub-u50-lbl{display:block;margin:0;font-size:13px;font-weight:500;color:var(--ub-navy);letter-spacing:.02em}
.ub-u50 .ub-u50-lbl small{font-size:13px;font-weight:400;color:var(--ub-muted);letter-spacing:0}
.ub-u50 .ub-u50-in{display:block;width:100%;height:auto;font:16px Ubuntu,"Ubuntu-R",sans-serif;color:var(--ub-text);padding:12px 14px;border:1px solid #D6CCBF;border-radius:10px;background:#fff;box-shadow:none;-webkit-appearance:none;-moz-appearance:textfield;appearance:none}
.ub-u50 select.ub-u50-in{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2365717F' stroke-width='1.6'/%3E%3C/svg%3E") right 14px center/12px no-repeat;padding-right:36px}
.ub-u50 .ub-u50-in::-webkit-outer-spin-button,.ub-u50 .ub-u50-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ub-u50 .ub-u50-in:focus{outline:none;border-color:var(--ub-orange);box-shadow:0 0 0 3px rgba(204,78,12,.18)}
.ub-u50 .ub-u50-in.ub-u50-bad{border-color:#C2410C}
.ub-u50 .ub-u50-err{display:none;color:#C2410C;font-size:13px;margin:-8px 0 12px}
.ub-u50 #ub-u-serr{margin:10px 0 0}
.ub-u50 .ub-u50-seg{display:flex;border:1px solid #D6CCBF;border-radius:10px;overflow:hidden}
.ub-u50 .ub-u50-seg input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.ub-u50 .ub-u50-seg label{flex:1 1 0;margin:0;text-align:center;padding:11px 8px;cursor:pointer;font-size:15.5px;font-weight:500;color:var(--ub-muted);transition:background .15s,color .15s}
.ub-u50 .ub-u50-seg label + input + label{border-left:1px solid #D6CCBF}
.ub-u50 .ub-u50-seg input:checked + label{background:var(--ub-navy);color:#fff}
.ub-u50 .ub-u50-seg input:focus-visible + label{outline:3px solid var(--ub-orange-l);outline-offset:-3px}
.ub-u50 .ub-u50-mode{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ub-muted);margin:-2px 0 16px;padding:10px 12px;border-radius:10px;background:var(--ub-cream)}
.ub-u50 .ub-u50-mode b{color:var(--ub-navy);font-weight:500}
.ub-u50 .ub-u50-dot{width:9px;height:9px;border-radius:50%;background:#7C90A3;flex:0 0 auto}
.ub-u50 .ub-u50-mode.ub-u50-big .ub-u50-dot{background:var(--ub-orange)}
.ub-u50 .ub-u50-fifty{display:flex;flex-direction:column;gap:8px;margin:2px 0 16px;padding:14px 16px;border-radius:12px;background:var(--ub-navy);color:#C6D2DD;font-size:14.5px;line-height:1.5}
.ub-u50 .ub-u50-fifty[hidden]{display:none}
.ub-u50 .ub-u50-fifty b{color:#fff;font-family:"Source Serif 4",Georgia,serif;font-size:18px;font-weight:600}
.ub-u50 .ub-u50-fifty ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ub-u50 .ub-u50-fifty li{position:relative;list-style:none;margin:0;padding:0 0 0 22px;color:#fff;background:none}
.ub-u50 .ub-u50-fifty li:before{content:"\2713";position:absolute;left:0;color:var(--ub-orange-l);font-weight:700}
.ub-u50 .ub-btn.ub-u50-go,.ub-u50 .ub-btn.ub-u50-order{font-size:17px;font-weight:600;padding:16px 22px;border-radius:10px;color:#fff}
.ub-u50 .ub-btn.ub-u50-go[disabled]{opacity:.7;cursor:wait}
.ub-u50 .ub-btn.ub-u50-order{margin-top:12px}
.ub-u50 .ub-u50-price{background:#FFF6EC;border:1px solid #F3DCC4;border-radius:12px;padding:14px 16px 16px;margin-top:14px;font-variant-numeric:tabular-nums}
.ub-u50 .ub-u50-price[hidden]{display:none}
.ub-u50 .ub-u50-prow{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:15px;color:var(--ub-text)}
.ub-u50 .ub-u50-prow b{color:var(--ub-navy);font-weight:500}
.ub-u50 .ub-u50-prow.ub-u50-total{border-top:1px solid #F3DCC4;margin-top:6px;padding-top:9px;font-size:16px}
.ub-u50 .ub-u50-prow.ub-u50-total b{font-family:"Source Serif 4",Georgia,serif;font-size:24px;font-weight:600}
.ub-u50 .ub-u50-nudge{font-size:13.5px;color:var(--ub-navy);margin-top:12px;line-height:1.5}
.ub-u50 .ub-u50-nudge[hidden]{display:none}
.ub-u50 .ub-u50-nudge a{color:var(--ub-orange-d);text-decoration:none;border-bottom:1px solid rgba(168,64,10,.35)}

/* trust strip */
.ub-u50 .ub-u50-trust{border-bottom:1px solid var(--ub-line);background:#fff}
.ub-u50 .ub-u50-trust .ub-wrap{display:flex}
.ub-u50 .ub-u50-t{flex:1 1 0;min-width:0;padding:22px 18px;border-right:1px solid var(--ub-line)}
.ub-u50 .ub-u50-t:last-child{border-right:0}
.ub-u50 .ub-u50-t b{display:block;font-family:"Source Serif 4",Georgia,serif;font-size:21px;font-weight:600;color:var(--ub-navy);line-height:1.2}
.ub-u50 .ub-u50-t span{font-size:14px;color:var(--ub-muted)}
.ub-u50 .ub-u50-t.ub-u50-best b{color:var(--ub-orange-d)}

@media (max-width:960px){
  .ub-u50 .ub-u50-hero .ub-wrap{flex-direction:column;gap:28px;padding-top:32px;padding-bottom:40px}
  .ub-u50 .ub-u50-card{flex:none;width:100%;max-width:560px}
  .ub-u50 .ub-u50-copy h1{font-size:38px}
  /* phones and tablets: heading, then the card, then the rest of the copy */
  .ub-u50 .ub-u50-copy{display:contents}
  .ub-u50 .ub-u50-head{order:1}
  .ub-u50 .ub-u50-card{order:2}
  .ub-u50 .ub-u50-more{order:3}
  .ub-u50 ul.ub-u50-checks{margin-top:0}
}
@media (max-width:640px){
  .ub-u50 .ub-u50-copy h1{font-size:32px}
  .ub-u50 .ub-u50-card{padding:22px 18px}
  .ub-u50 .ub-u50-trust .ub-wrap{flex-direction:column}
  .ub-u50 .ub-u50-t{border-right:0;border-bottom:1px solid var(--ub-line);padding:16px 0}
  .ub-u50 .ub-u50-t:last-child{border-bottom:0}
}
@media (prefers-reduced-motion:reduce){.ub-u50 *{transition:none!important}}

/* ------------------------------------------------------------------
   10/01/26 50+ quote form (/pricing-book-printing-50.html),
   quote_form50_2026.blade.php. Restyles the existing form; every
   field, name and script is unchanged. Rules are under .ub-q50 and
   out-specify the form's own inline <style> block.
   ------------------------------------------------------------------ */
.ub-q50{color:var(--ub-text)}
.ub-q50 h1,.ub-q50 h2,.ub-q50 h3{font-family:Fraunces,Georgia,"Times New Roman",serif;text-wrap:balance;text-transform:none;letter-spacing:normal}
.ub-q50 p{margin:0}

/* hero */
.ub-q50 .ub-q50-hero{background:var(--ub-cream);border-bottom:1px solid var(--ub-line)}
.ub-q50 .ub-q50-hero .ub-wrap{padding-top:44px;padding-bottom:40px;display:flex;flex-direction:column;gap:16px}
.ub-q50 .ub-q50-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--ub-orange-d);font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.ub-q50 .ub-q50-eyebrow:before{content:"";width:28px;height:2px;background:var(--ub-orange);border-radius:2px}
.ub-q50 .ub-q50-hero h1{margin:0;font-size:46px;font-weight:600;line-height:1.08;color:var(--ub-navy);letter-spacing:-.01em;max-width:22ch}
.ub-q50 .ub-q50-hero h1 span{color:var(--ub-orange)}
.ub-q50 .ub-q50-lede{max-width:64ch;color:var(--ub-muted);font-size:17.5px;line-height:1.6}
.ub-q50 .ub-q50-lede .q50-req{color:#C2410C}
.ub-q50 .ub-q50-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.ub-q50 .ub-q50-pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--ub-line);border-radius:999px;padding:7px 14px;font-size:14px;color:var(--ub-navy);box-shadow:var(--ub-sh-sm)}
.ub-q50 .ub-q50-pill:before{content:"\2713";color:var(--ub-orange);font-weight:700}

/* body: form + rail */
.ub-q50 .ub-q50-body{display:flex;gap:40px;align-items:flex-start;padding-top:36px;padding-bottom:64px}
.ub-q50 .ub-q50-body .q50-wrap{flex:1 1 0;min-width:0;max-width:none;margin:0;padding:0}
.ub-q50 .ub-q50-rail{flex:0 0 300px;position:sticky;top:90px;display:flex;flex-direction:column;gap:16px}
.ub-q50 .ub-q50-box{border:1px solid var(--ub-line);background:var(--ub-cream);border-radius:16px;padding:22px}
.ub-q50 .ub-q50-box h3{margin:0 0 12px;font-size:19px;font-weight:600;color:var(--ub-navy)}
.ub-q50 .ub-q50-box ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;counter-reset:ubq}
.ub-q50 .ub-q50-box li{counter-increment:ubq;position:relative;list-style:none;margin:0;padding:0 0 0 38px;font-size:14.5px;line-height:1.5;color:var(--ub-text);min-height:26px;background:none}
.ub-q50 .ub-q50-box li:before{content:counter(ubq);position:absolute;left:0;top:-1px;width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid #D6CCBF;color:var(--ub-navy);font:600 13px/24px "Source Serif 4",Georgia,serif;text-align:center}
.ub-q50 .ub-q50-under{font-size:14px;color:var(--ub-muted);padding:0 4px}
.ub-q50 .ub-q50-under a{color:var(--ub-orange-d);text-decoration:none;border-bottom:1px solid rgba(168,64,10,.35)}

/* sections become numbered cards with a 2-column grid */
.ub-q50 .q50-wrap .q50-section{margin:0 0 24px;border:1px solid var(--ub-line);border-radius:16px;background:#fff;box-shadow:var(--ub-sh-sm);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 20px;padding:0 24px 24px}
.ub-q50 .q50-wrap .q50-section > h2{grid-column:1/-1;display:flex;align-items:center;gap:14px;margin:0 -24px 6px;padding:16px 24px;background:var(--ub-cream);color:var(--ub-navy);border:0;border-bottom:1px solid var(--ub-line);border-radius:16px 16px 0 0;font-size:21px;font-weight:600;text-transform:none;letter-spacing:normal}
.ub-q50 .ub-q50-num{width:34px;height:34px;border-radius:50%;background:var(--ub-navy);color:#fff;font:600 16px/34px "Source Serif 4",Georgia,serif;text-align:center;flex:0 0 auto}
.ub-q50 .q50-wrap .q50-section > *{grid-column:1/-1;min-width:0}
.ub-q50 .q50-wrap .q50-section > .ub-half{grid-column:auto}
.ub-q50 .q50-wrap .q50-field{margin:0}
.ub-q50 .q50-wrap .q50-row{display:flex;gap:18px 20px;margin:0}
.ub-q50 .q50-wrap .q50-row > .q50-field{flex:1 1 0;min-width:0;padding:0}
.ub-q50 .q50-wrap .q50-field > label.q50-label,.ub-q50 .q50-wrap .q50-field > .q50-label{font-size:14px;font-weight:500;color:var(--ub-navy);margin-bottom:6px}
.ub-q50 .q50-wrap .q50-req{color:#C2410C}
.ub-q50 .q50-wrap .q50-field.has-error > label.q50-label{color:#d0021b}
.ub-q50 .q50-wrap .q50-help{font-size:13px;color:var(--ub-muted);margin:0 0 6px;max-width:none}
.ub-q50 .q50-wrap .q50-label a{color:var(--ub-orange-d)}

/* inputs: every box fills its cell */
.ub-q50 .q50-wrap .q50-field input[type=text],.ub-q50 .q50-wrap .q50-field input[type=email],
.ub-q50 .q50-wrap .q50-field input[type=tel],.ub-q50 .q50-wrap .q50-field input[type=number],
.ub-q50 .q50-wrap .q50-field select,.ub-q50 .q50-wrap .q50-field select.q50-auto,.ub-q50 .q50-wrap .q50-field textarea{
  display:block;width:100%;max-width:100%;height:auto;min-height:46px;font:16px Ubuntu,"Ubuntu-R",sans-serif;color:var(--ub-text);
  padding:11px 14px;border:1px solid #D6CCBF;border-radius:10px;background-color:#fff;box-shadow:none}
.ub-q50 .q50-wrap .q50-field select,.ub-q50 .q50-wrap .q50-field select.q50-auto{-webkit-appearance:none;appearance:none;padding-right:36px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2365717F' stroke-width='1.6'/%3E%3C/svg%3E") right 14px center/12px no-repeat}
.ub-q50 .q50-wrap .q50-field textarea{min-height:96px}
.ub-q50 .q50-wrap .q50-field input:focus,.ub-q50 .q50-wrap .q50-field select:focus,.ub-q50 .q50-wrap .q50-field textarea:focus{outline:none;border-color:var(--ub-orange);box-shadow:0 0 0 3px rgba(204,78,12,.18)}
.ub-q50 .q50-wrap .q50-field #book_qty{max-width:260px}
.ub-q50 .q50-wrap .q50-field.has-error input,.ub-q50 .q50-wrap .q50-field.has-error select,.ub-q50 .q50-wrap .q50-field.has-error textarea{border:2px solid #d0021b;background:#fffafa}
.ub-q50 .q50-wrap .q50-derived{min-height:46px;margin:0;padding:11px 14px;border-radius:10px;background:var(--ub-cream);border:1px dashed #D6CCBF;color:var(--ub-navy);font-weight:500;font-size:16px;font-variant-numeric:tabular-nums}
.ub-q50 .q50-wrap .ub-q50-pages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 20px;margin:0}
.ub-q50 .q50-wrap .ub-q50-pages > .q50-field{padding:0}
.ub-q50 .q50-wrap .ub-q50-pages > .q50-field[hidden]{display:none}
.ub-q50 .q50-wrap .ub-q50-pagehelp{grid-column:1/-1;margin:-8px 0 0}
.ub-q50 .ub-q50-switch{display:none;margin-top:8px;font-size:14px;color:#8A4A12;background:#FFF4E8;border-radius:10px;padding:10px 14px}

/* tick boxes as pills (quantity ranges, cover type, yearbook options) */
.ub-q50 .q50-wrap .q50-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.ub-q50 .q50-wrap .q50-choice{position:relative;margin:0;white-space:nowrap}
.ub-q50 .q50-wrap .q50-choice:not(.ub-q50-plain) input[type="checkbox"]{position:absolute !important;opacity:0 !important;width:1px !important;height:1px !important;min-width:0;margin:0 !important;pointer-events:none}
.ub-q50 .q50-wrap .q50-choice:not(.ub-q50-plain) label{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid #D6CCBF;border-radius:999px;cursor:pointer;font-size:14.5px;font-weight:400;color:var(--ub-text);background:#fff;transition:background .15s,border-color .15s,color .15s}
.ub-q50 .q50-wrap .q50-choice:not(.ub-q50-plain) label:before{content:"";width:14px;height:14px;border-radius:4px;border:1.5px solid #9AA6B2;background:#fff;flex:0 0 auto}
.ub-q50 .q50-wrap .q50-choice:not(.ub-q50-plain) input:checked + label{background:var(--ub-navy);border-color:var(--ub-navy);color:#fff}
.ub-q50 .q50-wrap .q50-choice:not(.ub-q50-plain) input:checked + label:before{border-color:var(--ub-orange);background:var(--ub-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.ub-q50 .q50-wrap .q50-choice:not(.ub-q50-plain) input:focus-visible + label{outline:3px solid var(--ub-orange-l);outline-offset:2px}
.ub-q50 .q50-wrap [data-field="cover_type"] .q50-choice label{padding:13px 22px;font-size:16px;font-weight:500;border-radius:12px}
/* the special offers opt-in stays a plain checkbox (Dennis 10/01/26) */
.ub-q50 .q50-wrap .ub-q50-plain label{font-size:15px;font-weight:400;color:var(--ub-text);white-space:normal}
.ub-q50 .q50-wrap .ub-q50-plain input[type="checkbox"]{accent-color:var(--ub-orange)}

/* privacy, errors, submit */
.ub-q50 .q50-wrap .q50-privacy{border:0;border-radius:12px;background:var(--ub-cream);padding:16px 18px;margin:0;font-size:13.5px;color:var(--ub-muted)}
.ub-q50 .q50-wrap .q50-privacy .q50-privacy-head{color:var(--ub-navy);font-weight:500}
.ub-q50 .q50-wrap .q50-privacy p + p{margin-top:8px}
.ub-q50 .q50-wrap .q50-errors{border-radius:12px;margin:0 0 20px}
.ub-q50 .q50-wrap .q50-draft{border-radius:12px;margin:0 0 20px}
.ub-q50 .q50-wrap .q50-submit{margin:4px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.ub-q50 .q50-wrap .q50-submit button{background:var(--ub-orange);color:#fff;border:0;border-radius:12px;padding:17px 34px;min-height:54px;font:600 18px/1 Ubuntu,"Ubuntu-R",sans-serif;box-shadow:0 2px 0 var(--ub-orange-d),0 8px 20px rgba(204,78,12,.28)}
.ub-q50 .q50-wrap .q50-submit button:hover{background:#B5440A}
.ub-q50 .q50-wrap .q50-submit button:focus-visible{outline:3px solid var(--ub-orange-l);outline-offset:3px}
.ub-q50 .q50-wrap .q50-submit small{font-size:13.5px;color:var(--ub-muted)}

@media (max-width:980px){
  .ub-q50 .ub-q50-body{flex-direction:column;gap:24px;padding-top:24px}
  .ub-q50 .ub-q50-body .q50-wrap{width:100%}
  .ub-q50 .ub-q50-rail{position:static;flex:none;width:100%}
  .ub-q50 .ub-q50-hero h1{font-size:36px}
}
@media (max-width:640px){
  .ub-q50 .ub-q50-hero .ub-wrap{padding-top:30px;padding-bottom:28px}
  .ub-q50 .ub-q50-hero h1{font-size:30px}
  .ub-q50 .q50-wrap .q50-section{grid-template-columns:minmax(0,1fr);padding:0 16px 20px}
  .ub-q50 .q50-wrap .q50-section > h2{margin:0 -16px 4px;padding:14px 16px;font-size:19px}
  .ub-q50 .q50-wrap .q50-section > .ub-half{grid-column:1/-1}
  .ub-q50 .q50-wrap .q50-row{flex-direction:column}
  .ub-q50 .q50-wrap .ub-q50-pages{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ub-q50 .q50-wrap .q50-field #book_qty{max-width:none}
  .ub-q50 .q50-wrap .q50-submit button{width:100%}
  .ub-q50 .q50-wrap .q50-choice:not(.ub-q50-plain){display:inline-block}
}
@media (prefers-reduced-motion:reduce){.ub-q50 *{transition:none!important}}
/* 10/01/26 50+ form: tighter pills on phones so two fit per line */
@media (max-width:640px){
  .ub-q50 .q50-wrap .q50-choice:not(.ub-q50-plain) label{padding:8px 11px;gap:6px;font-size:14px}
  .ub-q50 .q50-wrap [data-field="cover_type"] .q50-choice label{padding:12px 14px;font-size:15px}
}
/* 10/01/26 50+ form rev 2: no spinner arrows; quiet opt-in; trust strip after the form */
.ub-q50 .q50-wrap #book_qty,.ub-q50 .q50-wrap #page_count,.ub-q50 .q50-wrap #color_pages{-moz-appearance:textfield;appearance:textfield}
.ub-q50 .q50-wrap #book_qty::-webkit-outer-spin-button,.ub-q50 .q50-wrap #book_qty::-webkit-inner-spin-button,
.ub-q50 .q50-wrap #page_count::-webkit-outer-spin-button,.ub-q50 .q50-wrap #page_count::-webkit-inner-spin-button,
.ub-q50 .q50-wrap #color_pages::-webkit-outer-spin-button,.ub-q50 .q50-wrap #color_pages::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ub-q50 .q50-wrap .ub-q50-plain{display:flex;align-items:center;gap:7px}
.ub-q50 .q50-wrap .ub-q50-plain label{font-size:13px;color:var(--ub-muted);white-space:normal}
.ub-q50 .q50-wrap .ub-q50-plain input[type="checkbox"]{accent-color:auto;width:14px !important;height:14px !important;min-width:14px;margin:0 !important}
.ub-q50 .ub-q50-trust{border-top:1px solid var(--ub-line);border-bottom:1px solid var(--ub-line);background:#fff}
.ub-q50 .ub-q50-trust .ub-wrap{display:flex}
.ub-q50 .ub-q50-t{flex:1 1 0;min-width:0;padding:22px 18px;border-right:1px solid var(--ub-line)}
.ub-q50 .ub-q50-t:last-child{border-right:0}
.ub-q50 .ub-q50-t b{display:block;font-family:"Source Serif 4",Georgia,serif;font-size:21px;font-weight:600;color:var(--ub-navy);line-height:1.2}
.ub-q50 .ub-q50-t span{font-size:14px;color:var(--ub-muted)}
@media (max-width:640px){
  .ub-q50 .ub-q50-trust .ub-wrap{flex-direction:column}
  .ub-q50 .ub-q50-t{border-right:0;border-bottom:1px solid var(--ub-line);padding:16px 0}
  .ub-q50 .ub-q50-t:last-child{border-bottom:0}
}

/* 10/04/26 DMS - buttons inside body copy (.ub-prose) were picking up the orange link color and
   underline from ".ub-prose a", so the label was unreadable on the orange button (Dennis). */
.ub-prose a.ub-btn{border-bottom:0;text-decoration:none}
.ub-prose a.ub-btn-primary,.ub-prose a.ub-btn-primary:hover,.ub-prose a.ub-btn-primary:focus,
.ub-prose a.ub-btn-dark,.ub-prose a.ub-btn-dark:hover,.ub-prose a.ub-btn-dark:focus{color:#fff}
.ub-prose a.ub-btn-quiet,.ub-prose a.ub-btn-quiet:hover{color:var(--ub-navy);border:1px solid var(--ub-line)}

/* 10/05/26 Dennis approved: (1) body copy wider and centred on pages with no right rail, (2) no empty gap under the hero text when the hero stacks, (3) footer buttons may shrink on phones (was 15px sideways scroll) */
.ub-cols>.ub-prose:only-child{max-width:820px;margin-left:auto;margin-right:auto}
@media(max-width:900px){.ub-herod-txt{flex:0 0 auto}}
.ub-fband .ub-fbcta{flex:0 1 auto;max-width:100%}