/* Links / card-bottom recolor. Self-hosted faces only. */
@font-face{
  font-family:Montserrat;
  src:url(/fonts/Montserrat-Regular.woff2) format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:Montserrat;
  src:url(/fonts/Montserrat-Medium.woff2) format('woff2');
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:Montserrat;
  src:url(/fonts/Montserrat-SemiBold.woff2) format('woff2');
  font-weight:600;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:Montserrat;
  src:url(/fonts/Montserrat-SemiBold.woff2) format('woff2');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Playfair Display';
  src:url(/fonts/PlayfairDisplay-VF.woff2) format('woff2');
  font-weight:400 900;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:Hurricane;
  src:url(/fonts/Hurricane-Regular.woff2) format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:Raleway;
  src:url(/fonts/Raleway-Variable.woff2) format('woff2');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

.ico-star,.ico-heart{
  display:inline-block;
  width:.9em;
  height:.9em;
  vertical-align:-.12em;
  fill:currentColor;
}
.ico-star{width:.85em;height:.85em}

body.links-recolor{
  font-family:Montserrat,sans-serif;
  font-weight:400;
  color:#fff;
  background:#1C1C1C;
  padding:0 0 0;
}
body.links-recolor .bg-img{
  background-image:url(/links/bg.jpg);
  background-image:image-set(url(/links/bg.avif) type('image/avif'), url(/links/bg.jpg) type('image/jpeg'));
  animation:none;
}
body.links-recolor .bg-overlay{
  /* 0.78 keeps 12px gold and cream at 4.5:1 over the bright doorway. */
  background:rgba(28,28,28,.78);
}
body.links-recolor .wrap{
  max-width:560px;
  padding:28px 18px 0;
  box-sizing:border-box;
}
body.links-recolor #lib-logo-link{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
body.links-recolor .brand-logo,
body.links-recolor .wm-lockup{
  font-family:'Playfair Display',serif;
  font-weight:600;
  font-size:34px;
  line-height:1.05;
  color:#fff;
  letter-spacing:0;
}
body.links-recolor .wm-lockup{margin-bottom:8px}
body.links-recolor .brand{margin-bottom:28px}
body.links-recolor .wm-shop,
.lb .wm-shop{color:#F2D494}
body.links-recolor .wm-cool,
.lb .wm-cool{color:#fff}
body.links-recolor #lib-logo-link.logo,
body.links-recolor a.logo{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
body.links-recolor .brand-tag{
  font-family:Montserrat,sans-serif;
  font-weight:600;
  font-size:12px;
  letter-spacing:.2em;
  color:#F2D494;
  text-transform:uppercase;
}
body.links-recolor .brand-desc{
  font-family:Montserrat,sans-serif;
  font-weight:400;
  font-size:15px;
  line-height:1.6;
  color:#E9E6DF;
  max-width:34em;
}
body.links-recolor .venn-c{border-color:rgba(242,212,148,.6)}
body.links-recolor .venn-c--center{
  border-color:rgba(242,212,148,.9);
  box-shadow:0 4px 24px rgba(242,212,148,.45);
}
body.links-recolor .lb-nav{
  position:relative;
  z-index:3;
  width:min(100%, 560px);
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  min-height:60px;
  padding:8px 18px;
  background:rgba(28,28,28,.85);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(242,212,148,.18);
  box-sizing:border-box;
}
body.links-recolor .lb-nav .wm{
  font-family:'Playfair Display',serif;
  font-weight:600;
  font-size:22px;
  line-height:1;
  color:#fff;
  text-decoration:none;
  min-height:44px;
  display:inline-flex;
  align-items:center;
}
body.links-recolor .lb-nav .pill{
  font-family:Montserrat,sans-serif;
  font-weight:600;
  font-size:14px;
  letter-spacing:.02em;
  min-height:44px;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:#A8B5A0;
  color:#1C1C1C;
  text-decoration:none;
}

/* Shared bottom. Card keeps its own page chrome. */
body:not(.links-recolor){padding-bottom:0}
.lb{
  font-family:Montserrat,sans-serif;
  font-weight:400;
  color:#fff;
  width:100%;
  position:relative;
  z-index:1;
}
body:not(.links-recolor) .lb::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background-image:linear-gradient(rgba(28,28,28,.78),rgba(28,28,28,.78)),url(/links/bg.jpg);
  background-image:linear-gradient(rgba(28,28,28,.78),rgba(28,28,28,.78)),image-set(url(/links/bg.avif) type('image/avif'), url(/links/bg.jpg) type('image/jpeg'));
  background-size:cover;
  background-position:center;
  pointer-events:none;
  z-index:0;
}
.lb > *{position:relative;z-index:1}

.lb .section-label{
  font-family:Montserrat,sans-serif;
  font-weight:600;
  font-size:12px;
  letter-spacing:.2em;
  color:#F2D494;
  text-transform:uppercase;
  justify-content:center;
}
.lb .section-label::before,
.lb .section-label::after{display:none}
.lb .hur,
.lb .section-label.hur{
  font-family:Hurricane,cursive;
  font-weight:400;
  font-style:normal;
  letter-spacing:0;
  text-transform:none;
  color:#F2D494;
  line-height:1;
}
.lb .hur{
  display:inline;
  font-size:1.9em;
  vertical-align:-.12em;
}
.lb .section-label.hur{
  display:flex;
  font-size:clamp(42px,11vw,58px);
  line-height:1.05;
  margin:8px 0 12px;
}

.lb .link-card a,
.lb .trio-card,
.lb #lib-mini-blog,
.lb #lib-ai-design,
.lb .link-card{
  background:rgba(43,26,16,.6);
  border:1px solid rgba(242,212,148,.22);
  border-radius:18px;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.lb .link-card.feat a,
.lb .link-card a:hover,
.lb .trio-card:hover{
  background:rgba(43,26,16,.6);
  border-color:rgba(242,212,148,.45);
}
.lb .link-card a::before{display:none}
.lb .lc-title,
.lb .lb-title,
.lb .trio-name{
  font-family:Montserrat,sans-serif;
  font-weight:600;
  color:#fff;
}
/* Homepage headings (.sh2) are Playfair Display. /links titles match while the flag is on.
   body.links-recolor keeps this off /card, which may not change its title font. */
html[data-rs-links] body.links-recolor .lb .lc-title,
html[data-rs-links] body.links-recolor .lb .lb-title,
html[data-rs-links] body.links-recolor .lb .trio-name,
html[data-rs-links] body.links-recolor .lb .lb-ready{
  font-family:'Playfair Display',Georgia,serif !important;
}
.lb .link-card.feat .lc-body{
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  padding:20px 22px 22px;
}
.lb .link-card.feat .lc-title{
  font-size:20px;
  line-height:1.28;
  white-space:normal;
  margin-bottom:8px;
}
.lb .link-card.feat .lc-sub,
.lb .lb-excerpt,
.lb .lb-copy{
  font-family:Montserrat,sans-serif;
  font-weight:400;
  font-size:15px;
  line-height:1.6;
  color:#E9E6DF;
  white-space:normal;
}
.lb .link-card.feat .lc-arrow{display:none}
.lb .lc-badge,
.lb .lb-btn{
  font-family:Montserrat,sans-serif !important;
  font-weight:600 !important;
  font-size:14px !important;
  line-height:1 !important;
  min-height:44px !important;
  padding:0 22px !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  letter-spacing:.04em !important;
  text-decoration:none;
  box-sizing:border-box;
}
html[data-rs-links] .lb .lc-badge,
html[data-rs-links] .lb .lb-btn,
html[data-rs-card] .lb .lc-badge,
html[data-rs-card] .lb .lb-btn{
  font-family:Montserrat,sans-serif !important;
  font-weight:600 !important;
  font-size:14px !important;
  line-height:1 !important;
  min-height:44px !important;
  padding:0 22px !important;
  letter-spacing:.04em !important;
  white-space:nowrap;
}
.lb .link-card.feat .lc-badge{margin-top:16px}
.lb #lib-frost-tour .lc-badge{
  background:#F2D494;
  color:#1C1C1C;
}
.lb #lib-frost-tour .lc-badge::after{content:" ›"}
.lb #lib-free .lc-badge{
  background:#A8B5A0;
  color:#1C1C1C;
  text-transform:uppercase;
}
.lb #lib-free .lc-badge::after{content:" ›"}
.lb .btn-gold{
  background:#F2D494;
  color:#1C1C1C;
}
.lb .btn-sage{
  background:#A8B5A0;
  color:#1C1C1C;
}
.lb .trio-price{
  font-family:Montserrat,sans-serif;
  font-weight:600;
  color:#F2D494;
}
.lb .trio-sub{font-family:Montserrat,sans-serif;font-weight:500}
.lb .kicker{
  font-family:Montserrat,sans-serif;
  font-weight:600;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#F2D494;
}
.lb .lb-price{
  font-family:Montserrat,sans-serif;
  font-weight:600;
  color:#F2D494;
}
.lb .social-btn{
  width:44px;
  height:44px;
  border:1px solid rgba(242,212,148,.4);
  background:rgba(28,28,28,.85);
  color:#F2D494;
}
.lb .social-btn:hover{
  background:#1C1C1C;
  border-color:#F2D494;
  color:#F2D494;
}
.lb .social-btn.social-soon::after{
  font-family:Montserrat,sans-serif;
  font-weight:600;
  color:#F2D494;
  background:#1C1C1C;
  border-color:rgba(242,212,148,.45);
}
.lb .lc-icon{
  width:46px;
  height:46px;
  border-radius:12px;
  background:#2B1A10;
  border:1px solid rgba(242,212,148,.35);
  color:#fff;
}
.lb .lc-arrow{color:#F2D494}
.lb #lib-video-wrap .isc-video{
  border-radius:18px;
  border:1px solid rgba(242,212,148,.22);
  overflow:hidden;
}
.lb #lib-video-wrap video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#111;
}
/* Callouts are painted inside the picture. Flag-on plays v3,
   which has no painted AI label, and shows the whole frame. */
html[data-rs-links] .lb #lib-video-wrap .isc-video,
html[data-rs-card] .lb #lib-video-wrap .isc-video{position:relative}
html[data-rs-links] .lb #lib-video-wrap video,
html[data-rs-card] .lb #lib-video-wrap video{
  transform:none;
  object-fit:contain;
  object-position:center center;
}
html[data-rs-links] .lb #lib-video-wrap .ai-illustration--on-photo,
html[data-rs-card] .lb #lib-video-wrap .ai-illustration--on-photo{z-index:5}
.lb .lb-watch-sound{
  position:absolute;
  top:10px;
  right:10px;
  z-index:4;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  padding:0;
  border-radius:999px;
  border:1px solid rgba(242,212,148,.55);
  background:rgba(28,28,28,.85);
  color:#F2D494;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.lb .lb-watch-sound .lb-sound-on{display:none}
.lb .lb-watch-sound.is-on .lb-sound-off{display:none}
.lb .lb-watch-sound.is-on .lb-sound-on{display:block}
.lb .lb-watch-sound:focus-visible{
  outline:3px solid #F2D494;
  outline-offset:2px;
}
.lb :focus-visible{
  outline:3px solid #F2D494 !important;
  outline-offset:2px;
  box-shadow:0 0 0 2px #1C1C1C !important;
}
.lb button,
.lb input[type="text"],
.lb input[type="email"]{
  min-height:44px;
  font-family:Montserrat,sans-serif;
}
.lb input::placeholder{
  color:#E9E6DF;
  opacity:1;
}
.lb #ic-form a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  color:#fff;
  font-weight:600;
}

