/* Public presentation only. Editorial adaptation of elayadesign/landing-page-design.
   Retain existing system fonts, brand colours and CMS content; never hide content for motion. */
.public-site { --cream:#f7f5ef; --line:#deded5; background:var(--cream); font-family:ui-sans-serif,system-ui,sans-serif; line-height:1.5; }
.public-site p { text-wrap:pretty; }
.public-site h1,.public-site h2,.public-site h3 { font-weight:500; letter-spacing:-.045em; }
.public-site .site-width { max-width:1280px; width:calc(100% - 96px); }
.public-site .public-header { margin:24px auto 0; width:calc(100% - 64px); max-width:1376px; border:1px solid var(--line); border-radius:32px; background:#fff; }
.public-site .header-top { width:calc(100% - 48px); min-height:96px; gap:24px; }
.public-site .brand img { width:80px; height:80px; object-fit:contain; }
.public-site .desktop-nav { gap:24px; }
.public-site .desktop-nav a { font-size:14px; }
.public-site .header-actions { gap:16px; }
.public-site .header-enquiry { font-size:14px; border:1px solid var(--line); padding:12px 16px; border-radius:999px; }
.public-site .language-switch { width:48px; height:48px; font-size:14px; }
.public-site .home-hero { min-height:640px; padding-block:64px 80px; gap:64px; grid-template-columns:1.05fr 1fr; }
.public-site .hero-copy h1 { max-width:680px; font-size:72px; line-height:1; letter-spacing:-.06em; color:var(--navy); }
.public-site .eyebrow { font-size:12px; line-height:16px; letter-spacing:.16em; margin-bottom:24px; font-weight:600; }
.public-site .hero-intro { font-size:18px; line-height:28px; max-width:480px; margin-top:32px; color:var(--muted); }
.public-site .hero-actions { margin-top:32px; gap:24px; flex-wrap:wrap; }
.public-site .button { border-radius:999px; font-size:16px; line-height:24px; padding:12px 24px; min-height:48px; font-weight:600; transition:transform .3s cubic-bezier(.32,.72,0,1),background .3s cubic-bezier(.32,.72,0,1); }
.public-site .button:hover { transform:translateY(-2px); }
.public-site .button:active { transform:scale(.98); }
.public-site .text-link { font-size:14px; min-height:48px; align-content:center; }
.public-site .brand-table { position:relative; min-height:480px; padding:32px; background:#e8ecdf; border:1px solid #d9dfce; border-radius:32px; display:flex; flex-direction:column; align-items:center; justify-content:space-between; overflow:hidden; gap:24px; }
.public-site .brand-table-label,.public-site .brand-table-caption { font-size:12px; line-height:16px; letter-spacing:.12em; text-transform:uppercase; z-index:1; text-align:center; }
.public-site .brand-table-plate { width:320px; max-width:100%; aspect-ratio:1; border-radius:50%; background:#fff; border:1px solid #d5dbce; display:grid; place-items:center; box-shadow:0 16px 32px #06284f0a,inset 0 0 0 16px #f8f9f5,inset 0 0 0 17px #e4e8dc; }
.public-site .brand-table-plate img { width:64%; height:auto; object-fit:contain; }
.public-site .hero-photo { border-radius:32px; overflow:hidden; }
.public-site .brand-story { padding-block:80px; background:var(--navy); color:#fff; }
.public-site .story-grid { grid-template-columns:1fr 2fr; gap:64px; }
.public-site .brand-story h2 { font-size:48px; line-height:1; max-width:680px; }
.public-site .brand-story p:not(.eyebrow) { color:#d7e1eb; font-size:18px; line-height:28px; max-width:680px; margin-top:24px; }
.public-site .brand-story .text-link { margin-top:24px; }
.public-site .range-section,.public-site .ways-section { padding-block:80px; }
.public-site .product-card,.public-site .recipe-card { border-radius:24px; }
.public-site .buy-section { padding-block:80px; gap:48px; }
.public-site .buy-section h2,.public-site .business-cta h2 { font-size:48px; line-height:1; }
.public-site .buy-section p:not(.eyebrow) { font-size:18px; line-height:28px; max-width:680px; margin-top:24px; }
.public-site .business-cta { background:#e8ecdf; color:var(--navy); padding-block:64px; }
.public-site .business-cta p:not(.eyebrow) { color:#405344; font-size:16px; line-height:24px; }
.public-site .business-cta .button { background:var(--navy); color:#fff; }
.public-site .public-footer { background:#fff; padding-top:64px; }
.public-site .footer-grid { gap:64px; padding-bottom:48px; }
.public-site .footer-bottom { padding-block:24px; font-size:12px; }
.public-site .page-heading { padding-block:64px 48px; }
.public-site .empty-state,.public-site .enquiry-aside,.public-site .prose-aside { background:#fff; border:1px solid var(--line); border-radius:24px; }
.public-site .form-field input,.public-site .form-field select,.public-site .form-field textarea { border-radius:8px; }
.public-site .holding-page { min-height:640px; }
@media(max-width:1100px) {
 .public-site .site-width { width:calc(100% - 64px); }
 .public-site .home-hero { gap:32px; min-height:560px; }
 .public-site .hero-copy h1 { font-size:60px; }
 .public-site .brand-table { min-height:400px; padding:24px; }
 .public-site .brand-table-plate { width:256px; }
 .public-site .desktop-nav { gap:16px; }
 .public-site .desktop-nav a { font-size:12px; }
}
@media(max-width:800px) {
 .public-site .hero-copy h1 { font-size:48px; }
 .public-site .hero-intro { font-size:16px; line-height:24px; }
 .public-site .story-grid { gap:32px; grid-template-columns:1fr 2fr; }
 .public-site .brand-story h2,.public-site .buy-section h2,.public-site .business-cta h2 { font-size:36px; line-height:40px; }
}
@media(max-width:650px) {
 .public-site .site-width { width:calc(100% - 48px); }
 .public-site .public-header { width:calc(100% - 32px); margin-top:16px; border-radius:24px; }
 .public-site .header-top { width:calc(100% - 32px); min-height:80px; }
 .public-site .brand img { width:64px; height:64px; }
 .public-site .mobile-nav { width:calc(100% - 32px); }
 .public-site .mobile-nav summary { min-height:48px; font-size:14px; }
 .public-site .mobile-nav nav a { font-size:16px; min-height:48px; }
 .public-site .home-hero { grid-template-columns:1fr; padding-block:48px; gap:40px; }
 .public-site .hero-copy h1 { font-size:48px; line-height:1; }
 .public-site .hero-intro { margin-top:24px; }
 .public-site .hero-actions { gap:16px; margin-top:24px; }
 .public-site .brand-table { min-height:360px; }
 .public-site .brand-table-plate { width:240px; }
 .public-site .brand-story,.public-site .buy-section,.public-site .range-section,.public-site .ways-section,.public-site .business-cta { padding-block:48px; }
 .public-site .story-grid { grid-template-columns:1fr; gap:16px; }
 .public-site .brand-story p:not(.eyebrow),.public-site .buy-section p:not(.eyebrow) { font-size:16px; line-height:24px; }
 .public-site .footer-grid { gap:32px; padding-bottom:32px; }
 .public-site .public-footer { padding-top:48px; }
 .public-site .page-heading { padding-block:48px 32px; }
}
@media(prefers-reduced-motion:reduce) { .public-site .button { transition:none; transform:none; } }
@media print { .public-site { background:#fff; } }
