/* Edufund-inspired, responsive layout and typography adapted to Be Free. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root{--serif:'Plus Jakarta Sans',Inter,sans-serif;--sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif}
body{font-family:var(--sans)}
.announcement{display:none}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:88px;padding:0 clamp(22px,4.2vw,66px);background:transparent;color:#fff;border:0;transition:background .2s,box-shadow .2s,color .2s;backdrop-filter:none}
.site-header .brand img{height:72px;width:auto;max-width:136px;object-fit:contain;transition:opacity .2s}
.main-nav{gap:clamp(16px,2.35vw,34px);font-size:14px;font-weight:600;letter-spacing:0}
.main-nav>a:not(.nav-cta){height:88px;display:inline-flex;align-items:center;position:relative;color:#fff}
.main-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:22px;height:2px;background:#d8bd6f;transform:scaleX(0);transform-origin:left;transition:transform .2s}
.main-nav>a:not(.nav-cta):hover:after,.main-nav>a.active:not(.nav-cta):after{transform:scaleX(1)}
.nav-cta{padding:14px 22px;border:0;border-radius:8px;background:#1d5db6;color:#fff;box-shadow:0 7px 20px #113d7930;font-size:14px;font-weight:700}
.nav-cta:hover{background:#174f9d;color:#fff}
.site-header.scrolled{background:#fff;color:#1c2430;box-shadow:0 3px 18px #101b2712}
.site-header.scrolled .main-nav>a:not(.nav-cta){color:#242b36}
.site-header.scrolled .menu-toggle{color:#253a2a}
.hero{min-height:660px;display:flex;align-items:center;position:relative;padding:130px clamp(22px,8vw,112px) 70px;overflow:hidden;background-color:#17251c;background-image:linear-gradient(90deg,rgba(11,17,13,.88) 0%,rgba(11,17,13,.69) 43%,rgba(11,17,13,.18) 100%),url('/assets/products/be-free-olive-oil.jpeg');background-repeat:no-repeat;background-size:cover,auto 100%;background-position:center,right center}
.hero-copy{position:relative;z-index:2;width:min(100%,650px);padding:10px 0 0;align-self:center}
.hero .eyebrow{color:#e1ca8a;font-size:13px;letter-spacing:.1em}
.hero h1{max-width:630px;color:#fff;font:800 clamp(46px,5vw,68px)/1.12 var(--serif);letter-spacing:-.045em}
.hero-text{max-width:540px;margin:23px 0 30px;color:#f0f1ed;font-size:17px;line-height:1.75}
.hero-actions{gap:15px;flex-wrap:wrap}
.hero .button{min-height:54px;padding:0 25px;border-radius:8px;font-size:14px;letter-spacing:0}
.hero .button-dark{background:#c82026;color:#fff;box-shadow:0 9px 22px #10294955}
.hero .button-dark:hover{background:#a51b22}
.hero .text-link{min-height:54px;display:inline-flex;align-items:center;padding:0 24px;border:1px solid #fff;border-radius:8px;color:#fff;font-size:14px;letter-spacing:0}
.hero-note{width:max-content;max-width:100%;margin-top:48px;padding:11px 18px;border:1px solid #ffffff48;border-radius:40px;background:#ffffff20;color:#fff;font-size:13px;letter-spacing:0;text-transform:none}
.hero-note .olive-dot{background:#dfc778}
.hero-visual{display:none}
.stats-strip{position:relative;z-index:3;width:min(90%,1160px);min-height:165px;margin:-38px auto 0;padding:25px 10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;border:1px solid #edf0f3;border-radius:20px;background:#fff;box-shadow:0 18px 45px #1a315015}
.stats-strip>div{min-height:108px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}
.stats-strip>div+div{border-left:1px solid #e9edf1}
.stats-strip strong{color:#1d4f91;font:800 clamp(26px,3vw,38px)/1.1 var(--serif);letter-spacing:-.035em}
.stats-strip>div:last-child strong{font-size:clamp(16px,2.5vw,30px);max-width:100%}
.stats-strip span{color:#66707c;font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.section-pad{padding:clamp(74px,8vw,110px) clamp(22px,6vw,90px)}
.about{background:#f6f8fb}
.about-mark{min-height:360px;border-radius:18px;background:linear-gradient(145deg,#14281d,#36523a);box-shadow:0 15px 34px #182e2022}
.about-copy h2,.section-heading h2,.contact h2{font:700 clamp(34px,4vw,48px)/1.15 var(--serif);letter-spacing:-.035em;color:#202a38}
.about-copy>p:not(.eyebrow),.contact-copy>p:not(.eyebrow){font-size:15px;line-height:1.85;color:#68727d}
.products{background:#fff}
.section-heading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;margin:0 auto 42px}
.section-heading .eyebrow{width:max-content;margin:0;padding:9px 17px;border-radius:40px;background:#edf2f8;color:#315b8f;font-size:11px;letter-spacing:.12em}
.section-heading h2{margin:0}
.section-heading>p{max-width:650px;color:#6d7782;font-size:15px;line-height:1.75}
.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.product-card{overflow:hidden;border:1px solid #edf0f2;border-radius:20px;background:#fff;box-shadow:0 12px 36px #17273910}
.product-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #17273918}
.product-visual{height:300px;position:relative;background:linear-gradient(135deg,#e7edf2,#f7f9fb 46%,#e4e9df)}
.product-visual:before,.product-visual:after{display:none}
.product-art{position:absolute!important;left:50%;bottom:-7px;width:auto;height:94%;max-width:75%;transform:translateX(-50%);object-fit:contain;filter:drop-shadow(0 11px 12px #172b1e30)}
.product-index{top:18px;right:18px;width:auto;height:auto;padding:8px 12px;border-radius:9px;background:#ffffffec;font:700 13px var(--serif);color:#27364a}
.visual-brand{position:absolute;z-index:2;left:19px;top:19px;margin:0;padding:8px 12px;border-radius:40px;background:#ffffffeb;color:#315b8f;font-size:10px;letter-spacing:.12em}
.product-visual strong{position:absolute;z-index:2;right:18px;bottom:17px;padding:9px 13px;border-radius:8px;background:#fff;color:#24384d;font:700 14px var(--serif);letter-spacing:0;box-shadow:0 3px 9px #17273912}
.visual-label{display:none}
.product-info{padding:23px 25px 21px}
.product-info h3{color:#232d3a;font:700 19px/1.35 var(--serif)}
.product-info>p{min-height:0;color:#6c7580;font-size:13px;line-height:1.7}
.size-pill{padding:5px 9px;border-radius:20px;background:#edf2f8;color:#315b8f;font-size:11px}
.product-buy{border-top:1px solid #e9edf0;padding-top:16px}
.product-buy strong{color:#26384d;font-size:13px}
.product-buy a{padding:8px 12px;border:0;border-radius:7px;background:#1d5db6;color:#fff;font-size:12px}
.product-buy a:hover{background:#174f9d}
.home-featured .product-card:nth-child(5){grid-column:1/-1;width:calc(50% - 14px);justify-self:center}
.products-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.products-more{margin-top:35px}
.products-more .button-dark{border-radius:8px;background:#1d5db6;color:white}
.order-band{padding:65px clamp(24px,8vw,112px);background:#183a66;color:#fff}
.order-band .eyebrow{color:#e3cf8e}
.order-band h2{font:700 clamp(32px,4vw,46px)/1.15 var(--serif)}
.order-band p:not(.eyebrow){color:#e4ebf3;font-size:14px}
.button-light{border-radius:8px;background:#fff;color:#1d4f91;font-size:13px}
.contact{background:#f6f8fb}
.contact-icon{border:0;background:#e9f0f8;color:#1d5db6}
.contact-link{border-color:#e4e9ef}
.contact-link strong{color:#23354a}
.site-footer{background:#13241a;color:#e4e9e4}
.site-footer a:last-child{color:#e6d294}
.catalog-hero{min-height:350px;padding:145px clamp(22px,8vw,112px) 60px;background:linear-gradient(90deg,rgba(12,20,15,.86),rgba(16,32,22,.65)),url('/assets/products/be-free-olive-oil.jpeg') center 43%/cover no-repeat;color:#fff}
.catalog-hero .eyebrow{color:#e3cf8e}
.catalog-hero h1{font:800 clamp(42px,5vw,62px)/1.12 var(--serif);letter-spacing:-.045em}
.catalog-hero p:not(.eyebrow){max-width:650px;font-size:16px;color:#edf1eb;line-height:1.75}
.catalog-hero-note{width:140px;height:140px;border-color:#e5d293;background:#ffffff12}
.catalog-hero-note strong{font:800 32px/1 var(--serif)}
.catalog-hero-note span{color:#f0e8cc;text-align:center}
.catalog-list{background:#fff}
.catalog-list .product-visual{height:290px}
.products-page .product-info{min-height:190px}
.content-page .about-page-body{padding-top:84px;padding-bottom:95px}
.content-page .contact-page-body{padding-top:80px;padding-bottom:100px}
.content-page .contact{grid-template-columns:1fr 1fr;gap:clamp(30px,7vw,95px)}
@media(max-width:1000px){.main-nav{gap:13px;font-size:12px}.site-header .brand img{height:66px;max-width:130px;width:auto}.nav-cta{padding:12px 15px;font-size:12px}.products-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid{gap:20px}}
@media(max-width:700px){.site-header{height:74px;padding:0 20px;background:transparent;backdrop-filter:none}.site-header .brand img{height:62px;max-width:122px;width:auto}.site-header.scrolled{background:#fff}.menu-toggle{display:block;color:#fff}.main-nav{display:none;position:absolute;z-index:110;top:74px;left:0;right:0;padding:8px 20px 20px;background:#15241b;box-shadow:0 14px 25px #101a1680;flex-direction:column;align-items:stretch;gap:0}.site-header.scrolled .main-nav{background:#fff}.main-nav.open{display:flex}.main-nav>a:not(.nav-cta){height:auto;min-height:48px;padding:12px 4px;border-bottom:1px solid #ffffff24;color:#fff}.site-header.scrolled .main-nav>a:not(.nav-cta){color:#242b36;border-bottom-color:#e8ebee}.main-nav>a:not(.nav-cta):after{bottom:4px;right:auto;width:28px}.main-nav .nav-cta{margin-top:12px;text-align:center}.hero{min-height:660px;padding:120px 23px 55px;background-size:cover,auto 100%;background-position:center,right center}.hero h1{font-size:clamp(42px,10vw,58px)}.hero-text{font-size:15px}.hero-note{margin-top:35px;font-size:11px}.stats-strip{width:calc(100% - 32px);min-height:120px;margin-top:-28px;padding:12px 4px;border-radius:15px}.stats-strip>div{min-height:90px;gap:6px}.stats-strip strong{font-size:clamp(18px,5vw,28px)}.stats-strip>div:last-child strong{font-size:clamp(13px,4vw,20px)}.stats-strip span{font-size:8px;letter-spacing:.04em}.section-pad{padding:72px 20px}.about{grid-template-columns:1fr;gap:30px}.about-mark{min-height:280px}.section-heading{margin-bottom:28px}.section-heading h2{font-size:35px}.product-grid,.products-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.product-visual,.catalog-list .product-visual{height:205px}.product-art{height:87%;max-width:80%}.product-index{top:10px;right:10px;padding:6px 8px;font-size:10px}.visual-brand{left:10px;top:10px;padding:6px 8px;font-size:8px}.product-visual strong{right:10px;bottom:10px;padding:6px 8px;font-size:11px}.product-info{padding:16px 13px}.product-info h3,.products-page .product-title-row h3{font-size:14px}.product-info>p{font-size:11px;line-height:1.55}.product-buy{gap:5px;align-items:flex-start;flex-direction:column}.product-buy strong{font-size:11px}.product-buy a{font-size:10px}.home-featured .product-card:nth-child(5){width:auto;grid-column:auto}.order-band{padding:48px 23px}.order-band h2{font-size:34px}.content-page .catalog-hero{min-height:330px;padding:125px 23px 45px;gap:18px}.catalog-hero h1{font-size:43px}.catalog-hero p:not(.eyebrow){font-size:14px}.catalog-hero-note{width:90px;height:90px;flex-shrink:0}.catalog-hero-note strong{font-size:21px}.catalog-hero-note span{font-size:6px}.content-page .about-page-body,.content-page .contact-page-body{padding:66px 20px}.content-page .contact{grid-template-columns:1fr;gap:28px}.site-footer{padding:24px 20px;flex-wrap:wrap}.site-footer img{width:112px}.site-footer span{order:3;width:100%}}
@media(max-width:390px){.main-nav{font-size:13px}.hero{min-height:620px}.stats-strip span{font-size:7px}.product-grid,.products-page .product-grid{grid-template-columns:1fr}.product-visual,.catalog-list .product-visual{height:275px}.product-buy{flex-direction:row;align-items:center}.catalog-hero-note{display:none}}

.about-mark{min-height:0;aspect-ratio:4/3;display:block;padding:0;overflow:hidden}
.about-mark:before,.about-mark:after{display:none}
.about-mark-art{width:100%;height:100%;object-fit:cover;border-radius:inherit}

main{transition:opacity .24s ease,transform .24s cubic-bezier(.22,.61,.36,1)}
main.page-transition-leave,main.page-transition-enter{opacity:0;transform:translateY(10px);pointer-events:none}
@media(prefers-reduced-motion:reduce){main{transition:none}}
