
:root{--red:#a71923;--cream:#faf7f0;--ink:#382a27;--line:#d5cdc2;--placeholder:#e4dfd6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{color:var(--red);text-align:center;line-height:1}.brand strong{display:block;font:bold italic 32px Georgia,serif}.brand small{display:block;font-size:8px;letter-spacing:3px;margin-top:10px}nav{display:flex;gap:40px}nav a{font-size:12px;letter-spacing:1.6px;font-weight:700;padding:14px 0;position:relative}nav a:after{content:"";position:absolute;bottom:5px;left:0;width:0;height:2px;background:var(--red);transition:.2s}nav a:hover:after,nav a:focus-visible:after{width:100%}.menu{display:none}.hero{min-height:660px;position:relative;background:#e3ded5;display:grid;place-items:center;text-align:center;padding:100px 24px 85px;overflow:hidden}.hero:before{content:"";position:absolute;inset:28px;border:1px solid #cbc2b7}.placeholder-tag{font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:2px;color:#81776b;display:flex;gap:10px;align-items:center;justify-content:center}.placeholder-tag:before{content:"";width:19px;height:15px;border:1px solid currentColor;display:inline-block}.hero>.placeholder-tag{position:absolute;top:55px;left:0;right:0}.hero-content{z-index:1;max-width:820px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin:0 0 24px}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(50px,6.7vw,96px);line-height:1.02;letter-spacing:-3px;color:var(--red);margin:0 0 27px}h1 em{font-weight:400}p{line-height:1.8;font-size:15px}.hero p{max-width:430px;margin:0 auto 30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--red);color:white;padding:18px 26px;font-size:10px;letter-spacing:1.8px;font-weight:700;transition:background .2s}.button:hover{background:#781019}.button:after{content:'↗';font-size:17px}.hero-bottom{position:absolute;bottom:49px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#81776b}.intro{text-align:center;max-width:800px;margin:auto;padding:90px 24px}.intro h2{font:400 40px/1.2 Georgia,serif;color:var(--red);margin:0}.intro p{max-width:540px;margin:22px auto 0;color:#756c63}.split{display:grid;grid-template-columns:1fr 1fr;min-height:510px}.media{background:var(--placeholder);display:grid;place-items:center;min-height:360px;position:relative}.media:after{content:"";position:absolute;inset:20px;border:1px solid #ccc3b7}.copy{padding:85px 15%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}h2{font:400 clamp(34px,4vw,56px)/1.1 Georgia,serif;color:var(--red);margin:0 0 22px;letter-spacing:-1px}.copy p{margin:0 0 24px;color:#756c63}.text-link{display:inline-flex;gap:36px;align-items:center;border-bottom:1px solid var(--red);padding:14px 0;color:var(--red);font-size:10px;font-weight:bold;letter-spacing:1.6px}.text-link:after{content:'↗';font-size:18px}.products{padding:95px 6%;text-align:center}.products .sub{color:#756c63;margin-bottom:45px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.product-image{min-height:290px;background:#ece7df;display:grid;place-items:center;position:relative}.product-image:before{content:"";border:1px solid #c7bdb0;width:95px;height:155px;border-radius:12px 12px 4px 4px;position:absolute}.product-image .placeholder-tag{position:absolute;bottom:28px;font-size:8px}.product-image .placeholder-tag:before{display:none}.product h3{font:26px Georgia,serif;color:var(--red);margin:24px 0 10px}.product p{font-size:13px;color:#756c63;margin:0}.red-section{background:var(--red);padding:75px 24px;text-align:center;color:var(--cream)}.red-section .eyebrow,.red-section h2{color:var(--cream)}.red-section h2{max-width:760px;margin:0 auto}.news{padding:95px 6%}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:36px}.section-heading h2{margin:0}.news .media{min-height:235px}.news h3{font:26px/1.25 Georgia,serif;margin:14px 0}.news .date{font-size:9px;letter-spacing:2px;color:var(--red);margin-top:24px}.news p{font-size:13px;color:#756c63}.contact{padding:70px 6%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:40px;align-items:center}.contact h2{margin-bottom:12px}.contact p{margin:0;color:#756c63}.contact-details{font-size:14px;line-height:2;text-align:right}.contact-details small{display:block;color:#938477;font-size:10px}footer{background:var(--red);color:var(--cream);padding:45px 6% 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}.footer-top .brand{color:var(--cream)}footer nav{gap:25px}footer nav a{font-size:9px}.footer-bottom{border-top:1px solid #bd4c53;padding-top:22px;font-size:10px;display:flex;justify-content:space-between;color:#e4babe}a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:5px}@media(max-width:760px){header{height:85px;padding:0 24px}.brand strong{font-size:26px}.menu{display:block;background:none;border:1px solid var(--line);padding:9px 12px;color:var(--red);font-size:11px}header nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--cream);padding:25px;flex-direction:column;gap:10px;border-bottom:1px solid var(--line)}header nav.open{display:flex}.hero{min-height:590px}.hero:before{inset:16px}.hero-bottom{font-size:8px}.hero-bottom span:last-child{display:none}h1{letter-spacing:-2px}.intro{padding:65px 24px}.intro h2{font-size:32px}.split{grid-template-columns:1fr}.copy{padding:55px 28px}.media{min-height:300px}.products,.news{padding:65px 24px}.grid{grid-template-columns:1fr;gap:38px}.product-image{min-height:270px}.red-section{padding:60px 24px}.section-heading{align-items:start;gap:20px}.section-heading>.eyebrow{display:none}.contact{padding:55px 24px;display:block}.contact-details{text-align:left;margin-top:25px}.footer-top{display:block}.footer-top .brand{text-align:left}.footer-top nav{margin-top:32px;flex-wrap:wrap;gap:12px 20px}.footer-bottom{gap:18px;flex-direction:column}footer{padding:40px 24px 24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Linen pattern supplied for the entire site theme. */
body,header,.hero,.red-section,footer,header nav.open{background-color:var(--cream);background-image:url("/assets/pattern-cascina.png");background-repeat:repeat;background-size:1024px 600px}
.media,.product-image{background:rgba(225,217,204,.35)}
.red-section,footer{color:var(--ink);border-top:1px solid var(--line)}
.red-section .eyebrow,.red-section h2,.footer-top .brand,footer nav{color:var(--red)}
.footer-bottom{border-top-color:var(--line);color:#64584c}
.copy p,.intro p,.products .sub,.product p,.news p,.contact p,.contact-details small,.placeholder-tag,.hero-bottom{color:#63594e}
@media(max-width:760px){header nav{background-color:var(--cream);background-image:url("/assets/pattern-cascina.png");background-repeat:repeat;background-size:1024px 600px}}

/* Brand and first product slide. Keep the supplied PNG intact; multiply lets the linen show through its white background. */
header{height:128px;isolation:isolate}
.header-brand{display:block;width:250px;flex-shrink:0;mix-blend-mode:multiply}
.header-brand img{display:block;width:100%;height:auto}
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:0;text-align:left;padding:0;align-items:stretch}
.hero:before{display:none}
.hero-content{padding:70px 9% 70px 12%;align-self:center}
.hero h1{font-size:clamp(48px,5.2vw,78px);letter-spacing:-2.5px}
.hero p{margin:0 0 30px;max-width:440px}
.hero-photo{min-width:0;display:flex;align-items:center}
.hero-photo img{width:100%;height:auto;display:block}
html{scroll-padding-top:135px}
@media(max-width:760px){header{height:100px}.header-brand{width:190px}header nav{top:100px}.hero{grid-template-columns:1fr}.hero-content{padding:48px 26px 38px;text-align:center}.hero h1{font-size:clamp(44px,9vw,64px);letter-spacing:-1.8px}.hero p{margin:0 auto 25px;font-size:14px}.hero-photo{width:100%}html{scroll-padding-top:105px}}

/* Product gallery and always-visible mobile navigation. */
.product-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;max-width:1100px;margin:0 auto;text-align:left}
.product-feature{margin:0;min-width:0}
.product-feature img{display:block;width:100%;height:auto}
.product-feature figcaption{font:24px/1.3 Georgia,serif;color:var(--red);padding:17px 0 4px}
@media(max-width:760px){
 header{height:auto;min-height:136px;padding:12px 12px 0;flex-direction:column;justify-content:center;gap:8px}
 .header-brand{width:174px}
 header #main-nav{display:flex;position:static;flex-direction:row;align-items:center;justify-content:space-evenly;gap:5px;width:100%;padding:0;background:none;border:0}
 header #main-nav a{font-size:10px;letter-spacing:.6px;white-space:nowrap;padding:16px 3px;min-height:44px}
 .hero-photo{grid-row:1}
 .hero-content{grid-row:2}
 .product-gallery{grid-template-columns:minmax(0,1fr);gap:32px}
 .product-feature figcaption{font-size:23px}
 html{scroll-padding-top:148px}
}

/* Soft logo-brown transition below the header. */
header{border-bottom:0}
header::after{content:"";position:absolute;top:100%;left:0;right:0;height:9px;background:linear-gradient(to bottom,rgba(56,26,10,.20),rgba(56,26,10,.08) 35%,rgba(56,26,10,0) 100%);pointer-events:none}

/* Language control stays at the top right on all screen sizes. */
header{padding-top:24px}
.language-switch{position:absolute;top:7px;right:6%;display:flex;gap:5px;align-items:center}
.language-switch button{border:1px solid transparent;background:transparent;color:#381a0a;padding:5px 8px;min-height:30px;font-size:11px;cursor:pointer;border-radius:4px}
.language-switch button[aria-pressed="true"]{border-color:rgba(56,26,10,.4);background:rgba(255,255,255,.5)}
.language-switch button:hover{background:rgba(255,255,255,.65)}
.language-switch span{font-size:16px;vertical-align:middle;margin-right:2px}
@media(max-width:760px){header{padding-top:38px;min-height:162px}.language-switch{top:4px;right:12px}.language-switch button{min-height:32px;padding:5px 9px}html{scroll-padding-top:178px}}

.contact{display:block;max-width:1180px;margin:0 auto;padding:75px 6%}.contact-heading{text-align:center}.contact-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin:25px 0 32px;color:#381a0a}.contact-links a,.footer-contacts a,.social-links a{text-decoration:underline;text-underline-offset:4px}
#contact-form{max-width:850px;margin:auto}#contact-form fieldset{padding:0;margin:0;border:0;min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 28px}.field{display:flex;flex-direction:column;gap:9px}.field.full{grid-column:1/-1}.field label{font-size:14px;color:#381a0a}.field input,.field textarea{width:100%;padding:14px 15px;background:rgba(255,255,255,.65);border:1px solid #aa9584;border-radius:3px;font:16px/1.5 Arial,sans-serif;color:#382a27}.field textarea{resize:vertical;min-height:160px}.field input:focus,.field textarea:focus{outline:2px solid #6b4530;outline-offset:2px}.field [aria-invalid="true"]{border:2px solid var(--red)}.consent{display:flex;align-items:flex-start;gap:12px;margin:25px 0 8px;font-size:14px;line-height:1.6}.consent input{width:20px;height:20px;flex-shrink:0;accent-color:#381a0a;margin:1px 0}.consent a[href]{text-decoration:underline;text-underline-offset:3px}.submit-row{text-align:center;margin-top:26px}.submit-row .button{border:0;cursor:pointer;background:#381a0a}.submit-row .button:after{display:none}.submit-row .button:disabled{opacity:.5;cursor:not-allowed}#form-notice{padding:14px 18px;border:1px solid #bda893;background:rgba(255,255,255,.5);margin-bottom:24px}#form-notice[hidden],#privacy-note[hidden]{display:none}.required-note,#privacy-note,#antispam-status{font-size:12px!important;margin:12px 0!important}#form-status{margin-top:20px;text-align:center}#form-status[data-state="error"]{color:#a71923}#form-status[data-state="success"]{color:#35552b}#antispam{margin-top:20px;min-height:0}.trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.company-info{padding-bottom:28px;font-size:14px;line-height:1.8}.company-info p{margin-bottom:8px}.company-info address{font-style:normal}.footer-contacts,.social-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:16px}.footer-top .brand strong{font-size:26px}
@media(max-width:760px){.contact{padding:55px 24px}.form-grid{grid-template-columns:1fr;gap:20px}.contact-links{flex-direction:column;gap:12px}.footer-top .brand strong{font-size:25px}.footer-contacts{flex-direction:column;gap:5px}}

/* Separate pages, category navigation and social calls to action. */
header nav a[aria-current="page"]{color:var(--red)}header nav a[aria-current="page"]:after{width:100%}
.home-categories{padding:0 6% 80px;max-width:1340px;margin:auto}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px}.category-tile{display:block;min-width:0}.category-tile img{width:100%;height:auto;display:block;transition:opacity .2s}.category-tile:hover img{opacity:.9}.category-caption{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 6px 8px;border-bottom:1px solid rgba(56,26,10,.2)}.category-caption h2{font:24px/1.3 Georgia,serif;color:#381a0a;margin:0;letter-spacing:.3px}.category-caption>span{font-size:27px;color:#381a0a}
.page-heading{max-width:1100px;margin:auto;text-align:center;padding:60px 24px 38px}.page-heading h1{font-size:clamp(44px,6vw,76px);margin:25px 0 18px}.page-heading p{color:#63594e}.back-home{font-size:12px;letter-spacing:1px;color:#381a0a;text-decoration:underline;text-underline-offset:5px}.about-story{max-width:900px;margin:0 auto}.about-story .copy{padding:30px 24px 75px}.about-story h2{font-size:40px}.about-story p{font-size:17px}.category-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;max-width:1100px;padding:0 24px;margin:0 auto 40px}.category-nav a{font-size:11px;letter-spacing:1px;color:#381a0a;border:1px solid #bba38e;border-radius:2px;padding:13px 18px}.category-nav a:hover{background:rgba(56,26,10,.07)}.catalogue{max-width:1100px;margin:0 auto;padding:0 24px 70px}.catalogue-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}.catalogue-category{border:1px solid #cdbca9;background:rgba(255,255,255,.27);padding:30px}.catalogue-category h2{font-size:32px;letter-spacing:0}.catalogue-category p{max-width:520px;color:#63594e}.catalogue-category .eyebrow{font-size:9px;margin-bottom:14px;display:block}.catalogue-category:target{outline:2px solid #a68c72;outline-offset:5px}.social-section{text-align:center;padding:65px 24px 85px;border-top:1px solid var(--line)}.social-section h2{font-size:clamp(32px,4vw,48px);color:#381a0a}.social-section>p:not(.eyebrow){color:#63594e}.social-buttons{display:flex;justify-content:center;gap:20px;margin-top:32px}.social-button{display:flex;align-items:center;gap:18px;min-width:240px;padding:20px 25px;border-radius:5px;background:#381a0a;color:#fff8ef;box-shadow:0 5px 15px rgba(56,26,10,.1);transition:transform .2s,background .2s}.social-button:hover{background:#57351f;transform:translateY(-2px)}.social-button svg{height:26px;width:26px;flex-shrink:0}.social-button span:last-child{margin-left:auto;font-size:22px}.social-button span{font-size:17px}.social-button.facebook{background:transparent;color:#381a0a;border:1px solid #795b43}.social-button.facebook:hover{background:rgba(56,26,10,.07)}
@media(max-width:760px){.home-categories{padding:0 24px 50px}.category-grid{grid-template-columns:1fr;gap:30px}.category-caption h2{font-size:23px}.page-heading{padding:40px 24px 20px}.catalogue-group{grid-template-columns:1fr}.catalogue-category{padding:24px}.social-buttons{flex-direction:column;max-width:350px;margin:25px auto 0}.social-button{min-width:0}.social-section{padding:50px 24px 60px}}

/* Updated category actions, brand footer and social details. */
.category-caption{align-items:center;flex-wrap:wrap;gap:16px;padding:18px 6px;border-bottom:0}.category-caption h2{font-size:23px;flex:1;min-width:180px}.category-caption .category-cta{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:12px 19px;min-height:44px;border:1px solid rgba(56,26,10,.26);border-radius:999px;background:rgba(255,255,255,.52);color:#381a0a;font:600 12px/1.3 Arial,sans-serif;letter-spacing:.3px;transition:background .2s,color .2s,box-shadow .2s}.category-tile:hover .category-cta,.category-tile:focus-visible .category-cta{background:#381a0a;color:#fff8ef;box-shadow:0 4px 12px rgba(56,26,10,.12)}
.footer-top .footer-brand{display:block;width:270px;max-width:100%;mix-blend-mode:multiply}.footer-brand img{display:block;width:100%;height:auto}.footer-contacts a{display:inline-flex;align-items:center;gap:10px}.footer-contacts svg{width:19px;height:19px;flex-shrink:0}.social-button.facebook{background:#1877f2;color:#fff;border:1px solid #1877f2}.social-button.facebook:hover{background:#1264d1;border-color:#1264d1}.social-button span:last-child{margin-left:0;font-size:17px}
@media(max-width:760px){.category-caption{gap:12px}.category-caption h2{font-size:22px;min-width:100%;margin-bottom:2px}.category-caption .category-cta{font-size:12px;padding:12px 20px}.footer-top .footer-brand{width:235px}.footer-contacts{gap:14px}}

/* Category-name buttons overlay the photographs; stronger soft header shadow. */
.category-tile{position:relative;isolation:isolate}
.category-tile .category-caption{position:absolute;left:6%;bottom:6%;right:6%;display:block;padding:0;margin:0;border:0;pointer-events:none}
.category-tile .category-caption .category-cta{display:inline-flex;min-width:0;max-width:100%;margin:0;padding:15px 23px;min-height:48px;background:rgba(250,247,240,.97);border:1px solid rgba(56,26,10,.18);border-radius:999px;color:#381a0a;font:600 16px/1.3 Arial,sans-serif;letter-spacing:.1px;box-shadow:0 4px 18px rgba(56,26,10,.2);white-space:normal}
.category-tile:hover .category-caption .category-cta,.category-tile:focus-visible .category-caption .category-cta{background:#381a0a;color:#fff8ef;box-shadow:0 5px 20px rgba(56,26,10,.3)}
header::after{height:19px;background:linear-gradient(to bottom,rgba(56,26,10,.34),rgba(56,26,10,.15) 35%,rgba(56,26,10,.04) 70%,rgba(56,26,10,0) 100%)}
@media(max-width:760px){header #main-nav{justify-content:space-between;gap:2px}header #main-nav a{font-size:9px;letter-spacing:.25px;padding:16px 2px}.category-tile .category-caption .category-cta{font-size:15px;padding:13px 20px;min-height:46px}}
@media(min-width:761px) and (max-width:1050px){header #main-nav{gap:20px}header #main-nav a{font-size:11px;letter-spacing:1px}.header-brand{width:210px}}




/* Linen recess with real sloped inner edges, matching the supplied reference. */
:root{
 --photo-window-radius:1px;
 --photo-window-rim:clamp(7px,.85vw,11px);
 --photo-window-depth:clamp(5px,.7vw,9px);
 --photo-window-blur:clamp(10px,1.35vw,17px);
 --photo-window-shadow:rgba(44,30,16,.43);
 --photo-window-edge:rgba(44,30,16,.25);
 --photo-window-light:rgba(255,252,233,.80);
 --photo-window-texture:url("/assets/pattern-cascina.png");
}
.photo-window{display:block;position:relative;isolation:isolate;width:100%;min-width:0;padding:var(--photo-window-rim);overflow:hidden;border-radius:var(--photo-window-radius);background:var(--photo-window-texture) repeat;background-size:1024px 600px;filter:none;box-shadow:none;transform:none}
.photo-window img{display:block;width:100%;height:auto;border:0;border-radius:0;clip-path:none;-webkit-mask-image:none;mask-image:none;box-shadow:none;filter:none;transform:none}
.photo-window::before,.photo-window::after{content:"";position:absolute;pointer-events:none}
.photo-window::before{inset:0;z-index:3;border:1px solid rgba(131,109,76,.18);border-top-color:rgba(255,253,238,.8);border-left-color:rgba(255,253,238,.65)}
.photo-window::after{inset:var(--photo-window-rim);z-index:2;box-shadow:inset var(--photo-window-depth) var(--photo-window-depth) var(--photo-window-blur) var(--photo-window-shadow),inset 1px 1px 3px var(--photo-window-edge),inset -1px -1px 2px rgba(255,253,240,.32)}
.window-bevel{position:absolute;inset:0;z-index:1;pointer-events:none}
.window-bevel i{display:block;position:absolute;pointer-events:none}
.bevel-top,.bevel-bottom{left:0;right:0;height:var(--photo-window-rim)}
.bevel-left,.bevel-right{top:0;bottom:0;width:var(--photo-window-rim)}
.bevel-top{top:0;clip-path:polygon(0 0,100% 0,calc(100% - var(--photo-window-rim)) 100%,var(--photo-window-rim) 100%);background:linear-gradient(to bottom,rgba(255,251,229,.38),rgba(102,78,43,.36) 45%,rgba(60,43,23,.65))}
.bevel-left{left:0;clip-path:polygon(0 0,100% var(--photo-window-rim),100% calc(100% - var(--photo-window-rim)),0 100%);background:linear-gradient(to right,rgba(255,251,229,.28),rgba(118,94,57,.28) 40%,rgba(74,53,29,.53))}
.bevel-bottom{bottom:0;clip-path:polygon(var(--photo-window-rim) 0,calc(100% - var(--photo-window-rim)) 0,100% 100%,0 100%);background:linear-gradient(to bottom,rgba(171,148,109,.25),rgba(255,251,230,.85) 60%,rgba(255,253,239,.45))}
.bevel-right{right:0;clip-path:polygon(0 var(--photo-window-rim),100% 0,100% 100%,0 calc(100% - var(--photo-window-rim)));background:linear-gradient(to right,rgba(177,153,114,.20),rgba(255,251,230,.75) 65%,rgba(255,253,239,.40))}
.hero-photo{padding:26px 26px 26px 12px}.hero-photo .photo-window{align-self:center}
.category-tile:hover img{opacity:1}.category-tile .category-caption{z-index:2;left:6%;bottom:6%;right:6%}
.language-switch button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.language-flag{width:24px;height:16px;display:block;flex-shrink:0;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px rgba(56,26,10,.16)}
@media(max-width:760px){:root{--photo-window-rim:7px;--photo-window-depth:5px;--photo-window-blur:10px;--photo-window-shadow:rgba(44,30,16,.36)}.hero-photo{padding:20px 18px 0}}

/* Product families: airy line-up, native horizontal scrolling and shared jar stages. */
.products-main{overflow:hidden}.products-main .page-heading{padding-bottom:28px}.products-main .category-nav{margin-bottom:45px}.category-nav a{border-radius:999px}.range-section{max-width:1320px;margin:0 auto;padding:46px 6% 64px;border-top:1px solid rgba(56,26,10,.13);scroll-margin-top:160px}.range-heading h2,.simple-range h2{font:500 clamp(28px,3.4vw,46px)/1.13 Georgia,serif;letter-spacing:-.8px;color:#381a0a;margin:12px 0 28px}.range-rail{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#b7a187 transparent;padding:0 3px 25px}.range-card{flex:0 0 30%;min-width:250px;text-align:center;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center}.jar-stage{display:flex;justify-content:center;align-items:center;width:100%;height:280px}.jar-stage img{display:block;width:auto;max-width:100%;height:100%;object-fit:contain}.range-note{font:10px/1.5 Arial,sans-serif;letter-spacing:1px;color:#776a58;text-align:center}.range-card h3{font:500 27px/1.2 Georgia,serif;color:#381a0a;margin:22px 0 12px}.range-card p{font:14px/1.7 Arial,sans-serif;color:#665a4c;max-width:245px;margin:0 0 24px}.range-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;background:var(--red);color:#fff;padding:13px 23px;border-radius:999px;font:600 12px/1.4 Arial,sans-serif;margin-top:auto;text-align:center;transition:background .2s,transform .2s}.range-button:hover{background:#75202a;transform:translateY(-2px)}.rail-controls{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.rail-controls button{width:44px;height:44px;border:0;border-radius:50%;background:#e5dccb;color:#381a0a;font:30px/1 Arial,sans-serif;cursor:pointer}.rail-controls button:disabled{opacity:.35;cursor:default}.simple-range{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px}.simple-range>div:first-child{max-width:460px}.simple-range p{color:#665a4c;line-height:1.7;margin-bottom:25px}.simple-range .jar-stage{height:320px}.simple-range .range-note{margin:0}.flavour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 30px;max-width:1200px;margin:auto;padding:25px 6% 90px}.flavour-card{text-align:center}.flavour-card h2{font:500 20px/1.4 Georgia,serif;color:#381a0a;max-width:260px;margin:15px auto}.draft-note{font-size:12px!important;line-height:1.7}.range-rail:focus-visible{outline:2px solid var(--red);outline-offset:4px}
@media(max-width:760px){.range-section{padding:32px 24px 42px;scroll-margin-top:180px}.range-rail{gap:22px;margin-right:-24px;padding-right:24px}.range-card{flex-basis:79%;min-width:0}.range-card h3{font-size:25px}.jar-stage{height:235px}.range-heading h2,.simple-range h2{font-size:30px;letter-spacing:-.5px}.simple-range{grid-template-columns:1fr;gap:24px;text-align:center}.simple-range>div:first-child{max-width:none}.simple-range>div:last-child{grid-row:1}.simple-range .jar-stage{height:250px}.flavour-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 16px;padding:15px 20px 65px}.flavour-grid .jar-stage{height:190px}.flavour-card h2{font-size:16px}.category-nav{gap:8px}.category-nav a{padding:11px 13px;font-size:10px}.rail-controls{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.range-rail{scroll-behavior:auto}.range-button{transition:none}}

/* Framed catalogue cards, following the supplied sketch. */
.range-card {
  align-items: stretch;
  text-align: left;
  border: 1px solid #a58a70;
  border-radius: 5px;
  background: #faf5eb;
  overflow: hidden;
}
.range-image-placeholder {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  border-bottom: 1px solid #a58a70;
  background: #eae0d0;
  color: #695746;
  font: 600 11px/1.4 Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.range-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 22px;
}
.range-card-body h3 { margin: 0 0 12px; }
.range-card-body p { min-height: 3.4em; }

/* Shared range cards on overview and product pages. */
.range-image-placeholder img{width:100%;height:100%;object-fit:contain;min-height:0}
.related-ranges{overflow:hidden}
.product-photo-pending{font:14px/1.5 Arial,sans-serif;color:#776a58}

/* Consistent category cards, including short descriptions and single-card rails. */
.range-card-body h3{min-height:2.4em}
.range-card-body p{min-height:8.5em;max-width:none;margin-bottom:24px}
.range-card-body .range-button{margin-top:auto}
.products-main .range-section{padding-top:28px;padding-bottom:38px}
.products-main .range-heading h2{margin-top:0;margin-bottom:24px}
.products-main .category-nav{margin-bottom:28px}
/* The same line icons wherever visitors can call or email us. */
a[href^="tel:"],a[href^="mailto:"]{display:inline-flex;align-items:center;gap:10px;max-width:100%}
a[href^="tel:"] svg,a[href^="mailto:"] svg{width:19px;height:19px;flex:0 0 19px}
a[href^="mailto:"] span{overflow-wrap:anywhere;min-width:0}
/* Compact versions of the home page social buttons. */
.footer-social{gap:12px;margin-top:22px}
.footer-social .social-button{min-width:0;min-height:44px;padding:10px 15px;gap:9px;text-decoration:none;box-shadow:none}
.footer-social .social-button svg{width:18px;height:18px}
.footer-social .social-button span{font-size:13px}
/* A light circular arrow, drawn consistently across platforms. */
.button::after,.text-link::after{content:none}
.cta-arrow{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;flex:0 0 29px;border:1px solid currentColor;border-radius:50%;opacity:.9;transition:transform .2s ease}
.cta-arrow svg{width:18px;height:18px}
.button:hover .cta-arrow,.text-link:hover .cta-arrow{transform:translateX(3px)}
@media(max-width:760px){.products-main .range-section{padding-top:24px;padding-bottom:28px}.range-card-body p{min-height:8.5em}.button,.text-link{gap:18px}.footer-social{flex-direction:row}}
@media(prefers-reduced-motion:reduce){.cta-arrow{transition:none}.button:hover .cta-arrow,.text-link:hover .cta-arrow{transform:none}}

.privacy-content{max-width:900px;margin:0 auto;padding:55px 24px 85px;line-height:1.75}.privacy-content h1{font-size:clamp(30px,4vw,45px);line-height:1.2;margin:24px 0}.privacy-content h2{font-size:23px;line-height:1.35;margin:36px 0 12px}.privacy-content p{margin:0 0 16px}.privacy-content a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.privacy-content .back-home{display:inline-block;margin-bottom:24px}

/* Raised cards and viewport-wide rails, with aligned resting positions. */
.range-section{--rail-gutter:max(6vw,calc((100vw - 1160px)/2));max-width:none;padding-left:var(--rail-gutter);padding-right:var(--rail-gutter)}
.range-rail{margin-left:calc(-1 * var(--rail-gutter));margin-right:calc(-1 * var(--rail-gutter));padding:12px var(--rail-gutter) 32px;scroll-padding-inline:var(--rail-gutter)}
.range-card{flex:0 0 clamp(250px,26.4vw,348px);box-shadow:0 3px 5px rgba(56,26,10,.10),0 12px 22px -6px rgba(56,26,10,.24);border-top-color:#c7b399;border-left-color:#c7b399}
.flavour-card .jar-stage{position:relative;overflow:visible}
.flavour-card .jar-stage img{transform-origin:center;transition:transform .35s cubic-bezier(.2,.65,.3,1)}
.flavour-card .fruit-percentage{display:block;white-space:nowrap}
@media(min-width:761px) and (hover:hover) and (pointer:fine){
 .flavour-grid{row-gap:65px}
 .flavour-card .jar-stage{margin-block:42px}
 .flavour-card .jar-stage img:hover{transform:scale(1.3);position:relative;z-index:1}
}
@media(max-width:760px){
 .range-section{--rail-gutter:24px}
 .range-card{flex-basis:calc((100vw - 48px) * .79);min-width:0}
}
@media(prefers-reduced-motion:reduce){.flavour-card .jar-stage img{transition:none}}
