/* Interior pages only. The approved homepage does not load this stylesheet. */
.interior-page {
  --product-title:clamp(36px,3.6vw,52px);
  --product-section-title:clamp(30px,2.8vw,40px);
  --product-copy:20px;
}
.interior-page main {max-width:1520px}
.interior-page main>section {min-width:0}
.interior-page main .eyebrow {font-size:13px;line-height:1.5;margin-bottom:14px}
.interior-page main .small-note,.interior-page main figure figcaption {
  font-size:15px;line-height:1.6;color:var(--muted);
}
.interior-page .gallery figcaption {font-size:15px;margin-top:10px}
.interior-page main .photo-note {font-size:13px;line-height:1.4;padding:4px 8px}
.interior-page footer,.interior-page footer p:not(.eyebrow) {font-size:16px;line-height:1.6}
.interior-page .craft-grid {align-items:stretch;gap:26px}
.interior-page .craft-card .card-photo {aspect-ratio:4/3}
.interior-page .craft-card .card-copy {gap:12px}
.interior-page .panel h2 {font-size:28px;line-height:1.25;letter-spacing:-.3px}
.interior-page .panel p {font-size:18px;line-height:1.65}
.interior-page .panel {padding:28px;min-width:0}
.interior-page .social-grid,.interior-page .contact-grid {align-items:start}
.interior-page .social-link {width:100%;justify-content:space-between}
.interior-page .product-intro {
  grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:clamp(32px,5vw,76px);align-items:center;
}
.interior-page .product-intro>div {min-width:0}
.interior-page .product-intro h1 {font-size:var(--product-title);line-height:1.12;margin-bottom:22px}
.interior-page .product-intro p:not(.eyebrow):not(.small-note) {
  font-size:var(--product-copy);line-height:1.65;max-width:48ch;
}
.interior-page .product-intro .breadcrumb {margin-bottom:24px}
.interior-page .product-intro .small-note {font-size:15px;margin-top:18px;margin-bottom:0}
.interior-page .product-portrait {
  display:flex;align-items:center;justify-content:center;min-width:0;
}
.interior-page .product-portrait img {
  width:100%;height:auto;max-height:min(580px,65svh);object-fit:contain;
  border-width:7px;border-radius:22px;
}
.interior-page .gallery-section h2,
.interior-page .details-band h2,.interior-page .details-band h3,
.making-page main>section:not(.page-intro) h2:not(.card-copy h2),
.video-page main>section.thanks h2,
.directory-page main>section.thanks h2 {
  font-size:var(--product-section-title);line-height:1.2;letter-spacing:-.5px;
}
.interior-page .gallery-section>p,
.interior-page .details-band p,.interior-page .details-band li {
  font-size:var(--product-copy);line-height:1.65;
}
.interior-page .gallery {gap:24px;margin-top:20px}
.interior-page .enlarge {border-width:6px;border-radius:18px}
.interior-page .details-band {gap:7%;align-items:start}
.interior-page .details-band>div {min-width:0}
.interior-page .details-band ul {padding-left:24px;margin:0}
.interior-page .details-band li {margin:12px 0}
.interior-page main>section.next-links {
  min-height:0;display:flex;flex-direction:row;align-items:center;
  justify-content:space-between;padding:32px 0 52px;gap:16px;flex-wrap:wrap;
  border-top:1px solid var(--line);
}
.catalog-page .page-intro h1,.making-page .page-intro h1 {
  font-size:var(--product-title);line-height:1.15;
}
.catalog-page .page-intro>p:not(.eyebrow),
.making-page .page-intro>p:not(.eyebrow) {font-size:var(--product-copy);line-height:1.6}
/* A catalog introduction belongs with the pieces, rather than occupying a blank screen. */
.catalog-page main>.page-intro,.making-page main>.page-intro {
  min-height:0;padding-top:56px;padding-bottom:24px;
}
.catalog-page main>.catalog,.making-page main>.page-intro+section {padding-top:24px}
.catalog-page .craft-facts {margin:0 0 24px;padding:24px 0;gap:28px}
.catalog-page .craft-facts strong {font-size:22px;line-height:1.3;margin-bottom:6px}
.catalog-page .craft-facts span {font-size:16px;line-height:1.5}
.catalog-page .catalog>.small-note {margin-top:24px}
.making-page .process-feature p {font-size:var(--product-copy);line-height:1.65}
.making-page .process-feature img {max-height:580px;object-fit:contain}
.making-page .craft-grid {margin-top:22px}
/* The family page gets a normal photo/story layout, separate from the homepage hero. */
.family-page .family-intro {
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:7%;align-items:center;
}
.family-page .family-intro>div {min-width:0}
.family-page .family-intro .family-portrait img {
  width:100%;height:auto;border:8px solid var(--charcoal);
  border-radius:64px 18px 18px 18px;box-shadow:0 14px 30px #33333325;
  -webkit-mask-image:none;mask-image:none;
}
.family-page .reading {max-width:900px}
.interior-page main>section.thanks {max-width:900px}
.interior-page .video-photo {aspect-ratio:16/9}
@media (min-width:741px) and (max-width:1100px) {
  .interior-page .craft-grid,.interior-page .social-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .interior-page .product-intro {gap:30px}
  .interior-page .gallery {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:740px) {
  .interior-page {--product-title:36px;--product-section-title:30px;--product-copy:18px}
  .interior-page main>section {min-height:0;padding-top:38px;padding-bottom:38px}
  .interior-page .product-intro,.family-page .family-intro {grid-template-columns:1fr;gap:28px}
  .interior-page .product-portrait img {max-height:480px}
  .interior-page .product-intro .breadcrumb {margin-bottom:20px}
  .interior-page .craft-grid,.interior-page .social-grid,.interior-page .contact-grid {grid-template-columns:1fr;gap:22px}
  .interior-page .gallery {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .interior-page .gallery figcaption {font-size:14px}
  .interior-page .gallery .enlarge {border-width:4px}
  .interior-page .details-band {gap:30px}
  .interior-page .panel {padding:22px}
  .interior-page .panel h2 {font-size:26px}
  .interior-page .panel p {font-size:18px}
  .catalog-page .page-intro,.making-page .page-intro {padding-top:32px;padding-bottom:18px}
  .catalog-page .craft-facts {grid-template-columns:1fr;gap:18px}
  .interior-page main>section.next-links {flex-direction:column;align-items:flex-start;padding:24px 0 38px}
}
@media (max-width:380px) {
  .interior-page .gallery {grid-template-columns:1fr}
}

/* Social directory: one useful opening section, two type sizes. */
.social-page main {--social-heading:clamp(34px,3.2vw,48px)}
.social-page main .social-directory {justify-content:flex-start;align-content:start}
.social-page main .social-directory h1,
.social-page main .thanks h2 {font-size:var(--social-heading);line-height:1.2}
.social-page main p:not(.eyebrow),
.social-page main .panel h2 {font-size:var(--button-text);line-height:1.6}
.social-page main .panel h2 {font-weight:700;margin-bottom:18px}
.social-page main .social-directory>p {max-width:80ch;margin-bottom:30px}
.social-page main .social-grid {width:100%;gap:22px;align-items:stretch}
.social-page main .panel {padding:24px}
.social-page main .social-directory .actions {margin-top:24px}
@media (max-width:740px) {
  .social-page main .social-directory {padding-top:30px}
  .social-page main .social-directory>p {margin-bottom:24px}
}

/* Selected product hero frames match the landscape listing crops. */
.product-page .selected-product-hero img {width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 35%;max-height:none}

/* Match the catalog framing on individual product pages. */
.product-page .selected-product-hero img[src$="hero-africa.webp"],.product-page .selected-product-hero img[src$="hero-cloth-decor.webp"] {object-position:50% 20%}
.product-page .selected-product-hero img[src$="hero-text-plaques.webp"] {object-position:50% 50%}
