/* Adventure with Alphabet — direct contact information layout, 2026-09-06 */
.contact-page-hero{
  text-align:center;
  padding-bottom:18px!important;
}
.contact-page-hero .eyebrow{
  margin-bottom:7px;
  letter-spacing:.18em;
}
.contact-page-hero h1{
  max-width:980px;
  margin-inline:auto;
}

.contact-info-section{
  width:min(1280px,calc(100% - 40px));
  margin:18px auto 58px;
  padding:clamp(32px,4.5vw,58px);
  border-top:1px solid rgba(190,150,76,.24);
  border-bottom:1px solid rgba(190,150,76,.24);
  background:
    radial-gradient(circle at 10% 8%,rgba(240,224,185,.22),transparent 30%),
    linear-gradient(180deg,rgba(255,252,245,.76),rgba(252,247,236,.58));
}
.contact-info-layout{
  width:min(1040px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.86fr);
  gap:28px;
  align-items:stretch;
}
.contact-details-card,
.contact-visual-card{
  min-height:570px;
  border-radius:24px;
  overflow:hidden;
}
.contact-details-card{
  padding:clamp(30px,4vw,48px);
  background:rgba(255,252,245,.94);
  border:1px solid rgba(198,156,77,.34);
  box-shadow:0 16px 34px rgba(72,70,58,.08);
}
.contact-details-card .eyebrow{
  margin:0 0 14px;
  letter-spacing:.18em;
}
.contact-details-card h2{
  max-width:none;
  margin:0 0 24px;
  font-size:clamp(1.82rem,3.0vw,2.8rem);
  line-height:1.08;
  font-weight:600;
  color:var(--green-deep,#355c3a);
}
@media (min-width: 900px){
  .contact-details-card h2{
    white-space:nowrap;
  }
}
.contact-location{
  margin:0 0 26px;
  color:var(--muted,#667068);
  font-size:.95rem;
  line-height:1.55;
}
.contact-location p{margin:0}
.contact-detail-group{margin-top:24px}
.contact-detail-group h3{
  margin:0 0 8px;
  font-size:1.12rem;
  font-weight:700;
  color:var(--green-deep,#355c3a);
}
.contact-detail-group a{
  color:#294c34;
  font-weight:700;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}
.contact-detail-actions{margin-top:28px}
.contact-email-button{
  display:inline-flex;
  justify-content:center;
  min-height:46px!important;
  padding-inline:22px!important;
  font-size:.92rem!important;
}
.contact-privacy-note{
  margin-top:28px;
  padding:14px 16px;
  border-left:3px solid rgba(191,151,71,.78);
  border-radius:10px;
  background:rgba(247,238,214,.58);
  color:#5f625b;
  font-size:.79rem;
  line-height:1.52;
}
.contact-privacy-note strong{color:#3f4e42}
.contact-privacy-note a{
  color:#6e5036;
  font-weight:700;
  text-underline-offset:2px;
}

.contact-visual-card{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  padding:36px;
  background:#274236;
  border:1px solid rgba(34,62,47,.65);
  box-shadow:0 18px 36px rgba(44,65,52,.14);
}
.contact-visual-card::before,
.contact-visual-card::after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(225,236,218,.06);
}
.contact-visual-card::before{width:230px;height:230px;top:-85px;right:-75px}
.contact-visual-card::after{width:170px;height:170px;bottom:-70px;left:-55px}
.contact-book-stack{
  position:relative;
  width:min(360px,88%);
  height:390px;
  z-index:1;
}
.contact-stack-book{
  position:absolute;
  left:50%;
  width:150px;
  height:215px;
  object-fit:cover;
  border-radius:8px;
  border:5px solid rgba(255,250,235,.93);
  box-shadow:0 18px 26px rgba(9,20,14,.32);
  transform-origin:center bottom;
}
.contact-stack-book-1{top:118px;transform:translateX(-132%) rotate(-13deg);z-index:1}
.contact-stack-book-2{top:72px;transform:translateX(-76%) rotate(-5deg);z-index:2}
.contact-stack-book-3{top:70px;transform:translateX(-18%) rotate(6deg);z-index:3}
.contact-stack-book-4{top:118px;transform:translateX(38%) rotate(13deg);z-index:1}
.contact-visual-tagline{
  position:absolute;
  left:22px;
  right:22px;
  bottom:24px;
  z-index:2;
  margin:0;
  text-align:center;
  color:rgba(255,255,255,.88);
  font-size:.92rem;
  letter-spacing:.12em;
}

/* Continue the Adventure in Our Books */
.contact-books-band{
  width:100%;
  margin:48px 0 0;
  padding:44px 0 48px;
  background:linear-gradient(90deg,rgba(243,239,215,.70),rgba(232,243,226,.72),rgba(235,242,249,.72));
  overflow:hidden;
}
.contact-books-band .dictionary-books-heading{text-align:center}
.contact-books-band .dictionary-books-heading h2{
  margin:5px 0 10px;
  font-size:clamp(2rem,4vw,3.3rem);
  font-weight:500;
}
.contact-books-band .dictionary-books-marquee{
  margin-top:28px;
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}
.contact-books-band .dictionary-books-track{
  display:flex;
  width:max-content;
  animation:contact-books-scroll 52s linear infinite;
}
.contact-books-band .dictionary-books-marquee:hover .dictionary-books-track,
.contact-books-band .dictionary-books-marquee:focus-within .dictionary-books-track{animation-play-state:paused}
.contact-books-band .dictionary-books-group{display:flex;gap:18px;padding-right:18px}
.contact-books-band .dictionary-book-card{
  display:grid;
  grid-template-rows:190px auto;
  gap:9px;
  width:150px;
  text-decoration:none;
  color:var(--ink,#314035);
  text-align:center;
}
.contact-books-band .dictionary-book-cover{
  display:grid;
  place-items:center;
  padding:6px;
  border-radius:18px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(105,125,110,.10);
  box-shadow:0 10px 20px rgba(75,87,80,.06);
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease;
}
.contact-books-band .dictionary-book-cover img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.contact-books-band .dictionary-book-title{font-size:.82rem;line-height:1.3;font-weight:600}
.contact-books-band .dictionary-book-card:hover .dictionary-book-cover,
.contact-books-band .dictionary-book-card:focus-visible .dictionary-book-cover{
  transform:translateY(-3px);
  box-shadow:0 14px 28px rgba(70,84,76,.10);
}
.contact-books-empty{text-align:center;margin-top:24px}
@keyframes contact-books-scroll{to{transform:translateX(-50%)}}

@media(max-width:860px){
  .contact-info-layout{grid-template-columns:1fr}
  .contact-details-card,.contact-visual-card{min-height:auto}
  .contact-visual-card{min-height:480px}
}
@media(max-width:620px){
  .contact-info-section{width:min(100% - 24px,1280px);padding:24px 0;background:transparent;border:0}
  .contact-details-card{padding:28px 22px}
  .contact-visual-card{min-height:410px;padding:24px}
  .contact-book-stack{height:315px;width:min(300px,94%)}
  .contact-stack-book{width:118px;height:170px;border-width:4px}
  .contact-stack-book-1{top:98px;transform:translateX(-130%) rotate(-12deg)}
  .contact-stack-book-2{top:64px;transform:translateX(-76%) rotate(-4deg)}
  .contact-stack-book-3{top:62px;transform:translateX(-18%) rotate(5deg)}
  .contact-stack-book-4{top:98px;transform:translateX(36%) rotate(12deg)}
  .contact-visual-tagline{font-size:.76rem;letter-spacing:.08em}
}
@media(prefers-reduced-motion:reduce){
  .contact-books-band .dictionary-books-track{animation:none}
  .contact-books-band .dictionary-books-marquee{overflow-x:auto}
}

/* Contact card title — keep Adventure with Alphabet on one line, 2026-09-06 */
.contact-details-card h2{
  max-width:none;
  white-space:nowrap;
  font-size:clamp(1.85rem,3.0vw,2.82rem);
}
@media(max-width:620px){
  .contact-details-card h2{
    font-size:clamp(1.55rem,6.6vw,2.1rem);
    letter-spacing:-.01em;
  }
}


/* Contact page right-side single library artwork — 2026-09-06 */
.contact-visual-card{
  padding:0!important;
  background:#274236;
}
.contact-visual-card::before,
.contact-visual-card::after{display:none!important}
.contact-visual-art{
  display:block;
  width:100%;
  height:100%;
  min-height:570px;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:860px){
  .contact-visual-art{min-height:480px}
}
@media(max-width:620px){
  .contact-visual-card{padding:0!important}
  .contact-visual-art{min-height:410px}
}


/* Contact card title final fit — 2026-09-06 */
.contact-info-section .contact-details-card h2{
  font-size:clamp(1.50rem,2.2vw,1.75rem)!important;
  line-height:1.12!important;
  letter-spacing:-.012em!important;
  white-space:nowrap!important;
}
@media(max-width:620px){
  .contact-info-section .contact-details-card h2{
    font-size:clamp(1.35rem,5.7vw,1.65rem)!important;
  }
}
