:root { --ink:#1d2b3a; --paper:#ece8df; --cream:#f8f5ed; --red:#8e4140; --blue:#304f68; --ochre:#b18a42; --line:rgba(48,79,104,.105); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; font-size:16px; }
main { min-height:100vh; background:var(--paper); color:var(--ink); transition:background-color .25s,color .25s; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
select,textarea { font:inherit; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { height:92px; padding:0 clamp(24px,5vw,78px); display:flex; align-items:center; justify-content:space-between; border-bottom:3px solid var(--red); background:color-mix(in srgb,var(--ink) 96%,transparent); color:var(--cream); position:sticky; top:0; z-index:10; box-shadow:0 5px 18px rgba(29,43,58,.18); backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; gap:12px; }
.brand-mark { width:42px; height:42px; display:grid; place-items:center; border:2px solid var(--ink); border-radius:50% 46% 48% 45%; font-family:Georgia,serif; font-size:24px; font-weight:700; transform:rotate(-4deg); }
.logo-mark { width:76px; height:48px; object-fit:contain; flex:none; }
.site-header .logo-mark { filter:invert(1) sepia(.08); }
.brand strong { display:block; font-size:20px; letter-spacing:.09em; }
.brand small { display:block; margin-top:2px; font-size:10px; letter-spacing:.16em; color:#5d655e; }
.site-header .brand small { color:rgba(248,245,237,.68); }
nav { display:flex; align-items:center; gap:34px; font-size:14px; font-weight:700; }
.site-header nav>a:not(.header-cta) { border-bottom:1px solid transparent; }
.site-header nav>a:not(.header-cta):hover { border-color:var(--cream); }
.header-cta { border:1px solid var(--red); padding:12px 17px; background:var(--red); color:white; transition:.2s; }
.header-cta:hover { background:var(--cream); border-color:var(--cream); color:var(--ink); }
.header-cta.active-contact { background:var(--cream); border-color:var(--cream); color:var(--ink); }
.shop-cta { display:inline-flex; align-items:center; gap:9px; padding:13px 18px; background:#e2b662; color:var(--ink); border:1px solid #e2b662; font-weight:900; box-shadow:3px 3px 0 rgba(142,65,64,.75); transition:transform .2s,background .2s,box-shadow .2s; }
.shop-cta:hover { background:#f1cb77; transform:translateY(-2px); box-shadow:4px 5px 0 rgba(142,65,64,.72); }
.shop-cta span { font-size:17px; }
.intro { min-height:670px; padding:88px clamp(24px,7vw,110px) 100px; display:flex; align-items:center; position:relative; overflow:hidden; background-image:url('/aubrac-feeding-hero.png'); background-size:cover; background-position:center center; }
.intro::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(90deg,rgba(236,232,223,.98) 0%,rgba(236,232,223,.91) 29%,rgba(236,232,223,.6) 40%,rgba(236,232,223,.25) 50%,rgba(236,232,223,.07) 60%,transparent 70%); }
.intro::after { content:""; position:absolute; inset:auto 0 0; height:110px; z-index:0; pointer-events:none; background:linear-gradient(to bottom,transparent,rgba(29,43,58,.18)); }
.intro-copy { position:relative; z-index:1; width:min(64%,780px); }
.eyebrow { color:var(--red); font-weight:800; font-size:13px; letter-spacing:.12em; text-transform:uppercase; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:500; margin:0; }
h1 { margin-top:20px; font-size:clamp(50px,6.4vw,92px); line-height:.94; letter-spacing:-.055em; }
.hero-logo { display:block; width:min(100%,560px); height:auto; margin:20px 0 0; object-fit:contain; }
.lede { max-width:690px; margin:30px 0 34px; font-size:clamp(17px,1.5vw,21px); line-height:1.62; color:#445047; }
.primary-button { display:inline-flex; gap:30px; align-items:center; background:var(--ink); color:var(--cream); padding:16px 20px; font-weight:800; }
.primary-button span { color:#e2b662; }
.intro-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.intro-contact { display:grid; grid-template-columns:auto auto auto; align-items:baseline; gap:4px 8px; font-size:13px; font-weight:800; }
.intro-contact a { border-bottom:1px solid rgba(24,33,27,.42); }
.intro-contact a:hover { color:var(--red); border-color:var(--red); }
.intro-contact small { grid-column:1/-1; color:#687069; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.farm-banner { position:relative; z-index:1; margin:0; overflow:hidden; background:#fff; border:7px solid #fffef8; box-shadow:7px 9px 0 rgba(24,33,27,.13); transform:rotate(1deg); aspect-ratio:1.52/1; }
.farm-banner::before { content:""; position:absolute; z-index:2; width:100px; height:25px; top:-13px; left:50%; transform:translateX(-50%) rotate(-2deg); background:rgba(211,183,120,.48); }
.farm-banner img { display:block; width:105.5%; height:100%; max-width:none; object-fit:cover; object-position:center; transform:translateX(-5.2%); }
.catalogue { padding:85px clamp(24px,5vw,78px) 110px; background:var(--cream); border-top:1px solid rgba(24,33,27,.18); }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:36px; }
.section-heading>div { display:flex; gap:22px; align-items:baseline; }
.section-heading p { margin:0; max-width:400px; color:#62695f; font-size:14px; text-align:right; }
.section-number { color:var(--red); font:italic 18px Georgia,serif; }
h2 { font-size:clamp(38px,4vw,58px); letter-spacing:-.035em; line-height:1; }
.tools { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:18px 0; border-top:2px solid var(--ink); border-bottom:1px solid rgba(24,33,27,.25); margin-bottom:36px; }
.brand-filter { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:0 0 22px; }
.brand-filter button { min-height:74px; padding:12px; border:1px solid rgba(24,33,27,.25); background:#fffef9; cursor:pointer; text-align:left; transition:transform .18s,background .18s,color .18s; }
.brand-filter button:hover { transform:translateY(-2px); }
.brand-filter button.selected { background:var(--ink); color:white; box-shadow:3px 4px 0 rgba(201,70,50,.45); }
.brand-filter span { display:block; font-weight:900; letter-spacing:.06em; }
.brand-filter small { display:block; margin-top:6px; font-size:10px; opacity:.6; text-transform:uppercase; letter-spacing:.12em; }
.category-tabs { display:flex; gap:8px; flex-wrap:wrap; }
.category-tabs button { border:0; background:transparent; padding:8px 12px; font-size:14px; font-weight:700; cursor:pointer; color:#646b64; }
.category-tabs button.active { background:var(--ink); color:#fff; }
.search-box { background:#fffef9; border:1px solid rgba(24,33,27,.35); padding:9px 12px; display:flex; gap:9px; align-items:center; }
.search-box input { border:0; outline:0; background:transparent; width:160px; }
.product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.product-card { background:#fffef9; border:1px solid rgba(24,33,27,.35); box-shadow:4px 5px 0 rgba(24,33,27,.1); transition:transform .2s,box-shadow .2s; }
.product-card { cursor:pointer; animation:card-in .35s ease both; }
.product-card:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.product-card:hover { transform:translateY(-4px) rotate(-.25deg); box-shadow:6px 9px 0 rgba(24,33,27,.12); }
.card-topline { display:flex; justify-content:space-between; padding:13px 16px; border-bottom:1px solid rgba(24,33,27,.25); color:#6b706b; font-size:11px; text-transform:uppercase; letter-spacing:.09em; font-weight:700; }
.product-plate { min-height:205px; padding:28px 24px; display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden; color:#fff; background:var(--blue); }
.product-plate::before { content:""; position:absolute; width:210px; height:210px; border:1px solid rgba(255,255,255,.18); border-radius:50%; top:-70px; right:-55px; }
.product-plate::after { content:""; position:absolute; width:110px; height:110px; border:1px solid rgba(255,255,255,.18); transform:rotate(45deg); top:30px; right:40px; }
.product-plate.has-image { background:#222; }
.product-plate.has-image::before { inset:0; width:auto; height:auto; border:0; border-radius:0; background:linear-gradient(180deg,rgba(14,21,17,.54) 0%,rgba(14,21,17,.08) 47%,rgba(14,21,17,.78) 100%); z-index:1; }
.product-plate.has-image::after { display:none; }
.product-plate.has-image>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.product-card.blue .product-plate.has-image>img { object-fit:contain; padding:34px 25px; background:#fff; }
.partner-logo-grid { position:absolute; inset:0; display:grid; grid-template-columns:repeat(3,1fr); align-items:center; gap:22px; padding:38px 24px 78px; background:#fff; }
.partner-logo-grid img { display:block; width:100%; max-height:70px; object-fit:contain; }
.product-card.blue .product-plate.has-image::before { background:linear-gradient(180deg,rgba(29,43,58,.07),rgba(29,43,58,.02) 55%,rgba(29,43,58,.82)); }
.product-plate.has-image>span,.product-plate.has-image>strong { position:relative; z-index:2; text-shadow:0 1px 8px rgba(0,0,0,.5); }
.product-plate.has-image .brand-label,.product-plate.has-image .media-label { position:absolute; }
.demo-ribbon { position:absolute!important; z-index:4!important; top:23px!important; right:-47px!important; width:190px; padding:9px 0; background:#f4d15d; color:#18211b; text-align:center; font-size:13px; font-weight:950; letter-spacing:.12em; text-shadow:none!important; transform:rotate(34deg); box-shadow:0 2px 7px rgba(0,0,0,.25); }
.red .product-plate { background:var(--red); }
.ochre .product-plate { background:var(--ochre); }
.brand-label { position:absolute; top:20px; left:24px; font-weight:800; letter-spacing:.17em; font-size:12px; }
.media-label { position:absolute; right:18px; top:18px; font-size:9px; letter-spacing:.1em; opacity:.65; }
.product-plate strong { z-index:1; font:500 clamp(38px,4vw,54px)/.9 Georgia,serif; letter-spacing:-.04em; }
.type-label { z-index:1; margin-top:12px; font-size:13px; font-weight:700; }
.product-body { padding:23px; }
.product-note { min-height:48px; font:italic 18px/1.35 Georgia,serif; margin:0 0 18px; }
.product-body ul { list-style:none; padding:0; margin:0; border-top:1px solid rgba(24,33,27,.18); }
.product-body li { padding:8px 0 8px 18px; font-size:13px; border-bottom:1px solid rgba(24,33,27,.13); position:relative; }
.product-body li::before { content:""; position:absolute; left:2px; top:50%; width:6px; height:6px; border-radius:50%; background:var(--red); transform:translateY(-50%); }
.availability { display:flex; gap:8px; align-items:center; margin:18px 0; font-size:12px; font-weight:800; }
.availability i { width:8px; height:8px; border-radius:50%; background:#57905e; box-shadow:0 0 0 3px rgba(87,144,94,.14); }
.price-row { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; }
.price-row small { display:block; margin-bottom:4px; font-size:10px; color:#737973; text-transform:uppercase; letter-spacing:.08em; }
.price-row strong { display:block; font-size:21px; }
.details-link { flex:none; padding:11px 12px; border:1px solid var(--ink); font-size:13px; font-weight:800; }
.product-card:hover .details-link { background:var(--ink); color:#fff; }
.product-sheet { width:min(92vw,650px)!important; max-width:650px!important; padding:0!important; gap:0!important; overflow-y:auto; background:var(--cream)!important; }
.sheet-heading { padding:34px 34px 24px!important; border-bottom:1px solid rgba(24,33,27,.2); }
.sheet-heading>span { color:var(--red); font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.sheet-heading h2 { font:500 54px/1 Georgia,serif; letter-spacing:-.04em; }
.sheet-heading p { color:#555f58; font-size:16px; }
.sheet-media { min-height:245px; padding:24px 34px; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; color:white; background:var(--blue); }
.sheet-media.red { background:var(--red); }.sheet-media.ochre { background:var(--ochre); }
.sheet-media.has-image { display:block; padding:0; background:#fff; }
.sheet-media.has-image img { display:block; width:100%; min-height:245px; object-fit:cover; }
.sheet-gallery { display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:5px; background:#e6e0d2; }
.sheet-gallery button { position:relative; display:block; padding:0; border:0; background:#111; color:white; cursor:zoom-in; overflow:hidden; }
.sheet-gallery button:first-child { grid-column:1/-1; }
.sheet-gallery img { display:block; width:100%; height:145px; object-fit:cover; transition:transform .2s,opacity .2s; }
.sheet-gallery img[src*="partners/"] { object-fit:contain; padding:28px; background:#fff; }
.sheet-gallery button:first-child img { height:280px; }
.sheet-gallery button:hover img,.sheet-gallery button:focus-visible img { transform:scale(1.025); opacity:.86; }
.sheet-gallery button>span { position:absolute; right:10px; bottom:10px; padding:6px 9px; background:rgba(20,27,22,.82); font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.sheet-media>span { font-size:12px; font-weight:800; letter-spacing:.1em; opacity:.75; text-transform:uppercase; }
.sheet-media button { border:1px solid rgba(255,255,255,.7); background:rgba(0,0,0,.12); color:white; padding:12px 15px; font-weight:800; cursor:pointer; }
.sheet-content { padding:30px 34px 44px; }
.sheet-intro { font:19px/1.55 Georgia,serif; margin-top:0; }
.sheet-content h3 { margin-top:28px; font-size:13px; text-transform:uppercase; letter-spacing:.12em; }
.sheet-content ul { padding:0; list-style:none; border-top:1px solid rgba(24,33,27,.2); }
.sheet-content li { padding:10px 0 10px 20px; border-bottom:1px solid rgba(24,33,27,.14); position:relative; }
.sheet-content li::before { content:""; position:absolute; left:3px; top:50%; width:7px; height:7px; border-radius:50%; background:var(--red); transform:translateY(-50%); }
.lightbox { position:fixed; inset:0; z-index:2147483647; display:grid; grid-template-columns:72px minmax(0,1fr) 72px; place-items:center; padding:30px; background:rgba(10,14,11,.94); backdrop-filter:blur(7px); pointer-events:auto!important; }
.lightbox figure { grid-column:2; margin:0; max-width:min(1400px,calc(100vw - 180px)); max-height:calc(100vh - 60px); display:flex; flex-direction:column; align-items:center; gap:12px; }
.lightbox figure img { display:block; max-width:100%; max-height:calc(100vh - 105px); width:auto; height:auto; object-fit:contain; box-shadow:0 14px 45px rgba(0,0,0,.48); }
.lightbox figcaption { color:#f5f0e5; font-size:12px; font-weight:800; letter-spacing:.05em; }
.lightbox-close,.lightbox-arrow { position:absolute; z-index:3; border:1px solid rgba(255,255,255,.55); background:rgba(24,33,27,.72); color:white; cursor:pointer; pointer-events:auto!important; }
.lightbox-close { top:20px; right:22px; z-index:2; width:46px; height:46px; border-radius:50%; font-size:30px; line-height:1; }
.lightbox-arrow { top:50%; width:52px; height:68px; transform:translateY(-50%); font:46px/1 Georgia,serif; }
.lightbox-arrow.previous { left:20px; }.lightbox-arrow.next { right:20px; }
.lightbox-close:hover,.lightbox-arrow:hover { background:var(--red); }
.sheet-price { margin:28px 0 18px; }.sheet-price small{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:#687069}.sheet-price strong{display:block;margin-top:5px;font-size:28px}
.sheet-cta { display:flex; justify-content:space-between; padding:16px 18px; background:var(--ink); color:white; font-weight:900; }
.static-sheet-overlay { position:fixed; inset:0; z-index:1000; visibility:hidden; opacity:0; pointer-events:none; background:rgba(10,14,11,.58); transition:opacity .32s ease,visibility 0s linear .48s; }
.static-sheet-overlay.open { visibility:visible; opacity:1; pointer-events:auto; transition:opacity .34s ease,visibility 0s; }
.static-sheet-panel { position:absolute; inset:0 0 0 auto; width:min(92vw,650px); overflow-y:auto; background:var(--cream); box-shadow:-12px 0 40px rgba(0,0,0,.25); transform:translateX(104%); opacity:.62; transition:transform .48s cubic-bezier(.16,1,.3,1),opacity .4s ease; will-change:transform,opacity; }
.static-sheet-overlay.open .static-sheet-panel { transform:translateX(0); opacity:1; }
.static-sheet-close { position:fixed; top:15px; right:18px; z-index:1002; width:42px; height:42px; border:1px solid rgba(29,43,58,.25); border-radius:50%; background:rgba(248,245,237,.94); color:var(--ink); font-size:27px; cursor:pointer; }
body.modal-open { overflow:hidden; }
@keyframes card-in { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
.empty-state { padding:60px; text-align:center; border:1px dashed rgba(24,33,27,.4); background:#fffef9; }
.about { padding:100px clamp(24px,7vw,110px); display:grid; grid-template-columns:1fr 1fr; gap:10vw; border-top:1px solid rgba(24,33,27,.2); }
.about>div:first-child { display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:start; }
.about-copy { font-size:20px; line-height:1.65; color:#465149; }
.about-copy p { margin-top:0; }
.about-copy a { display:inline-block; margin-top:16px; padding-bottom:6px; border-bottom:2px solid var(--red); color:var(--ink); font-weight:800; font-size:15px; }
footer { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr); align-items:start; gap:clamp(36px,7vw,110px); background:var(--ink); color:var(--cream); padding:42px clamp(24px,5vw,78px); font-size:13px; }
.footer-summary { display:grid; gap:13px; align-content:start; }
.footer-brand strong { letter-spacing:.1em; }
.footer-brand .logo-mark { filter:invert(1); }
footer p { color:#b9c0ba; margin:0; }
footer a { text-decoration:underline; text-underline-offset:4px; }
.company-details { padding-left:clamp(0px,4vw,55px); border-left:1px solid rgba(248,245,237,.2); color:#b9c0ba; line-height:1.65; }
.company-details>strong { display:block; margin-bottom:8px; color:var(--cream); font-size:11px; letter-spacing:.13em; text-transform:uppercase; }
.company-details address { margin:0 0 7px; color:var(--cream); font-style:normal; }
.company-details>div { display:flex; flex-wrap:wrap; gap:2px 20px; }
.company-details span { white-space:nowrap; }
.contact-layout { min-height:calc(100vh - 92px); display:grid; grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr); gap:clamp(50px,8vw,120px); align-items:center; padding:80px clamp(24px,7vw,110px) 95px; position:relative; overflow:hidden; }
.contact-layout::before { content:""; position:absolute; inset:0; background:url('/field-waves.svg') center / 100% 360px repeat-y; opacity:.56; pointer-events:none; mask-image:linear-gradient(to right,#000,transparent 62%); }
.contact-intro { position:relative; z-index:1; }
.contact-intro h1 { margin-bottom:28px; }
.contact-intro>p:not(.eyebrow) { max-width:560px; color:#4f5a52; font-size:19px; line-height:1.65; }
.contact-email-card { margin-top:44px; padding:22px 24px; background:var(--ink); color:white; box-shadow:5px 6px 0 rgba(201,70,50,.5); }
.contact-email-card small,.contact-email-card span { display:block; }
.contact-email-card small { color:#e2b662; font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.contact-email-card a { display:inline-block; margin:7px 0; font:500 clamp(22px,3vw,34px) Georgia,serif; }
.contact-email-card span { color:#bbc2bc; font-size:12px; }
.contact-notebook { position:relative; z-index:1; background:#fffef9; border:1px solid rgba(24,33,27,.3); box-shadow:7px 8px 0 rgba(24,33,27,.12); padding:45px clamp(24px,4vw,48px) 36px; }
.contact-notebook::before { content:""; position:absolute; left:34px; top:0; bottom:0; border-left:1px solid rgba(201,70,50,.25); pointer-events:none; }
.form-heading { display:flex; gap:16px; align-items:baseline; margin-bottom:32px; }
.contact-notebook form { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.contact-notebook label { display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:900; letter-spacing:.025em; }
.contact-notebook label small { font-weight:400; color:#747b75; }
.contact-notebook label:nth-of-type(3),.contact-notebook label:nth-of-type(4) { grid-column:1/-1; }
.contact-notebook input,.contact-notebook select,.contact-notebook textarea { width:100%; border:1px solid rgba(24,33,27,.3); border-radius:0; background:#fff; color:var(--ink); padding:13px 14px; outline:none; font-size:16px; font-weight:400; }
.contact-notebook input:focus,.contact-notebook select:focus,.contact-notebook textarea:focus { border-color:var(--red); box-shadow:0 0 0 2px rgba(201,70,50,.15); }
.contact-notebook textarea { resize:vertical; line-height:1.5; }
.contact-notebook button { grid-column:1/-1; display:flex; justify-content:space-between; border:0; background:var(--red); color:white; padding:16px 18px; font-weight:900; cursor:pointer; }
.contact-notebook button:hover { background:#a93828; }
.form-note { grid-column:1/-1; margin:0; color:#737a73; font-size:12px; line-height:1.45; }
@media (max-width:900px) { nav>a:not(.header-cta):not(.shop-cta){display:none}.site-header nav{gap:10px}.shop-cta{padding:11px 13px}.intro{padding-top:70px;background-position:62% center}.intro::before{background:linear-gradient(90deg,rgba(236,232,223,.98),rgba(236,232,223,.89) 70%,rgba(236,232,223,.48))}.intro-copy{width:min(82%,720px)}.product-grid{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr;gap:55px} }
@media (max-width:900px) { .contact-layout{grid-template-columns:1fr;padding-top:65px}.contact-layout::before{inset:0}.contact-intro{max-width:620px}.contact-notebook{max-width:680px;width:100%} }
@media (max-width:760px) { footer{grid-template-columns:1fr;gap:28px}.company-details{padding:25px 0 0;border-left:0;border-top:1px solid rgba(248,245,237,.2)} }
@media (max-width:620px) { .site-header{height:78px}.brand small{display:none}.header-cta{padding:10px 11px;font-size:12px}.intro{min-height:620px;padding-top:58px;background-position:68% center}.intro::before{background:rgba(236,232,223,.84)}.intro-copy{width:100%}h1{font-size:49px}.hero-logo{width:min(100%,390px)}.intro-actions{align-items:flex-start;flex-direction:column;gap:17px}.intro-contact{grid-template-columns:auto;gap:5px}.intro-contact>span{display:none}.intro-contact small{grid-column:1}.section-heading{align-items:flex-start;flex-direction:column}.section-heading p{text-align:left}.brand-filter{grid-template-columns:1fr 1fr}.brand-filter button{min-height:58px}.tools{align-items:stretch;flex-direction:column}.search-box input{width:100%}.product-grid{grid-template-columns:1fr}.product-plate strong{font-size:50px}.sheet-heading{padding:28px 24px 20px!important}.sheet-heading h2{font-size:42px}.sheet-content{padding:25px 24px 38px}.sheet-media{padding:22px 24px}.lightbox{grid-template-columns:44px minmax(0,1fr) 44px;padding:16px 4px}.lightbox figure{max-width:calc(100vw - 88px);max-height:calc(100vh - 32px)}.lightbox figure img{max-height:calc(100vh - 90px)}.lightbox-arrow{width:38px;height:58px;font-size:38px}.lightbox-arrow.previous{left:3px}.lightbox-arrow.next{right:3px}.lightbox-close{top:10px;right:10px;width:42px;height:42px}.contact-layout{padding-top:48px}.contact-notebook form{grid-template-columns:1fr}.contact-notebook label{grid-column:1/-1}.contact-email-card a{font-size:22px}footer{grid-template-columns:1fr;gap:28px}.company-details{padding:25px 0 0;border-left:0;border-top:1px solid rgba(248,245,237,.2)}.company-details>div{display:grid;gap:2px} }
@media (max-width:620px) { .site-header{padding-inline:14px}.site-header .logo-mark{width:60px}.site-header .header-cta{display:none}.shop-cta{padding:10px 11px;font-size:12px} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*,*::before,*::after{transition:none!important} }
