/* Owner-approved stationery components, 2026-08-31. See docs/DESIGN_SYSTEM.md. */
:root {
  --stationery-stock: #faf6ed;
  --stationery-facts-stock: #f1ecdf;
  --stationery-card-radius: 7px;
  --stationery-panel-radius: 10px;
  --stationery-portrait: 152px;
  --footer-wave-duration: 420ms;
  --footer-wave-stagger: 30ms;
  --footer-wave-travel: 400ms;
}

.testimonial--stationery { padding-block:70px 105px; background-color:var(--canvas); }
.testimonial--stationery .testimonial__heading { max-width:none; text-align:center; margin-bottom:65px; }
.testimonial--stationery .testimonial__heading h2 { max-width:none; font-size:clamp(40px,4.3vw,60px); }
.testimonial--stationery .testimonial__quotes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; align-items:stretch; }
.testimonial--stationery .testimonial__quote {
  position:relative; display:flex; flex-direction:column; margin:0; padding:34px 30px 30px;
  border:1px solid #fefbf6; border-radius:var(--stationery-card-radius);
  background:var(--stationery-stock) url('/wp-content/themes/primavera-films-20260909/primavera-cotton-grain.svg');
  box-shadow:0 2px 3px #493e2810,0 12px 22px -12px #493e2840,0 32px 50px -30px #493e2833;
  transition:translate 240ms var(--ease); isolation:isolate;
}
.testimonial--stationery .testimonial__quote::before { content:""; position:absolute; inset:10px; border:1px solid #ae9a7029; border-radius:3px; pointer-events:none; box-shadow:0 1px 0 #ffffffb0,inset 0 1px 0 #c8b89415; }
.testimonial--stationery .testimonial__quote:nth-child(2) { translate:0 -18px; }
.testimonial__flow { display:flow-root; margin-bottom:30px; }
.testimonial--stationery .testimonial__portrait {
  float:left; width:var(--stationery-portrait); height:var(--stationery-portrait);
  margin:0 18px 12px 0; border:3px solid #fffaf0; border-radius:50%; overflow:hidden;
  shape-outside:circle(50%) border-box; shape-margin:14px;
  box-shadow:0 2px 5px #503c2622;
}
.testimonial--stationery .testimonial__portrait img { width:100%; height:100%; object-fit:cover; }
.testimonial--stationery .testimonial__quote blockquote {
  display:block; padding-top:calc(var(--stationery-portrait) * .43); margin:0;
  font-family:var(--serif); font-size:clamp(23px,2.05vw,27px); line-height:1.18;
  letter-spacing:-.015em; color:var(--ink); max-width:none;
}
.testimonial--stationery blockquote::before { color:#ab9063; content:"“"; }
.testimonial--stationery figcaption { display:flex; flex-direction:column; clear:both; color:var(--ink-soft); text-transform:uppercase; margin-top:auto; padding-top:21px; border-top:1px solid #c9b89866; }
.testimonial--stationery cite { font:600 10px/1.5 var(--sans); font-style:normal; color:var(--ink); letter-spacing:.12em; }
.testimonial--stationery figcaption span { font:10px/1.6 var(--sans); letter-spacing:.07em; margin-top:6px; max-width:26em; }

.home-reassurance { padding-block:90px; isolation:isolate; }
.home-reassurance__grid { gap:70px; grid-template-columns:1.18fr 1fr; }
.home-reassurance__proof { background:transparent; border:0; gap:30px 32px; isolation:isolate; }
.home-reassurance__mark { background:none; border:0; padding:0; min-height:0; display:grid; place-items:center; }
.home-reassurance__mark img { width:min(100%,155px); height:auto; max-height:none; object-fit:contain; filter:grayscale(1) invert(1); mix-blend-mode:screen; opacity:.88; }
.home-reassurance__mark:last-child img { clip-path:circle(47% at 50% 50%); filter:grayscale(1); mix-blend-mode:normal; }
.home-reassurance__copy { font-size:15px; line-height:1.8; }

.home-facts { padding-block:90px; background-color:#e3e8df; }
.paper-plaque,.facts-sheet {
  position:relative; isolation:isolate; padding:clamp(30px,5vw,64px);
  border:1px solid #fcf9ef; border-radius:var(--stationery-panel-radius);
  background:var(--stationery-facts-stock) url('/wp-content/themes/primavera-films-20260909/primavera-cotton-grain.svg');
  box-shadow:0 2px 2px #4f553519,0 16px 32px -18px #263e3050,0 40px 60px -42px #263e3040;
}
.paper-plaque::before,.facts-sheet::before { content:""; position:absolute; inset:12px; border:1px solid #a8967130; box-shadow:0 1px 0 #fffdf0; border-radius:4px; pointer-events:none; }
.paper-plaque--green {
  color:#f3ede3; background-color:#284635;
  background-image:url('/wp-content/themes/primavera-films-20260909/primavera-cotton-grain.svg'),var(--invitation-paper);
  background-size:240px 240px,var(--paper-field-tile,700px 700px);
  background-blend-mode:soft-light,luminosity;
  border-color:rgba(239,233,218,.25);
  box-shadow:0 2px 3px #13251b26,0 18px 34px -18px #13251b66,0 44px 64px -42px #13251b55;
}
.paper-plaque--green::before { border-color:rgba(239,233,218,.18); box-shadow:0 1px 0 rgba(3,18,9,.18); }

/* Proof marks sit on paper, never inside table cells or opaque image mounts. */
.press-ink-filters { position:absolute; pointer-events:none; }
.page-press-awards .mark-grid { border:0; gap:38px 58px; align-items:center; }
.page-press-awards .mark-card { border:0; background:none; min-height:105px; padding:10px 8px; }
.page-press-awards .mark-card img { max-width:290px; max-height:80px; filter:url('#press-publication-ink'); }
.page-press-awards .award-archive { padding-block:65px 90px; }
.page-press-awards .award-archive__heading { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:40px; margin-bottom:50px; }
.page-press-awards .award-archive__heading h2 { color:#f3ede3; font-size:clamp(35px,3.6vw,50px); }
.page-press-awards .award-archive__heading p { font-size:14px; line-height:1.8; max-width:330px; justify-self:end; }
.page-press-awards .award-grid { gap:34px 44px; background:none; border:0; }
.page-press-awards .award-card { grid-template-columns:128px minmax(0,1fr); gap:24px; min-height:144px; padding:0; background:none; border:0; }
.page-press-awards .award-card__mark { background:none; padding:0; border:0; }
.page-press-awards .award-card__mark img { filter:url('#press-award-ink'); }
.page-press-awards .award-card__mark .award-mark--light-source { filter:url('#press-award-light-ink'); }
.page-press-awards .award-card__mark .award-mark--warm-source { filter:url('#press-award-warm-ink'); }
.page-press-awards .award-card__mark .award-mark--poster-source { filter:url('#press-award-white-ink'); clip-path:inset(15% 8% 35% 8%); transform:scale(1.25); }
.page-press-awards .award-card__mark .award-mark--medallion { filter:grayscale(1); clip-path:circle(47% at 50% 50%); }
.page-press-awards .award-card__mark .award-mark--round-seal { filter:url('#press-award-light-ink'); clip-path:circle(46% at 50% 50%); }
.page-press-awards .award-card__mark .award-mark--bordered-source { clip-path:inset(4%); }
.page-press-awards .award-card h3 { font-size:clamp(22px,2vw,27px); line-height:1.12; }
@media(max-width:1020px) {
  .page-press-awards .award-archive__heading { grid-template-columns:1fr; gap:20px; }
  .page-press-awards .award-archive__heading p { justify-self:start; max-width:40em; }
  .page-press-awards .award-card { grid-template-columns:100px minmax(0,1fr); gap:18px; }
}
@media(max-width:700px) {
  .page-press-awards .mark-grid { gap:24px; }
  .page-press-awards .mark-card { min-height:70px; padding:5px 0; }
  .page-press-awards .mark-card img { max-height:58px; }
  .page-press-awards .mark-card--text { font-size:28px; }
  .page-press-awards .award-archive { padding-block:45px 60px; }
  .page-press-awards .award-grid { gap:28px; }
  .page-press-awards .award-card { grid-template-columns:92px minmax(0,1fr); gap:20px; min-height:112px; }
  .page-press-awards .award-card h3 { font-size:23px; }
}
@media(max-width:360px) {
  .page-press-awards .award-card { grid-template-columns:72px minmax(0,1fr); gap:16px; }
  .page-press-awards .award-card h3 { font-size:21px; }
}
.home-facts__heading { gap:40px; align-items:end; grid-template-columns:1.25fr 1fr; margin-bottom:46px; }
.home-facts__heading h2 { font-size:clamp(35px,3.6vw,50px); max-width:480px; }
.home-facts__heading>p { font-size:14px; line-height:1.8; max-width:330px; margin:0 0 4px; justify-self:end; }
.home-facts__list { gap:36px; border:0; margin:0; }
.home-fact,.home-fact:first-child,.home-fact+.home-fact { padding:0; border:0; }
.home-fact dt { font:500 clamp(56px,6vw,84px)/1.1 var(--serif); letter-spacing:-.04em; color:#506653; text-shadow:0 1px 0 #fffefa; margin-bottom:12px; font-variant-numeric:lining-nums tabular-nums; }
.home-fact dd { font-size:10px; letter-spacing:.12em; line-height:1.65; max-width:240px; }

/* About uses the same plaque material, with a content-specific inner layout. */
.page-about .paper-plaque :is(.journey__heading,.standards__heading) { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:40px; align-items:end; margin-bottom:42px; }
.page-about .paper-plaque :is(.journey__heading,.standards__heading) h2 { font-size:clamp(35px,3.6vw,50px); }
.page-about .paper-plaque :is(.journey__heading,.standards__heading)>p { font-size:14px; line-height:1.8; max-width:330px; justify-self:end; }
.page-about .paper-plaque :is(.journey__grid,.standards__grid) { display:grid; gap:32px; margin:0; border:0; }
.page-about .paper-plaque :is(.journey-card,.standard) { min-height:0; padding:0; border:0; }
.page-about .paper-plaque :is(.journey-card,.standard) h3 { font-size:clamp(28px,2.4vw,34px); line-height:1.05; }
.page-about .paper-plaque .journey-card__label { font-size:10px; letter-spacing:.12em; margin-top:0; }
.page-about .paper-plaque .journey-card__label::before { width:20px; flex-shrink:0; }
.page-about .paper-plaque .standards__note { margin-top:32px; }
.page-about .method__media { border:1px solid rgba(252,249,244,.3); box-shadow:0 3px 8px rgba(5,15,9,.25),0 18px 28px -12px rgba(5,15,9,.55),0 35px 65px -25px rgba(5,15,9,.6); }
@media(max-width:900px) {
  .page-about .paper-plaque :is(.journey__heading,.standards__heading) { grid-template-columns:1fr; gap:20px; }
  .page-about .paper-plaque :is(.journey__heading,.standards__heading)>p { justify-self:start; max-width:40em; }
  .page-about .paper-plaque .journey__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
  .page-about .paper-plaque :is(.journey__heading,.standards__heading) { margin-bottom:32px; }
  .page-about .paper-plaque :is(.journey__heading,.standards__heading) h2 { font-size:37px; }
  .page-about .paper-plaque :is(.journey__grid,.standards__grid) { grid-template-columns:1fr; gap:30px; }
}

/* Global footer: preserve its palette, fonts and information architecture. */
.site-footer { background-color:#dce3dc; background-image:url('/wp-content/themes/primavera-films-20260909/primavera-laid-fibers.svg'); background-size:360px 360px; background-blend-mode:multiply; }
.site-footer::before { background:none; }
.site-footer .footer__nav a:hover { transform:none; }
.site-footer .footer__nav a.footer-wave { position:relative; white-space:nowrap; }
/* Explicit reset: legacy footer rules also target every nested span. */
.site-footer .footer__nav .footer-wave span { margin:0; width:auto; color:inherit; }
.site-footer .footer__nav .footer-wave__face,.site-footer .footer__nav .footer-wave__char { display:inline-block; vertical-align:baseline; }
.site-footer .footer__nav .footer-wave__char { white-space:pre; transform-origin:50% 80%; }
.site-footer .footer__nav a:focus-visible { outline:2px solid #8b6948; outline-offset:5px; }

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .testimonial--stationery .testimonial__quote:hover { translate:0 -4px; }
  .testimonial--stationery .testimonial__quote:nth-child(2):hover { translate:0 -22px; }
}
@media(max-width:1020px) {
  .testimonial--stationery .testimonial__quotes { grid-template-columns:1fr; max-width:660px; margin-inline:auto; gap:24px; }
  .testimonial--stationery .testimonial__quote:nth-child(2) { translate:none; }
  .home-reassurance__grid { gap:40px; }
  .home-reassurance__mark img { width:130px; }
}
@media(max-width:1020px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .testimonial--stationery .testimonial__quote:nth-child(2):hover { translate:0 -4px; }
}
@media(max-width:760px) {
  :root { --stationery-portrait:132px; }
  .testimonial--stationery { padding-block:46px 60px; }
  .testimonial--stationery .testimonial__heading { margin-bottom:30px; text-align:left; }
  .testimonial--stationery .testimonial__heading h2 { font-size:42px; }
  .testimonial--stationery .testimonial__quote { padding:30px; }
  .testimonial--stationery .testimonial__quote blockquote { font-size:25px; line-height:1.18; }
  .testimonial--stationery .testimonial__portrait { margin-right:14px; shape-margin:10px; }
  .home-reassurance { padding-block:60px; }
  .home-reassurance__grid { grid-template-columns:1fr; gap:40px; }
  .home-reassurance__proof { max-width:380px; margin-inline:auto; width:100%; gap:24px 36px; }
  .home-reassurance__mark img { width:132px; }
  .home-facts { padding-block:54px; }
  .paper-plaque,.facts-sheet { padding:36px 29px; }
  .home-facts__heading { grid-template-columns:1fr; gap:18px; margin-bottom:32px; }
  .home-facts__heading>p { justify-self:start; font-size:13px; }
  .home-facts__heading h2 { font-size:37px; }
  .home-facts__list { grid-template-columns:1fr; gap:30px; }
  .home-fact { display:grid; grid-template-columns:105px minmax(0,1fr); align-items:center; gap:18px; }
  .home-fact dt { font-size:57px; margin:0; }
  .home-fact dd { font-size:9px; letter-spacing:.06em; }
}
@media(max-width:360px) {
  .site-footer .footer__top--expanded { grid-template-columns:1fr; }
  .testimonial--stationery .testimonial__quote { padding:26px; }
  .testimonial--stationery .testimonial__quote blockquote { font-size:23px; }
  .home-fact { grid-template-columns:95px minmax(0,1fr); gap:12px; }
  .home-fact dt { font-size:52px; }
}
@media(prefers-reduced-motion:reduce) {
  .testimonial--stationery .testimonial__quote { transition:none; }
  .site-footer .footer__nav .footer-wave__char { transform:none!important; }
  .site-footer .footer__nav a.footer-wave:is(:hover,:focus-visible) { text-decoration:underline; text-underline-offset:4px; }
}
