
/* =====================================================
LAYERSLIDER BUTTON COLOURS
===================================================== */
.ls-bottom-slidebuttons {
background: #e1dbd7 !important;
}
.ls-side-slidebuttons {
background: #e1dbd7 !important;
}
/* =====================================================
MOBILE – PREVENT SIDEWAYS SCROLL
===================================================== */
@media (max-width: 767px) {
html,
body {
overflow-x: hidden !important;
}
}
/* =====================================================
LANDSCAPE PHONE / SMALL TABLET FIXES
===================================================== */
@media (orientation: landscape) and (max-width: 1024px) {
html,
body {
width: 100% !important;
max-width: 100% !important;
overflow-x: hidden !important;
overflow-x: clip !important;
}
#page,
.site,
.jupiterx-site,
.elementor,
.elementor-section-wrap {
max-width: 100vw !important;
overflow-x: hidden !important;
overflow-x: clip !important;
}
/* GOOGLE REVIEWS */
.landscape-reviews {
width: 94% !important;
max-width: 94% !important;
margin-left: auto !important;
margin-right: auto !important;
overflow: hidden !important;
box-sizing: border-box !important;
}
/* AMAZON ANIMATED HEADLINE – LANDSCAPE */
.landscape-amazon {
width: 100% !important;
max-width: 100% !important;
padding-left: 30px !important;
padding-right: 30px !important;
box-sizing: border-box !important;
overflow: visible !important;
text-align: center !important;
}
.landscape-amazon .elementor-headline {
width: 100% !important;
max-width: 100% !important;
font-size: 30px !important;
line-height: 1.15 !important;
white-space: normal !important;
text-align: center !important;
box-sizing: border-box !important;
}
.landscape-amazon .elementor-headline-plain-text,
.landscape-amazon .elementor-headline-dynamic-text,
.landscape-amazon .elementor-headline-dynamic-wrapper {
white-space: normal !important;
max-width: 100% !important;
}
/* PRODUCT MONTAGE + STRAWBERRY */
.landscape-products {
position: relative !important;
width: 94vw !important;
max-width: 94vw !important;
left: 50% !important;
margin-left: -47vw !important;
margin-right: 0 !important;
background-size: 100% auto !important;
background-position: center top !important;
background-repeat: no-repeat !important;
background-attachment: scroll !important;
}
/* PICARM – SPACE INSIDE TOP BORDER IN LANDSCAPE */
.mobile-picarm {
margin-top: 0 !important;
padding-top: 30px !important;
box-sizing: border-box !important;
}
/* HIDE SELECTED ITEMS IN LANDSCAPE */
.hide-landscape {
display: none !important;
}
}
/* =====================================================
GOOGLE REVIEW HEADING
===================================================== */
.review-heading-wrap {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
gap: 14px !important;
line-height: 1.1 !important;
padding-bottom: 55px !important;
}
.review-main {
font-size: 42px !important;
}
.review-rated {
font-size: 30px !important;
}
.review-rating-row {
display: flex !important;
align-items: center !important;
justify-content: center !important;
column-gap: 12px !important;
}
/* =====================================================
SHIMMERING GOOGLE STARS
===================================================== */
.review-stars {
font-size: 38px;
color: #f9ab00;
background: linear-gradient(
110deg,
#f9ab00 35%,
#fff3a6 50%,
#f9ab00 65%
);
background-size: 200% 100%;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
animation: star-shimmer 3s infinite linear;
}
.review-count {
color: #666666 !important;
font-size: 24px !important;
}
@keyframes star-shimmer {
0% {
background-position: 200% center;
}
100% {
background-position: -200% center;
}
}
/* =====================================================
RESPONSIVE PRODUCT HERO – DESKTOP
===================================================== */
.ppp-new-hero {
position: relative !important;
width: 100% !important;
max-width: 100% !important;
margin: 0 !important;
padding: 0 !important;
overflow: hidden !important;
box-sizing: border-box !important;
}
.ppp-new-hero-image {
display: block !important;
width: 100% !important;
max-width: 100% !important;
height: auto !important;
margin: 0 !important;
padding: 0 !important;
}
.ppp-new-hero-title {
position: absolute !important;
top: 39% !important;
right: 5% !important;
transform: translateY(-50%);
width: 42% !important;
max-width: 42% !important;
margin: 0 !important;
padding: 0 !important;
color: #38251e !important;
font-family: inherit !important;
font-size: clamp(28px, 3.5vw, 60px) !important;
font-weight: 300 !important;
line-height: 1.08 !important;
text-align: left !important;
box-sizing: border-box !important;
opacity: 1;
animation: ppp-title-fade-down 1.2s ease-out 0.2s both;
}
/* =====================================================
HERO TEXT FADE-DOWN
===================================================== */
@keyframes ppp-title-fade-down {
0% {
opacity: 0;
transform: translateY(calc(-50% - 35px));
}
100% {
opacity: 1;
transform: translateY(-50%);
}
}
/* =====================================================
HERO – TABLET ONLY
===================================================== */
@media (min-width: 768px) and (max-width: 1024px) {
.ppp-new-hero-title {
top: 40% !important;
right: 4% !important;
width: 47% !important;
max-width: 47% !important;
font-size: clamp(22px, 3.1vw, 32px) !important;
font-weight: 300 !important;
line-height: 1.06 !important;
letter-spacing: -0.01em !important;
text-align: left !important;
white-space: normal !important;
word-break: normal !important;
overflow-wrap: normal !important;
text-wrap: balance;
}
}
/* =====================================================
HERO – MOBILE PORTRAIT
===================================================== */
@media (max-width: 767px) and (orientation: portrait) {
.ppp-new-hero {
height: 240px !important;
}
.ppp-new-hero-image {
width: 100% !important;
max-width: none !important;
height: 100% !important;
object-fit: cover !important;
object-position: 16% center !important;
}
.ppp-new-hero-title {
top: 27% !important;
right: 2.5% !important;
width: 60% !important;
max-width: 60% !important;
font-family: inherit !important;
font-size: clamp(17px, 4.7vw, 20px) !important;
font-weight: 300 !important;
line-height: 1.05 !important;
letter-spacing: -0.01em !important;
text-align: left !important;
white-space: normal !important;
word-break: normal !important;
overflow-wrap: normal !important;
text-wrap: balance;
}
}
/* =====================================================
AMAZON ANIMATED HEADLINE – MOBILE PORTRAIT
TWO-LINE LAYOUT
===================================================== */
@media (max-width: 767px) and (orientation: portrait) {
.landscape-amazon {
width: 100% !important;
max-width: 100% !important;
margin: 0 auto !important;
padding: 8px 12px 8px 12px !important;
box-sizing: border-box !important;
overflow: visible !important;
text-align: center !important;
}
.landscape-amazon .elementor-widget-container {
width: 100% !important;
max-width: 100% !important;
margin: 0 !important;
padding: 0 !important;
text-align: center !important;
}
.landscape-amazon .elementor-headline {
display: flex !important;
flex-direction: row !important;
flex-wrap: wrap !important;
align-items: baseline !important;
justify-content: center !important;
column-gap: 6px !important;
row-gap: 5px !important;
width: 100% !important;
max-width: 100% !important;
margin: 0 auto !important;
padding: 0 !important;
font-size: 22px !important;
line-height: 1.12 !important;
text-align: center !important;
box-sizing: border-box !important;
}
.landscape-amazon
.elementor-headline
> .elementor-headline-plain-text:first-child {
display: inline-block !important;
width: auto !important;
max-width: none !important;
flex: 0 0 auto !important;
margin: 0 !important;
padding: 0 !important;
white-space: nowrap !important;
text-align: center !important;
line-height: 1.12 !important;
}
.landscape-amazon .elementor-headline-dynamic-wrapper {
display: inline-block !important;
width: auto !important;
max-width: none !important;
flex: 0 0 auto !important;
margin: 0 !important;
padding: 0 !important;
white-space: nowrap !important;
text-align: center !important;
line-height: 1 !important;
overflow: visible !important;
}
.landscape-amazon .elementor-headline-dynamic-text,
.landscape-amazon .elementor-headline-highlighted-text {
display: inline-block !important;
width: auto !important;
max-width: none !important;
margin: 0 !important;
padding: 0 !important;
white-space: nowrap !important;
line-height: 1 !important;
text-align: center !important;
}
.landscape-amazon
.elementor-headline
> .elementor-headline-plain-text:last-child {
display: block !important;
flex: 0 0 100% !important;
width: 100% !important;
max-width: 100% !important;
margin: 4px 0 0 0 !important;
padding: 0 !important;
white-space: nowrap !important;
text-align: center !important;
line-height: 1.12 !important;
}
.landscape-amazon svg {
overflow: visible !important;
}
.landscape-amazon.elementor-widget {
margin-bottom: 8px !important;
}
}
/* =====================================================
PICARM – MAKE MORE PROMINENT ON MOBILE
===================================================== */
@media (max-width: 767px) {
.mobile-picarm {
position: relative !important;
width: 100vw !important;
max-width: 100vw !important;
left: 50% !important;
margin-left: -50vw !important;
margin-right: 0 !important;
margin-top: 0 !important;
padding: 30px 10px 18px 10px !important;
background: #ffffff !important;
box-sizing: border-box !important;
overflow: hidden !important;
}
.mobile-picarm > .elementor-container,
.mobile-picarm .elementor-container,
.mobile-picarm .elementor-column,
.mobile-picarm .elementor-widget-wrap {
width: 100% !important;
max-width: 100% !important;
}
/* MAIN PICARM HEADING */
.mobile-picarm .elementor-heading-title {
font-size: 27px !important;
line-height: 1.12 !important;
}
/* TEXT / SUBHEADING */
.mobile-picarm p {
font-size: 20px !important;
line-height: 1.25 !important;
}
/* PICARM GRAPHIC */
.mobile-picarm img {
display: block !important;
width: 100% !important;
max-width: 100% !important;
height: auto !important;
margin-left: auto !important;
margin-right: auto !important;
}
}
/* =====================================================
PICARM – MOBILE PORTRAIT
LARGER + EXTRA WHITE BANDS
===================================================== */
@media (max-width: 767px) and (orientation: portrait) {
.mobile-picarm {
/*
* Larger white bands above and below
* the complete Picarm content.
*/
border-top: 48px solid #ffffff !important;
border-bottom: 48px solid #ffffff !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
margin-left: -50vw !important;
margin-right: 0 !important;
padding: 18px 4px 18px 4px !important;
background: #ffffff !important;
box-sizing: border-box !important;
}
/* ENSURE INNER PICARM AREA STAYS WHITE */
.mobile-picarm > .elementor-container,
.mobile-picarm .elementor-container {
background: #ffffff !important;
}
/* PICARM MAIN HEADING */
.mobile-picarm .elementor-heading-title {
font-size: 33px !important;
line-height: 1.10 !important;
}
/* PICARM SUBHEADING / TEXT */
.mobile-picarm p {
font-size: 24px !important;
line-height: 1.22 !important;
}
/* PICARM IMAGE */
.mobile-picarm img {
width: 100% !important;
max-width: 100% !important;
}
}
/* =====================================================
ACCESSIBILITY – REDUCED MOTION
===================================================== */
@media (prefers-reduced-motion: reduce) {
.ppp-new-hero-title {
animation: none !important;
opacity: 1 !important;
transform: translateY(-50%) !important;
}
}
/* PP_FULL_WIDTH_START */
/* Shared body layout for the approved code-managed pages. No header/footer rules. */
.pp-page.pp-page,.pcm-lp.pcm-lp{--pp-content-gutter:clamp(20px,2vw,40px)}
.pp-page.pp-page .pp-in,
.pp-page.pp-page .pp-j-in,
.pp-page.pp-page .pp-j-hero,
.pp-page.pp-page .pp-c-wrap,
.pp-page.pp-page .pp-g-shell,
.pp-page.pp-page .pp-p-in{width:100%;max-width:none}
.pcm-lp.pcm-lp .pcm-in{width:100%;max-width:none}
.pcm-lp.pcm-lp .pcm-band,
.pcm-lp.pcm-lp .pcm-proof{padding-left:var(--pp-content-gutter);padding-right:var(--pp-content-gutter)}
.pp-page.pp-page .pp-band,
.pp-page.pp-page .pp-j-section,
.pp-page.pp-page .pp-j-intro,
.pp-page.pp-page .pp-e-audiences,
.pp-page.pp-page .pp-e-related,
.pp-page.pp-page .pp-c-wrap,
.pp-page.pp-page .pp-g-shell,
.pp-page.pp-page .pp-p-hero,
.pp-page.pp-page .pp-p-section,
.pp-page.pp-page .pp-p-extras,
.pp-page.pp-page .pp-p-value,
.pp-page.pp-page .pp-p-closing{padding-left:var(--pp-content-gutter);padding-right:var(--pp-content-gutter)}
.pp-page.pp-page .pp-g-card-wide{max-width:none}
.pp-page.pp-page .pp-g-prose p,
.pp-page.pp-page .pp-g-prose ul,
.pp-page.pp-page .pp-g-prose ol{max-width:76ch}
@media(min-width:901px){
.pp-page.pp-page .pp-g-layout{grid-template-columns:clamp(210px,18vw,280px) minmax(0,1fr);gap:clamp(30px,4vw,70px)}
}
@media(min-width:1100px){
.pp-page.pp-page .pp-g-shell:has(>.pp-g-article-head){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(36px,4vw,72px)}
.pp-page.pp-page .pp-g-shell:has(>.pp-g-article-head)>.pp-g-crumb,
.pp-page.pp-page .pp-g-shell:has(>.pp-g-article-head)>.pp-g-layout{grid-column:1/-1}
.pp-page.pp-page .pp-g-article-head{max-width:none;padding-top:18px}
.pp-page.pp-page .pp-g-shell>.pp-g-photo{max-width:none;align-self:center}
}
@media(max-width:720px){
.pp-page.pp-page{--pp-content-gutter:20px}
.pp-page.pp-page .pp-c-wrap{padding-left:16px;padding-right:16px}
}
/* PP_FULL_WIDTH_END */
/* PP_EDITORIAL_STYLE_START */
/* Editorial design system, based on the approved Press page.
Page bodies only. Preserve theme header/footer, protected titles and layout fixes.
Delivered separately from release fragments, alongside the shared width rules. */
.pp-page.pp-page,.pcm-lp.pcm-lp{
--pp-editorial-serif:Georgia,"Times New Roman",serif;
--pp-editorial-sans:"IBM Plex Sans",Arial,sans-serif;
--pp-paper:#f5f2ea;--pp-dark:#272e29;--pp-accent:#a15336;
--pp-ink:#262822;--pp-ink-2:#54594f;--pp-rule:#d9d8cc;
font-family:var(--pp-editorial-sans);color:var(--pp-ink);
}
.pp-page.pp-page :is(h1:not(.pp-pr-title),h2),.pcm-lp.pcm-lp :is(h1,h2){
font-family:var(--pp-editorial-serif)!important;font-weight:400;
letter-spacing:-.035em;line-height:1.1;text-transform:none;
}
.pp-page.pp-page h1:not(.pp-pr-title),.pcm-lp.pcm-lp h1{
font-size:clamp(46px,6.5vw,100px);font-weight:400;letter-spacing:-.055em;line-height:1.04;
}
.pp-page.pp-page h1 em,.pcm-lp.pcm-lp h1 em{font-family:inherit;font-weight:400;font-style:italic;color:#8a492f}
.pp-page.pp-page :is(h3,h4),.pcm-lp.pcm-lp :is(h3,h4){font-family:var(--pp-editorial-sans)!important;letter-spacing:-.015em;font-weight:500;line-height:1.3}
.pp-page.pp-page :is(.pp-j-heading,.pp-p-heading,.pp-g-section-title),
.pp-page.pp-page :is(.pp-p-top,.pp-p-end,.pp-f-end,.pp-pr-end) h2,
.pp-page.pp-page .pp-g-prose h2{font-size:clamp(32px,3.4vw,48px);font-weight:400;line-height:1.12}
/* Long service and article titles use the same face at a readable scale. */
.pp-page.pp-page .pp-j-hero:not(.pp-e-hero) h1{font-size:clamp(45px,5.25vw,82px);max-width:17ch}
.pp-page.pp-page .pp-g-article-head h1{font-size:clamp(40px,4.7vw,72px);max-width:23ch}
.pp-page.pp-page .pp-c-form-panel h1{font-size:clamp(44px,5vw,74px);color:var(--pp-ink);font-weight:400}
.pp-page.pp-page .pp-f-hero h1{max-width:16ch}
.pp-page.pp-page .pp-p-title{max-width:20ch}
.pp-page.pp-page .pp-e-title{max-width:15ch}
/* Keep David's specifically approved bold FAQ category headings. */
.pp-page.pp-page .pp-f-group h2{font-size:clamp(29px,3vw,40px);font-weight:700}
.pp-page.pp-page :is(.pp-c-panel,.pp-c-benefits a,.pp-p-hero,.pp-f-hero,.pp-j-process,.pp-p-extras,.pp-p-value,.pp-g-answer,.pp-g-note,.pp-g-strip){background:var(--pp-paper)}
.pp-page.pp-page .pp-j-hero .pp-j-intro{background:var(--pp-paper)}
.pp-page.pp-page .pp-g-shell:has(>.pp-g-hero),.pp-page.pp-page .pp-g-shell:has(>.pp-g-article-head){background:var(--pp-paper)}
.pp-page.pp-page :is(.pp-j-feature,.pp-p-included,.pp-p-closing,.pp-f-end,.pp-p-end,.pp-g-directory,.pp-pr-books){background:var(--pp-dark)}
.pp-page.pp-page section.pp-e-audiences{background:var(--pp-dark)}
.pp-page.pp-page :is(.pp-j-kicker,.pp-p-kicker,.pp-f-kicker,.pp-g-kicker,.pp-pr-kicker,.pp-eyebrow){font-family:var(--pp-editorial-sans);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.pp-page.pp-page :is(.pp-j-small,.pp-j-deck,.pp-p-intro,.pp-p-copy,.pp-e-body,.pp-g-deck){line-height:1.75}
.pp-page.pp-page :is(.pp-j-deck,.pp-p-intro,.pp-f-intro,.pp-g-deck,.pp-pr-copy,.pp-c-intro){font-size:18px}
.pp-page.pp-page :is(.pp-c-breadcrumb,.pp-p-breadcrumb,.pp-p-crumb,.pp-f-crumb,.pp-g-crumb,.pp-pr-crumb){font-size:12px;letter-spacing:0}
.pp-page.pp-page :is(.pp-j-number,.pp-p-big-price,.pp-p-service-price),.pcm-lp.pcm-lp :is(p,li,button,input){font-family:var(--pp-editorial-sans)}
/* A single button treatment. Form operation and labels are unchanged. */
.pp-page.pp-page a.pp-btn,.pcm-lp.pcm-lp a.pcm-btn,
.pp-page.pp-page .pp-c-existing-form .elementor-button{
font-family:var(--pp-editorial-sans)!important;font-size:15px!important;line-height:1.5!important;font-weight:500!important;
border-radius:0!important;padding:14px 26px!important;background:#a15336!important;border:1px solid #a15336!important;color:#fff!important;
text-transform:none;letter-spacing:0;box-shadow:none!important;
}
.pp-page.pp-page a.pp-btn:hover,.pcm-lp.pcm-lp a.pcm-btn:hover,
.pp-page.pp-page .pp-c-existing-form .elementor-button:hover{background:#87432b!important;border-color:#87432b!important;transform:none}
.pp-page.pp-page .pp-c-existing-form .elementor-field-textual,
.pp-page.pp-page .pp-c-address address{font-family:var(--pp-editorial-sans)!important}
@media(max-width:740px){
.pp-page.pp-page h1:not(.pp-pr-title),.pcm-lp.pcm-lp h1{font-size:clamp(42px,10vw,64px);line-height:1.08;letter-spacing:-.045em}
.pp-page.pp-page .pp-g-article-head h1{font-size:clamp(37px,8.5vw,54px)}
.pp-page.pp-page :is(.pp-j-deck,.pp-p-intro,.pp-f-intro,.pp-g-deck,.pp-pr-copy,.pp-c-intro){font-size:16px}
}
/* PP_EDITORIAL_STYLE_END */
/* PP IMAGE CORNERS START */
/* Shared photograph corners, matching Guides. No image files are modified. */
:is(.pp-page,main,.jupiterx-main) img:not([class*="logo"]):not([alt*="logo" i]):not([src$=".svg"]):not([aria-hidden="true"]):not(.avatar):not([width="1"]){border-radius:18px}
/* Round the visible frame as well, including zoomed photos and canvases. */
.pp-page.pp-page :is(.pp-j-photo,.pp-e-service-image,.pp-e-audience-image,.pp-e-format-photo,.pp-a-portrait-crop,.pp-r-two,.pp-spin-stage){border-radius:18px;overflow:hidden}
.pp-page.pp-page .pp-h-amazon .pp-h-feature>div:first-child{border-radius:18px;overflow:hidden}
.pp-page.pp-page .pp-h-banner-wrap{border-radius:24px;overflow:hidden}
/* Brand identities, payment marks and interface controls retain their shapes. */
:is(.pp-page,main,.jupiterx-main) :is(.pp-h-logos,.pp-p-client,.pp-pay-card-logos,.pp-pay-stripe-logo,.pp-j-lightbox,.pp-pr-lightbox) img,
:is(.pp-page,main,.jupiterx-main) img:is([class*="logo"],[alt*="logo" i],.avatar){border-radius:0!important}
/* The hero frame handles clipping, including the phone's shifted photograph. */
.pp-page.pp-page .pp-h-banner-wrap img{border-radius:0!important}
@media(max-width:760px){.pp-page.pp-page .pp-h-banner-wrap{border-radius:16px}}
/* Header photographs also need their coloured/white outer mounts rounded. */
.pp-page.pp-page :is(.pp-j-hero-photo,.pp-e-hero-photo,.pp-am-hero-image,.pp-sa-hero-collage figure,.pp-sa-banner,.pp-a-photo,.pp-pd-photo){border-radius:18px;overflow:hidden}
/* PP IMAGE CORNERS END */
/* PP HOMEPAGE LOGO START */
/* Homepage closing logo alignment – below both links. */
.pp-page.pp-page .pp-h-closing>div{text-align:center}
.pp-page.pp-page .pp-h-closing .pp-h-logo{margin:30px auto 0}
.pp-page.pp-page .pp-h-closing .pp-h-actions{justify-content:center}
/* PP HOMEPAGE LOGO END */
/* PP_PRESS_WIDTH_START */
/* Press body only: match the shared fluid layout and responsive gutters. */
.pp-page.pp-page .pp-pr-in{width:100%;max-width:none}
.pp-page.pp-page .pp-pr-hero,
.pp-page.pp-page .pp-pr-archive,
.pp-page.pp-page .pp-pr-books,
.pp-page.pp-page .pp-pr-end{padding-left:var(--pp-content-gutter,clamp(20px,2vw,40px));padding-right:var(--pp-content-gutter,clamp(20px,2vw,40px))}
/* PP_PRESS_WIDTH_END */
/* PP_FAQ_AMAZON_WIDTH_START */
/* FAQ and Amazon body widths: match the shared fluid layout. */
.pp-page.pp-page .pp-f-in{width:100%;max-width:none}
.pp-page.pp-page .pp-f-hero,
.pp-page.pp-page .pp-f-layout,
.pp-page.pp-page .pp-f-end{padding-left:var(--pp-content-gutter,clamp(20px,2vw,40px));padding-right:var(--pp-content-gutter,clamp(20px,2vw,40px))}
.pp-page.pp-page .pp-am-hero .pp-in,
.pp-page.pp-page .pp-am-project .pp-in,
.pp-page.pp-page .pp-am-index .pp-in{width:100%;max-width:none}
/* PP_FAQ_AMAZON_WIDTH_END */

.pp-settings{max-width:1240px;margin:0 auto;padding:0 24px 20px}.pp-simple{max-width:1000px;margin:auto;padding:48px 24px}.pp-contact-form input,.pp-contact-form textarea{width:100%;box-sizing:border-box;padding:12px}.pp-contact-form label{display:block}.pp-contact-form button:disabled{opacity:.65;cursor:not-allowed}.pp-contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.pp-contact-result{display:none}.pp-contact-result:target{display:block}.pp-contact-status:empty{display:none}.pp-main{min-height:40vh}