/* Primavera client revision, local owner review only. Shared scoped components. */
.prv-semantic-title{font:500 11px/1.6 var(--sans,Inter,sans-serif)!important;letter-spacing:.16em!important;text-transform:uppercase;margin:0 0 12px!important;max-width:70em!important}
.prv-territory{font:400 10px/1.6 var(--sans,Inter,sans-serif);letter-spacing:.11em;text-transform:uppercase;margin:0 0 24px}
.prv-hero-title{font:400 clamp(42px,6vw,92px)/1.03 var(--serif,'Cormorant Garamond',serif);letter-spacing:-.025em;margin:0 0 24px;max-width:12ch}
.prv-block{padding-block:clamp(60px,7vw,108px)}
.prv-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,6vw,88px);align-items:center}
.prv-split--reverse .prv-copy{order:2}.prv-split--reverse .prv-media{order:1}
.prv-copy h2{font:400 clamp(36px,4.2vw,64px)/1.06 var(--serif,'Cormorant Garamond',serif);letter-spacing:-.02em;margin:12px 0 28px}
.prv-copy p{max-width:65ch;line-height:1.85;font-size:15px}.prv-copy .eyebrow{font-size:10px;letter-spacing:.17em;text-transform:uppercase}
.prv-image{display:block;max-width:100%;height:auto}.prv-media{min-width:0}.prv-media>img{width:100%;height:auto}
.prv-link{display:inline-flex;align-items:center;gap:16px;padding:14px 0;margin-top:18px;border-bottom:1px solid currentColor;font:500 11px/1.5 var(--sans,Inter,sans-serif);text-transform:uppercase;letter-spacing:.13em;color:inherit;text-decoration:none}
.prv-link:hover{opacity:.75}.prv-link:focus-visible,.prv-video:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.prv-film{margin:0;min-width:0}.prv-film figcaption{font:400 11px/1.6 var(--sans,Inter,sans-serif);margin-top:12px;letter-spacing:.04em}
.prv-video{display:block;position:relative;width:100%;aspect-ratio:var(--prv-ratio,16/9);padding:0;overflow:hidden;background:#1c2922;color:#fff;cursor:pointer;border:0;border-radius:0}
.prv-video .prv-image{width:100%;height:100%;object-fit:contain;background:#15271d;transition:transform .5s}.prv-video:hover .prv-image{transform:scale(1.015)}
.prv-play{display:grid;place-items:center;position:absolute;left:50%;top:50%;width:58px;height:58px;translate:-50% -50%;border:1px solid #ffffffb3;border-radius:50%;background:#13251b45;font-size:16px;padding-left:3px}
.prv-video-empty{display:grid;place-items:center;position:absolute;inset:0;font-family:var(--serif,serif);font-size:30px}
.prv-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.prv-video-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.prv-dialog{width:min(94vw,1200px);max-width:none;padding:0;border:0;background:#0c1712;color:#fff;overflow:visible}.prv-dialog::backdrop{background:#000c}.prv-dialog iframe{display:block;width:100%;height:min(72vh,675px);border:0}.prv-dialog-close{position:absolute;right:0;top:-44px;width:42px;height:38px;background:#fff;color:#12261b;border:0;cursor:pointer;font-size:24px}
.prv-hero-media{position:absolute;inset:0;overflow:hidden;z-index:0}.prv-hero-media img{width:100%;height:100%;object-fit:cover}.prv-hero-media iframe{position:absolute;left:50%;top:50%;width:100%;min-width:180vh;height:100%;min-height:57vw;transform:translate(-50%,-50%);border:0;pointer-events:none}.prv-video-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#08180ca6,#08180c26);pointer-events:none}.prv-video-hero{position:relative}.prv-video-hero>.shell{position:relative;z-index:2}
.prv-subpoints{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.prv-subpoints h3{font:500 23px/1.2 var(--serif,serif);margin:0 0 10px}.prv-subpoints p{font-size:13px;line-height:1.75}
.prv-quote{margin:0}.prv-quote blockquote{margin:0;font-family:var(--serif,serif);font-size:23px;line-height:1.3}.prv-quote figcaption{margin-top:24px;font:500 11px/1.6 var(--sans,sans-serif);text-transform:uppercase;letter-spacing:.1em}
.prv-faq-nav{display:flex;flex-wrap:wrap;gap:12px}.prv-faq-nav a{display:inline-block;padding:12px 18px;border:1px solid #42534150;text-decoration:none;color:inherit;font-size:12px;transition:background .2s}.prv-faq-nav a:hover,.prv-faq-nav a:focus-visible{background:#dbe3d6;outline-offset:4px}
.prv-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:40px}.prv-category-card{display:block;text-align:left;color:inherit;text-decoration:none}.prv-category-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.prv-category-card h3{font:500 26px/1.1 var(--serif,serif);margin:18px 0 12px}.prv-category-card p{font:400 12px/1.7 var(--sans,sans-serif)}
.prv-filters{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.prv-filter{padding:10px 14px;border:1px solid #62765b60;background:transparent;color:inherit;font:400 11px/1.4 var(--sans,sans-serif);cursor:pointer}.prv-filter[aria-pressed='true']{background:#25432e;color:#fff}.prv-empty{padding:24px 0;font-size:14px}
.prv-nav-wrap{display:grid;grid-template-columns:1fr 68px 1fr;align-items:center;gap:20px;min-height:90px}.prv-nav{display:flex;align-items:center;gap:clamp(16px,1.7vw,30px)}.prv-nav-right{justify-content:flex-end}.prv-nav a{font:500 10px/1.4 var(--sans,sans-serif);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;color:inherit;text-decoration:none}.prv-nav a[aria-current='page']{border-bottom:1px solid currentColor}.prv-symbol{display:block;width:52px;height:52px;margin:auto}.prv-symbol img{width:100%;height:100%;object-fit:contain}.prv-inquire{border-bottom:1px solid currentColor;padding-block:7px}.prv-menu-toggle{display:none}.prv-mobile-nav[hidden]{display:none}.prv-mobile-nav{padding:18px 24px 28px;background:var(--canvas,#f3f0e8);color:var(--ink,#17291e)}.prv-mobile-nav a{display:block;padding:11px 0;color:inherit;font-size:15px;text-decoration:none}.prv-footer-logo{display:block;width:min(240px,100%);height:115px;object-fit:contain;object-position:left center}.prv-brands a,.prv-brands>span{display:block;margin-bottom:16px}.prv-brands small{display:block;margin-top:4px;font-size:10px;line-height:1.7;letter-spacing:.01em;max-width:24em;opacity:.75}.prv-contact{margin-top:18px}.prv-contact a{display:block;font-size:11px;line-height:1.9;color:inherit}
.prv-analog{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.prv-analog-choice{padding:18px 0;border-top:1px solid #6c795345}.prv-analog-choice h3{font:500 30px/1.1 var(--serif,serif);margin:10px 0}.prv-analog-images{position:relative;aspect-ratio:4/5}.prv-analog-images img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .35s}.prv-analog-images img:last-child{opacity:0}.prv-analog[data-active='super8'] .prv-analog-images img:first-child{opacity:0}.prv-analog[data-active='super8'] .prv-analog-images img:last-child{opacity:1}.prv-analog-mobile{display:none}
.prv-counter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center}.prv-counter-grid strong{font:400 clamp(55px,7vw,95px)/1 var(--serif,serif);display:block}.prv-counter-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.prv-question-row{position:relative;display:flex;align-items:center;border-top:1px solid #6073574d}.prv-question-row h3{margin:0;flex:1}.prv-question-toggle{width:100%;background:none;border:0;text-align:left;padding:22px 52px 22px 0;color:inherit;font:500 22px/1.25 var(--serif,serif);cursor:pointer}.prv-question-plus{position:absolute;right:5px;font-size:22px;pointer-events:none}.prv-answer{padding:0 0 22px;line-height:1.8;font-size:14px}.prv-answer[hidden]{display:none}
@media(max-width:1100px){.prv-nav-wrap{grid-template-columns:60px 1fr;min-height:76px}.prv-nav{display:none}.prv-symbol{margin:0}.prv-menu-toggle{display:block;justify-self:end;border:1px solid currentColor;background:transparent;color:inherit;padding:10px 16px;font:500 11px/1.4 var(--sans,sans-serif);cursor:pointer}.prv-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.prv-split,.prv-analog{grid-template-columns:1fr;gap:30px}.prv-split--reverse .prv-copy,.prv-split--reverse .prv-media{order:initial}.prv-video-grid,.prv-video-grid--four{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 15px}.prv-category-grid{gap:28px 18px}.prv-category-card h3{font-size:23px}.prv-subpoints{grid-template-columns:1fr;gap:12px}.prv-hero-title{font-size:clamp(40px,12vw,65px)}.prv-semantic-title{font-size:9px!important;letter-spacing:.1em!important}.prv-territory{font-size:8px;letter-spacing:.1em}.prv-analog-images{display:none}.prv-analog-mobile{display:block;width:100%;max-height:450px;object-fit:cover;margin:22px 0}.prv-counter-grid{gap:16px}.prv-counter-grid strong{font-size:52px}.prv-counter-grid span{font-size:9px}.prv-dialog iframe{height:65vh}.prv-question-toggle{font-size:21px}.prv-faq-nav{gap:8px}.prv-faq-nav a{padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.prv-video .prv-image,.prv-analog-images img{transition:none}.prv-video:hover .prv-image{transform:none}.prv-hero-media iframe{display:none}}

/* Integration rules: one real navigation, reduced-motion fallback and honest visibility. */
[hidden]{display:none!important}
.prv-header{height:auto!important;background:var(--canvas,#f7f2eb);color:#173523;z-index:1000;border-bottom:1px solid #17352320}
.prv-header .prv-nav-wrap{padding-block:0}.prv-header .prv-symbol{position:relative}.prv-logo-light{display:none!important}
.prv-header[data-prv-dark-hero="true"]:not(.is-solid){background:transparent;color:#fff8eb;border-color:#ffffff25}
.prv-header[data-prv-dark-hero="true"]:not(.is-solid) .prv-logo-dark{display:none!important}
.prv-header[data-prv-dark-hero="true"]:not(.is-solid) .prv-logo-light{display:block!important}
.prv-header.is-solid{background:var(--canvas,#f7f2eb);color:#173523}
.prv-header .prv-inquire{border:1px solid currentColor;padding:10px 13px}
.prv-mobile-nav{max-height:calc(100vh - 76px);overflow:auto}
.prv-video-hero.faq-hero,.prv-video-hero.press-hero{min-height:650px;padding:160px 0 90px;color:#fff8eb;background:#173523;display:flex;align-items:center}
.prv-video-hero.faq-hero .shell,.prv-video-hero.press-hero .shell{width:100%}
.prv-video-hero.faq-hero .prv-copy,.prv-video-hero.press-hero .prv-copy{max-width:var(--shell,1280px)}
.prv-hero-pause{position:absolute;right:max(24px,calc((100vw - 1280px)/2));bottom:24px;z-index:3;background:#11251db3;color:#fff8eb;border:1px solid #ffffff80;padding:10px 14px;font:400 11px/1.4 var(--sans,sans-serif);cursor:pointer}
.prv-hero-pause:focus-visible{outline:2px solid white;outline-offset:4px}
.prv-format-extra,.prv-engagement-feature{margin-top:42px}.prv-engagement-feature{margin-bottom:34px}
.prv-format-extra.prv-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.prv-awards-image{margin:30px auto 40px;max-width:1000px}.prv-awards-image img{width:100%;max-height:520px;object-fit:cover}
.prv-counter-grid{padding-block:12px}.prv-founder-portrait img{width:100%;height:auto}
#no-borders .prv-media .prv-film+.prv-film{margin-top:25px}
#about-reviews .prv-video-grid{margin-top:38px}
.journal-hero .prv-hero-title{font-size:clamp(45px,6vw,80px);max-width:12ch}
.category-strip .shell{display:block;padding-block:55px}
.prv-category-card:focus-visible{outline:2px solid #173523;outline-offset:6px}
.prv-brands>a,.prv-brands>span{font-size:12px;line-height:1.5}
@media(max-width:700px){.prv-video-hero.faq-hero,.prv-video-hero.press-hero{min-height:560px;padding:130px 0 80px}.prv-video-hero.faq-hero .prv-hero-title,.prv-video-hero.press-hero .prv-hero-title{font-size:50px}.prv-format-extra.prv-video-grid{grid-template-columns:1fr}.prv-hero-pause{right:20px;bottom:16px}.prv-nav-wrap{min-height:76px}.prv-awards-image img{max-height:none;height:auto}}

/* Actual mobile footer min-content overflow corrected; not hidden by overflow-x. */
.site-footer .footer__top{grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(0,1fr))}
.site-footer .footer__top>*{min-width:0}.site-footer .footer__nav a,.site-footer .footer__nav>span,.site-footer .prv-brands small{width:auto;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.site-footer .footer__legal{display:flex;flex-wrap:wrap;gap:12px 18px;max-width:100%;white-space:normal}.site-footer .footer__legal span{white-space:normal}
@media(max-width:900px){.site-footer .footer__top{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer .footer__brand{grid-column:1/-1}.site-footer .footer__legal span{flex-basis:100%}}

/* gallery-viewport-review-20260909: extend existing 12-column gallery, not a redesign.
   Focal offsets fix faces proven clipped in element screenshots; owner crop approval remains separate. */
@media(min-width:701px){
 .story-grid>.story-card:nth-child(n+13){grid-column:span 4}
 .story-card img[data-prv-asset="source-10b199012df5b7"],
 .story-card img[data-prv-asset="source-332713751acf94"]{object-position:50% 100%!important}
 .story-card img[data-prv-asset="source-a8dedb42d2a0fd"]{object-position:50% 35%!important}
 .story-card img[data-prv-asset="source-4b814618c57b8a"],
 .story-card img[data-prv-asset="source-20a9edbfe2f376"],
 .story-card img[data-prv-asset="box-2439155754656"],
 .story-card img[data-prv-asset="box-2439144354468"]{object-position:50% 0%!important}
 .story-card img[data-prv-asset="source-9fe97e13981251"]{object-position:50% 80%!important}
 /* Verified source composition: keep this couple inside the shallow landscape crop. */
 .story-card img[data-prv-asset="source-332713751acf94"]{object-position:50% 80%!important}
 /* This portrait cannot fit both complete faces in the landscape crop; retain the full source. */
 .story-card img[data-prv-asset="source-20a9edbfe2f376"]{object-fit:contain!important;object-position:50% 50%!important}
}
@media(max-width:700px){
 .story-card img[data-prv-asset="source-7c4df3d7f05cfa"],
 .story-card img[data-prv-asset="source-332713751acf94"]{object-position:50% 100%!important}
}

/* Primavera source-led polish 20260909-1843: no template redesign. */
.service-chapter__complete-photo{min-height:0;height:auto;align-self:center;background:transparent}
.service-chapter__complete-photo img{display:block;width:100%;height:auto;min-height:0}
.prv-video[data-prv-natural="true"]{aspect-ratio:var(--prv-ratio);height:auto}
.prv-video[data-prv-natural="true"]>.prv-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.prv-dialog{width:var(--prv-dialog-width,min(94vw,1200px));max-height:calc(100dvh - 100px)}
.prv-dialog iframe{height:auto;aspect-ratio:var(--prv-playback-ratio,16/9)}
.prv-inline-player{position:relative;width:100%;aspect-ratio:var(--prv-playback-ratio,9/16);background:#0c1712}
.prv-inline-player iframe{display:block;width:100%;height:100%;border:0}
.prv-inline-close{position:absolute;top:8px;right:8px;z-index:2;border:1px solid #ffffff99;background:#17291ee8;color:#fffdf9;width:36px;height:36px;cursor:pointer;font-size:24px;line-height:1}
.prv-inline-close:focus-visible{outline:2px solid #fffdf9;outline-offset:3px}
.home-reassurance .prv-copy>p:not(.eyebrow){font-size:15px;line-height:1.85;max-width:65ch}
.home-reassurance .prv-copy>.prv-link{margin-top:14px}
.prv-video .prv-play{transition:background-color .22s,border-color .22s,transform .22s}
.prv-video:hover .prv-play{background:#173523b3;border-color:#fffdf9;transform:scale(1.06)}
@media(prefers-reduced-motion:reduce){.prv-video .prv-play{transition:none}.prv-video:hover .prv-play{transform:none}}

/* Owner-requested plain header wordmark. Original footer artwork is retained. */
.prv-header .prv-nav-wrap{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.prv-symbol.prv-wordmark-text{display:flex;align-items:center;justify-content:center;width:auto;height:52px;padding-inline:8px;font:500 clamp(21px,2vw,27px)/1 var(--serif,"Cormorant Garamond",Georgia,serif);letter-spacing:.105em;text-decoration:none;white-space:nowrap;color:inherit}
.prv-symbol.prv-wordmark-text:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:1100px){.prv-header .prv-nav-wrap{grid-template-columns:minmax(0,1fr) auto}.prv-symbol.prv-wordmark-text{justify-self:start;margin:0;padding-left:0;font-size:25px}}
@media(max-width:360px){.prv-symbol.prv-wordmark-text{font-size:22px;letter-spacing:.075em}}


/* Owner annotation polish, 2026-09-10. Shared details; Home layout stays scoped. */
.prv-nav a:not(.prv-inquire){position:relative;border-bottom:0;padding-block:7px}
.prv-nav a:not(.prv-inquire)::after{content:"";position:absolute;inset:auto 0 2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 360ms cubic-bezier(.22,1,.36,1)}
.prv-nav a:not(.prv-inquire):is(:hover,:focus-visible,[aria-current="page"])::after{transform:scaleX(1)}
.prv-territory{font-family:var(--serif,Georgia,serif);font-size:16px;font-style:italic;font-weight:500;line-height:1.55;letter-spacing:.025em;color:#775b43;margin-bottom:22px}
.hero .prv-territory,.prv-video-hero .prv-territory{color:#ead8bd}
.manifesto__trust.reveal{opacity:1;transform:none;transition:none}
.manifesto__trust .trust-logos{mix-blend-mode:multiply}
.manifesto__trust .trust-logo{background:transparent}
.manifesto__trust .trust-logo img{mix-blend-mode:normal}
.services.section{padding-block:clamp(48px,5vw,72px)}
.services .services__grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(32px,4vw,58px);align-items:start}
.services .services__visual{position:relative;top:auto;max-width:none}
.services .media-frame--service{aspect-ratio:.91}
.services .services__content h2{font-size:clamp(36px,3.35vw,48px);line-height:1.02;max-width:560px}
.services .services__content>.eyebrow{margin-bottom:16px}
.services .service-list{margin-top:22px}
.services .service-item{padding-block:16px;gap:16px}
.services .service-item h3{font-size:clamp(25px,2.1vw,30px);line-height:1.08}
.services .service-item p,.services .services__content>p:not(.eyebrow){font-size:14px;line-height:1.6}
.services .services__content>p:not(.eyebrow){margin-top:20px}
.services .services__content>.prv-link{margin-top:12px}
.testimonial--stationery .testimonial__heading{margin-bottom:48px}
.testimonial--stationery .testimonial__quote{padding:28px 26px}
.testimonial--stationery .testimonial__quote blockquote{font-size:clamp(22px,1.75vw,25px);line-height:1.25;padding-top:28px}
.testimonial--stationery .testimonial__portrait{width:112px;height:112px;margin-right:16px;shape-margin:10px}
.testimonial--stationery .testimonial__flow{margin-bottom:24px}
.site-footer .footer__top{align-items:start}
.site-footer .footer__brand>a:first-child{display:block;width:100%;max-width:270px;margin:0}
.site-footer .prv-footer-logo{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:left top;margin:0}
.site-footer .footer__brand .wordmark__line{font-size:11px;letter-spacing:.075em;line-height:1.6;margin-top:12px}
@media(min-width:1101px){.site-footer .footer__top--expanded{grid-template-columns:1.45fr 1fr 1fr 1fr 1fr;gap:clamp(24px,3vw,48px)}}
@media(max-width:900px){.services .services__grid{grid-template-columns:1fr;gap:32px}.services .services__visual{max-width:560px;width:100%;margin-inline:auto}.services .media-frame--service{aspect-ratio:1.1}.services .services__content h2{max-width:640px}}
@media(max-width:700px){.prv-territory{font-size:13px;letter-spacing:.02em;line-height:1.65}.services .service-item{grid-template-columns:1fr auto}.services .service-item h3{font-size:26px}.testimonial--stationery .testimonial__quote{padding:26px}.testimonial--stationery .testimonial__quote blockquote{font-size:23px;padding-top:24px}.testimonial--stationery .testimonial__portrait{width:96px;height:96px}.site-footer .footer__brand>a:first-child{max-width:270px}}
@media(prefers-reduced-motion:reduce){.prv-nav a::after{transition:none}}

.services.section{padding-block:48px}
.services .services__content h2{font-size:clamp(36px,3.1vw,44px)}
.services .service-list{margin-top:16px}
.services .service-item{padding-block:12px}
.services .service-item h3{font-size:28px}
.services .services__content>p:not(.eyebrow){margin-top:16px}
.services .services__content>.prv-link{padding-block:8px;margin-top:8px}
.prv-legal-hero{padding:160px 0 56px}
.prv-legal-hero h1{font-size:clamp(48px,5vw,76px);line-height:1.04;max-width:900px}
.prv-legal.section{padding-top:0}
.prv-legal-copy{max-width:760px;font-size:16px;line-height:1.8}
.prv-legal-copy h2{font-size:clamp(28px,3vw,38px);line-height:1.15;margin:40px 0 16px}
.prv-legal-copy p{margin:0 0 18px}
.prv-legal-copy ul{padding-left:22px;margin:16px 0 24px}
.prv-legal-copy li{margin-bottom:9px}
.prv-legal-copy a{overflow-wrap:anywhere;text-underline-offset:4px}
@media(max-width:700px){.prv-legal-hero{padding-top:132px;padding-bottom:36px}.prv-legal-copy{font-size:15px}.services .media-frame--service{aspect-ratio:1.05}}

/* PRV OWNER ANNOTATIONS 2026-09-10: UNIFIED HERO + TESTIMONIALS */

/* One full-bleed hero language for every public page. */
.prv-unified-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(39rem, 84svh, 52rem);
  display: grid;
  align-items: end;
  overflow: hidden;
  color: #fff;
  background: #405047;
}

.prv-unified-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(10, 18, 14, .25) 0%, rgba(10, 18, 14, .04) 34%, rgba(10, 18, 14, .58) 100%),
    linear-gradient(90deg, rgba(10, 18, 14, .22) 0%, transparent 68%);
}

.prv-unified-hero > .prv-hero-media,
.prv-unified-hero > .hero__media,
.prv-unified-hero > .contact-hero__media,
.prv-unified-hero > .services-hero__media,
.prv-unified-hero > .hero-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.prv-unified-hero > .prv-hero-media img,
.prv-unified-hero > .hero__media img,
.prv-unified-hero > .contact-hero__media img,
.prv-unified-hero > .services-hero__media img,
.prv-unified-hero > img.hero-media {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.prv-unified-hero > .shell,
.prv-unified-hero > .services-hero__layout {
  position: relative;
  z-index: 2;
  width: min(100% - 2rem, 1280px);
  margin-inline: auto;
  padding-top: clamp(8.5rem, 15vh, 12rem);
  padding-bottom: clamp(2rem, 6vh, 4.5rem);
}

.prv-hero-frame {
  box-sizing: border-box;
  width: min(47.5rem, 100%);
  padding: clamp(1.65rem, 3.2vw, 3rem);
  color: #fff;
  background:
    linear-gradient(145deg, rgba(36, 48, 42, .76), rgba(16, 18, 17, .82));
  border: 1px solid rgba(255, 255, 255, .18);
  box-shadow: 0 24px 70px rgba(5, 10, 8, .26);
  -webkit-backdrop-filter: blur(18px) saturate(112%);
  backdrop-filter: blur(18px) saturate(112%);
}

.prv-hero-frame .eyebrow,
.prv-hero-frame .hero-kicker,
.prv-hero-frame .prv-territory,
.prv-hero-frame .hero__note,
.prv-hero-frame .hero-note,
.prv-hero-frame .contact-hero__note,
.prv-hero-frame p {
  color: rgba(255, 255, 255, .84);
}

.prv-hero-frame .eyebrow,
.prv-hero-frame .hero-kicker {
  color: #fff;
}

.prv-hero-frame .prv-territory {
  margin-top: .6rem;
  color: #d5c1aa;
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(.78rem, .92vw, .93rem);
  font-style: italic;
  font-weight: 400;
  letter-spacing: .035em;
  line-height: 1.45;
  text-transform: uppercase;
}

.prv-hero-frame .prv-hero-title,
.prv-hero-frame > h1:not(.prv-semantic-title),
.prv-hero-frame > h2 {
  max-width: 15ch;
  margin-top: clamp(1.25rem, 2vw, 1.75rem);
  color: #fff;
  font-size: clamp(3rem, 4.2vw, 4.35rem);
  line-height: .98;
  text-wrap: balance;
}

.prv-hero-frame .hero__dek,
.prv-hero-frame .hero-dek,
.prv-hero-frame .contact-hero__dek,
.prv-hero-frame .prv-hero-dek {
  max-width: 39rem;
  margin-top: 1.15rem;
  font-size: clamp(1rem, 1.22vw, 1.17rem);
  line-height: 1.55;
}

.prv-unified-hero .button--ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, .64);
}

/* Home gets a wider frame so the emotional line reads in two calm rows. */
.prv-unified-hero .hero__layout--single {
  grid-template-columns: minmax(0, 53rem);
}

.prv-unified-hero .hero__layout--single .prv-hero-frame {
  width: min(53rem, 100%);
}

.prv-unified-hero .hero__layout--single .prv-hero-frame .prv-hero-title {
  max-width: none;
  font-size: clamp(3rem, 3.5vw, 3.65rem);
  line-height: 1.02;
  letter-spacing: -.025em;
}

/* Some original hero layouts had their own fixed sizing. The shared frame wins. */
.prv-unified-hero .hero__content.prv-hero-frame,
.prv-unified-hero .hero__copy.prv-hero-frame,
.prv-unified-hero .contact-hero__copy.prv-hero-frame,
.prv-unified-hero .services-hero__copy.prv-hero-frame {
  max-width: none;
  margin: 0;
}

.prv-unified-hero .contact-hero__badge {
  color: rgba(255, 255, 255, .82);
}

/* Written stories: quiet, wide stationery cards with a clear reading measure. */
.testimonial-ledger .shell {
  max-width: 1180px;
}

.testimonial-story,
.testimonial-story:nth-child(even) {
  display: grid;
  grid-template-columns: clamp(7.5rem, 13vw, 10.5rem) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
  margin: clamp(1.25rem, 3vw, 2.5rem) 0;
  padding: clamp(1.5rem, 4vw, 3.6rem);
  overflow: hidden;
  border: 1px solid rgba(38, 54, 46, .14);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .76), rgba(244, 241, 234, .72));
  box-shadow: 0 22px 55px rgba(30, 43, 36, .09);
  transform-origin: 50% 70%;
}

.testimonial-story:nth-child(even) {
  transform: rotate(.18deg);
}

.testimonial-story:nth-child(odd) {
  transform: rotate(-.14deg);
}

.testimonial-story .testimonial-story__portrait,
.testimonial-story:nth-child(even) .testimonial-story__portrait {
  order: 1;
  width: 100%;
  max-width: 10.5rem;
  aspect-ratio: 1;
  margin: 0;
  border: 7px solid rgba(255, 255, 255, .72);
  border-radius: 50%;
  box-shadow: 0 14px 35px rgba(30, 43, 36, .14);
}

.testimonial-story .testimonial-story__copy,
.testimonial-story:nth-child(even) .testimonial-story__copy {
  order: 2;
  width: 100%;
  max-width: 48rem;
  justify-self: start;
}

.testimonial-story blockquote {
  max-width: 34ch;
  margin: 0;
  color: #1e2b25;
  font-size: clamp(1.65rem, 2.65vw, 2.65rem);
  line-height: 1.16;
  text-wrap: pretty;
}

.testimonial-story blockquote::before {
  content: none !important;
}

.testimonial-story__details {
  margin-top: 1.5rem;
}

.testimonial-story__film {
  display: none !important;
}

/* Six self-hosted films remain a separate inline player section. */
.review-film-grid {
  gap: clamp(1rem, 2vw, 1.5rem);
}

.review-film {
  overflow: hidden;
  border: 1px solid rgba(38, 54, 46, .14);
  background: rgba(255, 255, 255, .66);
  box-shadow: 0 16px 38px rgba(30, 43, 36, .08);
}

.review-film__frame {
  position: relative;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  background: #101512;
}

.review-film__frame video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #101512;
}

.review-film figcaption {
  padding: .95rem 1rem 1rem;
}

.review-film figcaption strong {
  display: block;
  font-size: .77rem;
  letter-spacing: .09em;
  line-height: 1.35;
  text-transform: uppercase;
}

.review-wall {
  columns: 3 17rem !important;
  column-gap: 1.15rem !important;
}

@media (hover: hover) and (pointer: fine) {
  .testimonial-story {
    transition: transform .55s cubic-bezier(.2,.75,.25,1), box-shadow .55s ease, border-color .55s ease;
  }

  .testimonial-story:hover {
    transform: translateY(-6px) rotate(0deg);
    border-color: rgba(38, 54, 46, .24);
    box-shadow: 0 30px 70px rgba(30, 43, 36, .14);
  }
}

@media (max-width: 900px) {
  .prv-unified-hero {
    min-height: clamp(36rem, 78svh, 45rem);
  }

  .review-wall {
    columns: 2 15rem !important;
  }
}

@media (max-width: 700px) {
  .prv-unified-hero > .shell,
  .prv-unified-hero > .services-hero__layout {
    width: min(100% - 1.25rem, 1280px);
    padding-top: 7.5rem;
    padding-bottom: .7rem;
  }

  .prv-hero-frame {
    width: 100%;
    padding: 1.45rem 1.3rem 1.55rem;
    -webkit-backdrop-filter: blur(13px) saturate(108%);
    backdrop-filter: blur(13px) saturate(108%);
  }

  .prv-hero-frame .prv-hero-title,
  .prv-hero-frame > h1:not(.prv-semantic-title),
  .prv-hero-frame > h2,
  .prv-unified-hero .hero__layout--single .prv-hero-frame .prv-hero-title {
    max-width: 14ch;
    font-size: clamp(2.55rem, 12vw, 3.25rem);
    line-height: .98;
  }

  .prv-hero-frame .prv-territory {
    font-size: .73rem;
    line-height: 1.45;
  }

  .testimonial-story,
  .testimonial-story:nth-child(even),
  .testimonial-story:nth-child(odd) {
    grid-template-columns: 5.5rem minmax(0, 1fr);
    gap: 1.15rem;
    padding: 1.2rem;
    transform: none;
  }

  .testimonial-story .testimonial-story__portrait,
  .testimonial-story:nth-child(even) .testimonial-story__portrait {
    align-self: start;
    border-width: 4px;
  }

  .testimonial-story blockquote {
    font-size: clamp(1.32rem, 6.3vw, 1.7rem);
    line-height: 1.2;
  }

  .review-wall {
    columns: 1 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .testimonial-story,
  .testimonial-story:hover {
    transform: none !important;
    transition: none !important;
  }
}

/* GPT Image refinement: one integrated footer mark, with the descriptor inside it. */
.site-footer .footer__brand > a:first-child {
  width: 100%;
  max-width: 300px;
}

.site-footer .prv-footer-logo {
  width: 100%;
  max-width: 300px;
}

@media (min-width: 1100px) {
  .site-footer .footer__top--expanded {
    grid-template-columns: minmax(18.75rem, 1.6fr) repeat(4, minmax(0, 1fr));
    column-gap: clamp(1.5rem, 2.6vw, 2.5rem);
  }
}

/* PRV_MOBILE_POLISH_20260910
   Owner-directed responsive finish for the existing Primavera editorial system. */

:root {
  --prv-icon-ink: #213127;
  --prv-icon-bronze: #956a4e;
  --prv-icon-cream: #fcf9f4;
  --prv-motion: cubic-bezier(.22, 1, .36, 1);
}

/* A single precise discovery arrow replaces the platform-dependent emoji glyph. */
.text-link::after,
.prv-link > span[aria-hidden="true"] {
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  width: 1.05rem;
  height: 1.05rem;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17 17 7M9 7h8v8' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17 17 7M9 7h8v8' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  transform: translate3d(0, 0, 0);
  transition: transform 420ms var(--prv-motion);
}

.prv-link > span[aria-hidden="true"] {
  font-size: 0;
}

.text-link:is(:hover, :focus-visible)::after,
.prv-link:is(:hover, :focus-visible) > span[aria-hidden="true"] {
  transform: translate3d(3px, -3px, 0);
}

/* One custom play mark across every poster-driven player. */
.prv-play,
.film-card__play,
.film-epilogue__play {
  isolation: isolate;
  overflow: hidden;
  color: var(--prv-icon-cream);
  border-color: rgba(252, 249, 244, .76);
  background: rgba(20, 41, 30, .72);
  box-shadow: inset 0 0 0 1px rgba(149, 106, 78, .22), 0 12px 34px rgba(7, 18, 12, .22);
  font-size: 0 !important;
  letter-spacing: 0 !important;
}

.prv-play::before,
.film-card__play::before,
.film-epilogue__play::before {
  content: "";
  width: 1rem;
  height: 1.15rem;
  background: currentColor;
  clip-path: polygon(4% 0, 100% 50%, 4% 100%);
  transform: translate3d(1px, 0, 0);
  transition: transform 520ms var(--prv-motion);
}

.prv-video:is(:hover, :focus-visible) .prv-play {
  color: var(--prv-icon-ink);
  border-color: rgba(252, 249, 244, .9);
  background: rgba(252, 249, 244, .94);
  transform: scale(1.045);
}

.film-card:is(:hover, :focus-within) .film-card__play,
.film-epilogue__poster:is(:hover, :focus-within) .film-epilogue__play {
  color: var(--prv-icon-ink);
  border-color: rgba(252, 249, 244, .9);
  background: rgba(252, 249, 244, .94);
  transform: translate(-50%, -50%) scale(1.045);
}

.prv-video:is(:hover, :focus-visible) .prv-play::before,
.film-card:is(:hover, :focus-within) .film-card__play::before,
.film-epilogue__poster:is(:hover, :focus-within) .film-epilogue__play::before {
  transform: translate3d(3px, 0, 0);
}

/* Keep supplied publication marks exact, remove the visible JPEG paper box. */
.manifesto__trust {
  min-width: 0;
}

.manifesto__trust .trust-logo,
.manifesto__trust .trust-logo img {
  background: transparent !important;
}

.manifesto__trust .trust-logo img {
  mix-blend-mode: multiply !important;
  filter: grayscale(1) contrast(1.24);
}

/* Self-hosted vertical testimonials: custom launch layer, then native controls in-frame. */
.review-film__frame {
  isolation: isolate;
  width: min(100%, 15rem);
  border: 1px solid rgba(252, 249, 244, .18);
  box-shadow: 0 18px 46px rgba(7, 18, 12, .18);
}

.review-film {
  display: grid;
  justify-items: center;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.review-film figcaption {
  width: min(100%, 15rem);
  background: rgba(252, 249, 244, .88);
}

.review-film__launch {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: grid;
  place-items: center;
  width: 100%;
  border: 0;
  background: linear-gradient(180deg, rgba(15, 29, 21, .02), rgba(15, 29, 21, .22));
  color: var(--prv-icon-cream);
  cursor: pointer;
}

.review-film__launch[hidden] {
  display: none;
}

.review-film__launch-mark {
  display: grid;
  width: 4.2rem;
  height: 4.2rem;
  place-items: center;
  border: 1px solid rgba(252, 249, 244, .82);
  border-radius: 50%;
  background: rgba(20, 41, 30, .74);
  box-shadow: inset 0 0 0 1px rgba(149, 106, 78, .25), 0 14px 38px rgba(7, 18, 12, .28);
  transition: color 440ms var(--prv-motion), background-color 440ms var(--prv-motion), transform 440ms var(--prv-motion);
}

.review-film__launch-mark::before {
  content: "";
  width: 1rem;
  height: 1.2rem;
  background: currentColor;
  clip-path: polygon(4% 0, 100% 50%, 4% 100%);
  transform: translateX(2px);
}

.review-film__launch:is(:hover, :focus-visible) .review-film__launch-mark {
  color: var(--prv-icon-ink);
  background: rgba(252, 249, 244, .94);
  transform: scale(1.045);
}

.review-film__launch:focus-visible {
  outline: 2px solid var(--prv-icon-cream);
  outline-offset: -6px;
}

@media (max-width: 900px) {
  /* One editorial reel, with the next publication visibly peeking in. */
  .manifesto__trust .trust-logos {
    display: flex !important;
    width: auto;
    max-width: none;
    gap: 1rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scroll-padding-inline: .15rem;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .manifesto__trust .trust-logos::-webkit-scrollbar {
    display: none;
  }

  .manifesto__trust .trust-logo,
  .manifesto__trust .trust-logo:last-child {
    flex: 0 0 clamp(10.5rem, 47vw, 13rem);
    min-height: 5.15rem;
    grid-column: auto;
    padding-inline: .8rem;
    scroll-snap-align: start;
  }

  .manifesto__trust .trust-logo img,
  .manifesto__trust .trust-logo:nth-child(4) img,
  .manifesto__trust .trust-logo:nth-child(5) img {
    max-width: 100%;
    max-height: 3.15rem;
  }

  .manifesto__trust .trust-logos__link {
    margin-top: 1.35rem;
  }
}

@media (max-width: 700px) {
  html,
  body {
    max-width: 100%;
  }

  body {
    overflow-x: clip;
  }

  .site-header .prv-nav-wrap {
    min-height: 70px;
  }

  .site-header .prv-symbol.prv-wordmark-text {
    height: 48px;
    padding-inline: 0;
    font-size: clamp(1.35rem, 6.4vw, 1.62rem);
    letter-spacing: .09em;
  }

  .site-header .prv-menu-toggle {
    min-width: 4.75rem;
    min-height: 2.9rem;
    padding: .65rem 1rem;
    border-color: currentColor;
    font-size: .72rem;
    letter-spacing: .04em;
  }

  .section,
  .prv-block {
    scroll-margin-top: 5rem;
  }

  .section-title,
  .prv-copy > h2 {
    text-wrap: balance;
  }

  .button,
  .prv-link,
  .text-link {
    min-height: 2.85rem;
  }

  .prv-play {
    width: 3.75rem;
    height: 3.75rem;
  }

  .film-card__play {
    width: 4rem;
    height: 4rem;
  }

  .film-epilogue__play {
    width: 5.1rem;
    height: 5.1rem;
  }

  /* Six portrait review films become a touch-friendly horizontal gallery. */
  .review-film-grid {
    display: flex !important;
    width: calc(100% + 1rem);
    margin-inline-end: -1rem;
    padding: .4rem 1rem 1.1rem .15rem;
    gap: 1rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scroll-padding-inline: .15rem;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .review-film-grid::-webkit-scrollbar {
    display: none;
  }

  .review-film {
    flex: 0 0 min(76vw, 18.25rem);
    border-color: rgba(38, 54, 46, .18);
    box-shadow: 0 18px 46px rgba(30, 43, 36, .11);
    scroll-snap-align: start;
  }

  .review-film__frame {
    width: 100%;
    aspect-ratio: 9 / 16;
  }

  .review-film__frame video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .review-film figcaption {
    width: 100%;
    min-height: 3.8rem;
    padding: .9rem 1rem 1rem;
  }

  .review-film figcaption strong {
    font-size: .72rem;
    letter-spacing: .085em;
  }

  /* Portrait Vimeo grids elsewhere receive the same next-card cue. */
  .prv-video-grid:has(.prv-video[data-prv-playback-ratio^="0."]) {
    display: flex;
    width: calc(100% + 1rem);
    margin-inline-end: -1rem;
    padding: .25rem 1rem .8rem 0;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }

  .prv-video-grid:has(.prv-video[data-prv-playback-ratio^="0."])::-webkit-scrollbar {
    display: none;
  }

  .prv-video-grid:has(.prv-video[data-prv-playback-ratio^="0."]) > .prv-film {
    flex: 0 0 min(72vw, 17rem);
    scroll-snap-align: start;
  }

  /* Compact, intentional mobile footer. */
  .site-footer {
    padding-block: 3.25rem calc(1.5rem + env(safe-area-inset-bottom));
  }

  .site-footer .footer__top--expanded {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem 1.25rem;
    padding-bottom: 2.6rem;
  }

  .site-footer .footer__brand--strong {
    grid-column: 1 / -1;
  }

  .site-footer .footer__brand > a:first-child,
  .site-footer .prv-footer-logo {
    width: min(13.5rem, 62vw);
    max-width: 13.5rem;
  }

  .site-footer .footer__tagline {
    max-width: 19rem !important;
    margin-top: 1.45rem !important;
    font-size: 1.25rem;
    line-height: 1.13;
  }

  .site-footer .footer__territory {
    max-width: 22rem;
    margin-top: .95rem !important;
    font-size: .63rem;
    line-height: 1.65;
    letter-spacing: .09em;
  }

  .site-footer .footer__social {
    margin-top: 1.2rem;
  }

  .site-footer .prv-contact {
    margin-top: 1rem;
  }

  .site-footer .footer__nav h2 {
    margin-bottom: .8rem;
  }

  .site-footer .footer__nav a,
  .site-footer .footer__nav > span {
    line-height: 1.55;
  }

  .site-footer .footer__bottom {
    gap: 1.3rem;
    padding-top: 1.5rem;
  }

  .site-footer .footer__bottom > p {
    max-width: 38rem;
    line-height: 1.65;
  }
}

@media (prefers-reduced-motion: reduce) {
  .text-link::after,
  .prv-link > span[aria-hidden="true"],
  .prv-play::before,
  .film-card__play::before,
  .film-epilogue__play::before,
  .review-film__launch-mark {
    transition: none !important;
  }

  .manifesto__trust .trust-logos {
    scroll-behavior: auto !important;
  }
}


/* PRV_TESTIMONIALS_LOGO_REFINE_20260910
   Owner-directed refinement of the shared logo and Testimonials presentation. */

/* The full client mark stays vector sharp in both shared placements. */
.site-header .prv-symbol.prv-wordmark-text {
  width: clamp(11.5rem, 14.5vw, 13.75rem);
  height: auto;
  min-height: 3.65rem;
  padding: .3rem 0;
  color: inherit;
}

.prv-header-logo-mark {
  display: block;
  width: 100%;
  aspect-ratio: 1085 / 386;
  background: currentColor;
  -webkit-mask: url('/wp-content/uploads/primavera-brand-20260910/primavera-logo-vector.svg') center / contain no-repeat;
  mask: url('/wp-content/uploads/primavera-brand-20260910/primavera-logo-vector.svg') center / contain no-repeat;
}

.site-footer .footer__brand > a:first-child {
  width: min(100%, 15rem);
  max-width: 15rem;
}

.site-footer .prv-footer-logo {
  width: 100%;
  max-width: 15rem;
  height: auto;
  aspect-ratio: 1085 / 386;
  object-fit: contain;
  object-position: left center;
}

/* Written reviews read as warm stationery with real page depth and breathing room. */
.testimonial-stories {
  display: grid;
  gap: clamp(2rem, 4vw, 3.75rem);
}

.testimonial-story,
.testimonial-story:nth-child(even),
.testimonial-story:nth-child(odd) {
  position: relative;
  isolation: isolate;
  grid-template-columns: clamp(9.5rem, 14vw, 11.75rem) minmax(0, 1fr);
  gap: clamp(2.4rem, 4vw, 4rem);
  align-items: center;
  margin: 0;
  padding: clamp(2.75rem, 4vw, 3.75rem) clamp(2.6rem, 5vw, 4.75rem) !important;
  overflow: visible;
  border: 1px solid rgba(39, 58, 48, .12);
  background:
    linear-gradient(112deg, rgba(255, 255, 255, .72), rgba(248, 244, 235, .96) 42%, rgba(239, 235, 225, .74)),
    #fcf9f4;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .9) inset,
    0 2px 4px rgba(24, 39, 31, .05),
    0 24px 64px rgba(24, 39, 31, .12);
}

.testimonial-story::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: .5rem;
  border: 1px solid rgba(120, 95, 71, .12);
  pointer-events: none;
}

.testimonial-story:nth-child(odd) {
  transform: rotate(-.08deg);
}

.testimonial-story:nth-child(even) {
  transform: rotate(.1deg);
}

.testimonial-story .testimonial-story__portrait,
.testimonial-story:nth-child(even) .testimonial-story__portrait {
  width: 100%;
  max-width: 11.75rem;
  border: .45rem solid rgba(255, 255, 255, .82);
  box-shadow:
    0 0 0 1px rgba(38, 54, 46, .12),
    0 15px 35px rgba(30, 43, 36, .15);
}

.testimonial-story blockquote {
  max-width: 37ch;
  font-size: clamp(1.65rem, 2.05vw, 2.15rem);
  line-height: 1.24;
  letter-spacing: -.012em;
}

.testimonial-story__details {
  margin-top: clamp(1.35rem, 2vw, 1.8rem);
}

/* The portrait video itself is the card. Captions float cleanly on the film section. */
.review-film-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(2.5rem, 5vw, 5.5rem);
  row-gap: clamp(3rem, 5vw, 4.5rem);
}

.review-film,
.review-film:nth-child(n) {
  width: min(100%, 16rem);
  justify-self: center;
  overflow: visible;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.review-film::before,
.review-film::after {
  content: none !important;
}

.review-film__frame {
  width: 100%;
  border: 1px solid rgba(242, 235, 224, .2);
  background: var(--prv-icon-ink);
  box-shadow: 0 22px 52px rgba(3, 12, 7, .3);
}

.review-film figcaption {
  width: 100%;
  min-height: 0;
  padding: 1rem .15rem 0;
  border: 0;
  background: transparent !important;
  color: rgba(243, 237, 227, .82);
  text-align: center;
}

.review-film figcaption strong {
  color: inherit;
  font-size: .7rem;
  font-weight: 500;
  letter-spacing: .14em;
}

@media (hover: hover) and (pointer: fine) {
  .testimonial-story:hover {
    transform: translateY(-5px) rotate(0deg);
    border-color: rgba(38, 54, 46, .18);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, .92) inset,
      0 3px 7px rgba(24, 39, 31, .06),
      0 32px 78px rgba(24, 39, 31, .15);
  }
}

@media (max-width: 1100px) {
  .site-header .prv-symbol.prv-wordmark-text {
    width: clamp(10.5rem, 49vw, 12.5rem);
    min-height: 3.4rem;
    margin: 0;
    padding: .25rem 0;
  }
}

@media (max-width: 900px) {
  .testimonial-story,
  .testimonial-story:nth-child(even),
  .testimonial-story:nth-child(odd) {
    grid-template-columns: 1fr;
    gap: 1.3rem;
    padding: 1.65rem 1.4rem 1.8rem !important;
    transform: none;
  }

  .testimonial-story .testimonial-story__portrait,
  .testimonial-story:nth-child(even) .testimonial-story__portrait {
    width: 7rem;
    max-width: 7rem;
    justify-self: center;
  }

  .testimonial-story blockquote {
    max-width: none;
    font-size: clamp(1.35rem, 6vw, 1.62rem);
    line-height: 1.28;
    text-align: center;
  }

  .testimonial-story__details {
    text-align: center;
  }

  .review-film {
    width: auto;
  }

  .review-film figcaption {
    padding-top: .85rem;
  }

  .site-footer .footer__brand > a:first-child,
  .site-footer .prv-footer-logo {
    width: min(12rem, 56vw);
    max-width: 12rem;
  }
}

@media (max-width: 390px) {
  .site-header .prv-symbol.prv-wordmark-text {
    width: 10.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .testimonial-story,
  .testimonial-story:hover {
    transform: none !important;
    transition: none !important;
  }
}