.lb .lib-footer{
  background:#1C1C1C;
  color:#E9E6DF;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-top:28px;
  padding:36px 20px 48px;
  box-sizing:border-box;
  border-top:1px solid rgba(242,212,148,.18);
  text-align:center;
}
/* Same box as the guide .card.follow-card in lib-template.css. */
html[data-rs-links] .lb .lib-footer.card.follow-card,
html[data-rs-card] .lb .lib-footer.card.follow-card{
  background:rgba(8,10,16,.32);
  -webkit-backdrop-filter:blur(22px);
  backdrop-filter:blur(22px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  overflow:hidden;
  margin:0 0 14px;
  padding:32px 24px;
  width:auto;
  max-width:100%;
  box-sizing:border-box;
  box-shadow:0 8px 32px rgba(0,0,0,.3);
  color:#E9E6DF;
  text-align:center;
}
html[data-rs-links] .lb .lib-footer.card.follow-card > .section-label,
html[data-rs-card] .lb .lib-footer.card.follow-card > .section-label{margin-top:0}
html[data-rs-links] .lb .lib-footer.card.follow-card > .social-row,
html[data-rs-card] .lb .lib-footer.card.follow-card > .social-row{margin-top:0;margin-bottom:24px}
html[data-rs-links] .lb .lib-footer > .logo,
html[data-rs-card] .lb .lib-footer > .logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  min-width:44px;
  box-sizing:border-box;
}
.lb .lb-foot-wm{
  font-family:'Playfair Display',serif;
  font-weight:600;
  font-size:24px;
  line-height:1.1;
  color:#fff;
}
.lb .lb-tagline{
  font-family:Montserrat,sans-serif;
  font-weight:400;
  font-size:14px;
  color:#E9E6DF;
  margin:8px 0 4px;
}
.lb .lb-tagline .ico-heart{color:#F2D494}
html[data-rs-links] .lb-foot-links > span,
html[data-rs-card] .lb-foot-links > span{display:none}
.lb .lb-foot-links{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:4px 14px;
  flex-wrap:wrap;
  margin:8px 0 12px;
}
.lb .lb-foot-links a,
.lb .lb-foot-links button{
  font-family:Montserrat,sans-serif;
  font-weight:500;
  font-size:13px;
  color:#fff;
  opacity:1;
  text-decoration:none;
  min-width:44px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0;
  padding:0 8px;
  cursor:pointer;
}
.lb .lb-foot-links a:hover,
.lb .lb-foot-links button:hover{color:#F2D494}
.lb .lb-legal{
  max-width:560px;
  margin:0 auto;
  font-family:Montserrat,sans-serif;
  font-weight:400;
  font-size:12px;
  line-height:1.6;
  color:#E9E6DF;
}
.lb .lb-ready{
  font-family:Montserrat,sans-serif;
  font-weight:600;
  font-size:22px;
  line-height:1.35;
  color:#fff;
  margin:0 0 10px;
}
.lb .lb-note{
  font-family:Montserrat,sans-serif;
  font-weight:400;
  font-size:12px;
  line-height:1.5;
  color:#E9E6DF;
}
.lb #lib-blog2 > .ai-illustration,
.lb #lib-mini-blog > .ai-illustration{
  margin:6px 18px 0;
}
/* Flag-on .lb-btn uses the shared gold button. .lc-badge stays a pill.
   Tokens live in isc-ui.css; the fallbacks match them on /card, which
   does not load that sheet. Desktop height is 38px, 44px at 860 and under. */
html[data-rs-links] .lb .lb-btn,
html[data-rs-card] .lb .lb-btn{
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:var(--isc-btn-min-height, 38px) !important;
  min-width:44px !important;
  padding:var(--isc-btn-pad, 9px 16px) !important;
  border:none !important;
  border-radius:var(--isc-btn-radius, 6px) !important;
  background:var(--isc-btn-bg, #F2D494) !important;
  color:var(--isc-btn-ink, #1C1C1C) !important;
  font-family:var(--isc-btn-font, 'Raleway', 'Lato', sans-serif) !important;
  font-size:var(--isc-btn-size, .76rem) !important;
  font-weight:var(--isc-btn-weight, 700) !important;
  letter-spacing:var(--isc-btn-tracking, .05em) !important;
  line-height:var(--isc-btn-leading, 1.2) !important;
  text-transform:none !important;
  text-decoration:none !important;
  box-shadow:none !important;
  white-space:nowrap !important;
}
@media (max-width:860px){
  html[data-rs-buttons][data-rs-links] .lb .lb-btn,
  html[data-rs-buttons][data-rs-card] .lb .lb-btn{
    min-height:var(--isc-btn-min-height-touch, 44px) !important;
  }
}
