:root {
  --fa-paper: #f8f4ec;
  --fa-ivory: #eee7d9;
  --fa-ink: #252820;
  --fa-olive: #263326;
  --fa-olive-2: #344433;
  --fa-wine: #763044;
  --fa-gold: #c2a15c;
  --fa-muted: #6f7067;
  --fa-line: rgba(38,51,38,.18);
  --fa-serif: Georgia, "Times New Roman", serif;
  --fa-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--fa-paper); color: var(--fa-ink); font-family: var(--fa-sans); }
body.fa-menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.screen-reader-text, .fa-skip-link { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.fa-skip-link:focus { z-index: 99999; top: 8px; left: 8px; width: auto; height: auto; padding: 12px 16px; clip: auto; background: #fff; }
.fa-shell { width: min(calc(100% - 56px), 1280px); margin-inline: auto; }
.fa-eyebrow { margin: 0 0 18px; color: var(--fa-wine); font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.fa-eyebrow.fa-light { color: #e2c993; }
.fa-section-heading { max-width: 900px; margin-bottom: 46px; }
.fa-section-heading h2 { margin: 0; font: clamp(45px,5.8vw,78px)/.98 var(--fa-serif); letter-spacing: -.045em; }
.fa-section-heading--light h2 { color: #fff; }
.fa-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.fa-button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; padding: 14px 23px; border: 1px solid transparent; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-align: center; text-transform: uppercase; transition: transform .2s, background .2s, color .2s; }
.fa-button:hover { transform: translateY(-2px); }
.fa-button-dark, .fa-button-primary { background: var(--fa-olive); color: #fff; }
.fa-button-light { background: #fff7e9; border-color: #fff7e9; color: var(--fa-olive); }
.fa-button-gold { background: var(--fa-gold); border-color: var(--fa-gold); color: #172117; }
.fa-text-link { display: inline-flex; padding-bottom: 5px; border-bottom: 1px solid currentColor; color: var(--fa-wine); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.fa-announcement { min-height: 30px; display: flex; justify-content: space-between; align-items: center; padding: 0 28px; background: var(--fa-olive); color: rgba(255,255,255,.82); font-size: 8px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.fa-header { position: sticky; z-index: 1000; top: 0; min-height: 102px; display: grid; grid-template-columns: 180px 1fr 180px; align-items: center; padding: 0 28px; border-bottom: 1px solid var(--fa-line); background: rgba(248,244,236,.96); backdrop-filter: blur(12px); }
.admin-bar .fa-header { top: 32px; }
.fa-brand { justify-self: start; }
.fa-logo-image { width: 82px; height: 82px; object-fit: contain; }
.fa-desktop-nav { justify-self: center; }
.fa-desktop-nav ul { display: flex; align-items: center; gap: clamp(24px,3vw,48px); margin: 0; padding: 0; list-style: none; }
.fa-desktop-nav a { position: relative; padding-block: 13px; font: 15px/1 var(--fa-serif); }
.fa-desktop-nav a::after { content: ""; position: absolute; right: 0; bottom: 5px; left: 0; height: 1px; background: var(--fa-wine); transform: scaleX(0); transform-origin: right; transition: transform .25s; }
.fa-desktop-nav a:hover::after, .fa-desktop-nav .current-menu-item a::after { transform: scaleX(1); transform-origin: left; }
.fa-header-actions { justify-self: end; display: flex; align-items: center; gap: 20px; }
.fa-cart { display: inline-flex; align-items: center; gap: 8px; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.fa-cart-count { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--fa-wine); color: #fff; }
.fa-menu-toggle { width: 43px; height: 43px; display: none; place-content: center; gap: 7px; border: 0; background: transparent; cursor: pointer; }
.fa-menu-toggle > span:not(.screen-reader-text) { width: 28px; height: 1px; display: block; background: var(--fa-ink); }
.fa-mobile-menu { position: fixed; z-index: 999; inset: 132px 0 0; padding: 30px; background: var(--fa-paper); }
.admin-bar .fa-mobile-menu { top: 164px; }
.fa-mobile-menu ul { margin: 0; padding: 0; list-style: none; }
.fa-mobile-menu li { border-bottom: 1px solid var(--fa-line); }
.fa-mobile-menu a { min-height: 68px; display: flex; align-items: center; font: 30px/1 var(--fa-serif); }

.fa-banner-wrap { padding-block: 68px; }
.fa-home-first { padding-top: 48px; }
.fa-integrated-banner { position: relative; min-height: 560px; aspect-ratio: 16/9; display: grid; grid-template-columns: 46% 54%; overflow: hidden; background: var(--fa-olive); color: #fff; isolation: isolate; }
.fa-integrated-banner::after { content: ""; pointer-events: none; position: absolute; z-index: 3; inset: 18px; border: 1px solid rgba(194,161,92,.65); }
.fa-banner-media { position: relative; z-index: 1; min-width: 0; overflow: hidden; }
.fa-banner-media::after { content: ""; position: absolute; inset: 0 -2px 0 28%; background: linear-gradient(90deg,transparent 0%,rgba(38,51,38,.22) 46%,var(--fa-olive) 100%); }
.fa-banner-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.fa-integrated-banner--hero .fa-banner-media img { object-position: center 66%; }
.fa-integrated-banner--event-page .fa-banner-media img { object-position: center 54%; }
.fa-banner-copy { position: relative; z-index: 2; min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 64px clamp(46px,5vw,82px) 64px clamp(20px,3vw,46px); }
.fa-banner-copy h1, .fa-banner-copy h2 { max-width: 680px; margin: 0; color: #fff; font: clamp(45px,5vw,76px)/.98 var(--fa-serif); letter-spacing: -.045em; text-wrap: balance; }
.fa-banner-copy h2 { font-size: clamp(40px,4.25vw,65px); }
.fa-banner-copy > p:not(.fa-eyebrow) { max-width: 610px; margin: 25px 0 0; color: rgba(255,255,255,.76); font: clamp(16px,1.45vw,20px)/1.65 var(--fa-serif); }
.fa-integrated-banner--events, .fa-integrated-banner--event-page { background: #243126; }
.fa-integrated-banner--events .fa-banner-media::after, .fa-integrated-banner--event-page .fa-banner-media::after { background: linear-gradient(90deg,transparent 0%,rgba(36,49,38,.18) 45%,#243126 100%); }
.fa-integrated-banner--event-page .fa-banner-copy h1 { font-size: clamp(42px,4.5vw,68px); }

.fa-lines { padding-block: 54px 120px; }
.fa-line-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--fa-line); }
.fa-line-card { min-width: 0; display: flex; flex-direction: column; border-right: 1px solid var(--fa-line); background: rgba(255,255,255,.24); transition: background .25s, transform .25s; }
.fa-line-card:last-child { border-right: 0; }
.fa-line-card:hover { z-index: 1; background: #fff; transform: translateY(-5px); box-shadow: 0 22px 55px rgba(42,44,36,.12); }
.fa-line-image { aspect-ratio: 4/3; overflow: hidden; background: var(--fa-ivory); }
.fa-line-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s; }
.fa-line-card:hover img { transform: scale(1.025); }
.fa-line-copy { flex: 1; display: flex; flex-direction: column; padding: 30px; }
.fa-line-copy small { min-height: 34px; color: var(--fa-wine); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.fa-line-copy strong { margin: 17px 0 15px; font: 35px/1 var(--fa-serif); }
.fa-line-copy > span { color: var(--fa-muted); font: 15px/1.65 var(--fa-serif); }
.fa-line-copy em { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--fa-line); color: var(--fa-olive); font-size: 11px; font-style: normal; font-weight: 700; line-height: 1.5; }
.fa-line-copy b { margin-top: auto; padding-top: 26px; color: var(--fa-wine); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.fa-shop-all { display: flex; justify-content: center; margin-top: 38px; }

.fa-home-events { padding-top: 30px; padding-bottom: 110px; }
.fa-about-teaser { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(50px,8vw,120px); align-items: center; padding-block: 110px 130px; border-top: 1px solid var(--fa-line); }
.fa-about-photo { aspect-ratio: 4/5; overflow: hidden; background: var(--fa-ivory); }
.fa-about-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
.fa-about-copy h2 { max-width: 700px; margin: 0; font: clamp(48px,6vw,82px)/.98 var(--fa-serif); letter-spacing: -.045em; }
.fa-about-copy > p:not(.fa-eyebrow,.fa-signature) { max-width: 620px; color: var(--fa-muted); font: 18px/1.7 var(--fa-serif); }
.fa-signature { margin: 27px 0; font: 23px/1.2 var(--fa-serif); }
.fa-signature span { color: var(--fa-wine); font: 9px/1 var(--fa-sans); font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.fa-social-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; margin-bottom: 120px; padding: 70px; border: 1px solid var(--fa-line); background: #fffaf1; }
.fa-social-contact h2 { margin: 0; font: clamp(43px,4.8vw,66px)/1 var(--fa-serif); }
.fa-social-contact p:last-child { color: var(--fa-muted); }
.fa-social-actions { display: grid; }
.fa-social-actions > a, .fa-contact-actions > a { min-height: 94px; display: grid; grid-template-columns: 46px 1fr auto; gap: 18px; align-items: center; border-bottom: 1px solid var(--fa-line); }
.fa-social-actions > a:first-child, .fa-contact-actions > a:first-child { border-top: 1px solid var(--fa-line); }
.fa-social-actions svg, .fa-contact-actions svg, .fa-social-link svg { width: 30px; height: 30px; color: var(--fa-wine); }
.fa-social-actions small, .fa-social-actions strong, .fa-contact-actions small, .fa-contact-actions strong { display: block; }
.fa-social-actions small, .fa-contact-actions small { margin-bottom: 6px; color: var(--fa-muted); font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.fa-social-actions strong, .fa-contact-actions strong { font: 20px/1.2 var(--fa-serif); }

.fa-events-first { padding-top: 48px; }
.fa-formats { padding-block: 55px 125px; }
.fa-format-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid var(--fa-line); }
.fa-format-card { display: flex; flex-direction: column; border-right: 1px solid var(--fa-line); background: rgba(255,255,255,.2); transition: background .2s, transform .2s; }
.fa-format-card:last-child { border-right: 0; }
.fa-format-card:hover { z-index: 1; background: #fff; transform: translateY(-4px); box-shadow: 0 18px 44px rgba(42,44,36,.1); }
.fa-format-image { aspect-ratio: 4/3; overflow: hidden; }
.fa-format-image img { width: 100%; height: 100%; object-fit: cover; }
.fa-format-card:nth-child(3) .fa-format-image img { object-position: center 56%; }
.fa-format-copy { flex: 1; display: flex; flex-direction: column; padding: 25px; }
.fa-format-copy small { color: var(--fa-gold); font: 18px/1 var(--fa-serif); }
.fa-format-copy strong { min-height: 62px; margin: 24px 0 12px; font: 27px/1.08 var(--fa-serif); }
.fa-format-copy > span { color: var(--fa-muted); font: 14px/1.6 var(--fa-serif); }
.fa-format-copy b { margin-top: auto; padding-top: 22px; color: var(--fa-wine); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.fa-process { padding-block: 110px; background: var(--fa-wine); color: #fff; }
.fa-process-grid { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 50px; border-top: 1px solid rgba(255,255,255,.27); }
.fa-process-grid article { min-height: 320px; display: flex; flex-direction: column; padding: 28px 26px; border-right: 1px solid rgba(255,255,255,.22); }
.fa-process-grid article:first-child { padding-left: 0; }
.fa-process-grid article:last-child { border-right: 0; }
.fa-process-grid article > span { color: #efd9a8; font: 19px/1 var(--fa-serif); }
.fa-process-grid h3 { margin: 56px 0 16px; font: 25px/1.13 var(--fa-serif); }
.fa-process-grid p { color: rgba(255,255,255,.7); font: 14px/1.65 var(--fa-serif); }
.fa-process-grid a { margin-top: auto; color: #fff; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.fa-event-final { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; padding-block: 120px; }
.fa-event-final h2 { max-width: 900px; margin: 0; font: clamp(48px,6vw,80px)/.98 var(--fa-serif); }

.fa-about-hero { display: grid; grid-template-columns: minmax(300px,.75fr) minmax(0,1.25fr); gap: clamp(55px,9vw,130px); align-items: center; padding-block: 80px 110px; }
.fa-about-logo-frame { aspect-ratio: 1; display: grid; place-items: center; padding: 28px; border: 1px solid var(--fa-line); background: #fffaf1; }
.fa-about-logo-frame img { width: 100%; height: 100%; object-fit: contain; }
.fa-about-hero h1 { margin: 0; font: clamp(65px,8vw,110px)/.9 var(--fa-serif); letter-spacing: -.055em; }
.fa-hero-lead { max-width: 650px; color: var(--fa-muted); font: clamp(21px,2.2vw,30px)/1.5 var(--fa-serif); }
.fa-brand-promise { margin-top: 35px; color: var(--fa-wine); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.fa-monica-card { padding-block: 105px; background: var(--fa-olive); color: #fff; }
.fa-monica-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(55px,9vw,130px); align-items: center; }
.fa-monica-photo { aspect-ratio: 4/5; overflow: hidden; }
.fa-monica-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
.fa-monica-copy .fa-eyebrow span { color: rgba(255,255,255,.55); }
.fa-monica-copy h2 { margin: 0; font: clamp(46px,5.6vw,76px)/.98 var(--fa-serif); letter-spacing: -.04em; }
.fa-monica-copy > p:last-child { color: rgba(255,255,255,.72); font: 18px/1.75 var(--fa-serif); }
.fa-story-content { display: grid; grid-template-columns: .28fr 1fr; gap: 70px; padding-block: 115px 130px; }
.fa-story-content .fa-entry-content > * { margin: 0 0 1.25em; }
.fa-entry-content { max-width: 850px; font: 19px/1.8 var(--fa-serif); }
.fa-entry-content strong { color: var(--fa-wine); }
.fa-values { padding-block: 110px; background: #f0e8d8; }
.fa-values h2 { margin: 0 0 55px; font: clamp(50px,6vw,82px)/1 var(--fa-serif); }
.fa-value-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--fa-line); }
.fa-value-grid article { min-height: 300px; padding: 28px; border-right: 1px solid var(--fa-line); }
.fa-value-grid article:last-child { border-right: 0; }
.fa-value-grid span { color: var(--fa-wine); font: 18px/1 var(--fa-serif); }
.fa-value-grid h3 { margin: 72px 0 15px; font: 26px/1.1 var(--fa-serif); }
.fa-value-grid p { color: var(--fa-muted); font: 14px/1.65 var(--fa-serif); }

.fa-contact-page { min-height: 68vh; padding-block: 105px 130px; }
.fa-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(60px,9vw,130px); align-items: start; }
.fa-contact-intro h1 { margin: 0; font: clamp(60px,7.2vw,96px)/.94 var(--fa-serif); letter-spacing: -.05em; }
.fa-contact-intro > p:last-child { color: var(--fa-muted); font: 18px/1.7 var(--fa-serif); }
.fa-contact-actions { display: grid; }
.fa-contact-letter { width: 30px; color: var(--fa-wine); font: 28px/1 var(--fa-serif); }

.fa-shop-header { max-width: 880px; margin-bottom: 45px; }
.fa-shop-header h1 { margin: 0; font: clamp(58px,7vw,92px)/.96 var(--fa-serif); letter-spacing: -.05em; }
.fa-shop-header > p:last-child { max-width: 750px; color: var(--fa-muted); font: 17px/1.7 var(--fa-serif); }
.fa-shop-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.fa-shop-filters a { padding: 13px 17px; border: 1px solid var(--fa-line); background: transparent; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.fa-shop-filters a.is-active { background: var(--fa-olive); color: #fff; }
.fa-shop-rule { display: grid; grid-template-columns: minmax(170px,.3fr) 1fr; gap: 24px; margin-bottom: 55px; padding: 22px 25px; border-left: 4px solid var(--fa-gold); background: #eee6d7; }
.fa-shop-rule strong { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.fa-shop-rule span { color: var(--fa-muted); font: 15px/1.55 var(--fa-serif); }
.fa-woocommerce { padding-block: 90px 130px; }
.fa-woocommerce > .woocommerce-products-header { display: none; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 28px; color: var(--fa-muted); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 38px; color: var(--fa-muted); font-size: 10px; }
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 52px 24px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 1/1; margin-bottom: 18px; object-fit: cover; background: var(--fa-ivory); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; font: 27px/1.08 var(--fa-serif); }
.woocommerce ul.products li.product .price { color: var(--fa-wine); font-size: 15px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { min-height: 47px; padding: 13px 18px; border-radius: 0; background: var(--fa-olive); color: #fff; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(50px,7vw,100px); }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto; float: none; }
.woocommerce div.product div.images img { object-fit: cover; }
.woocommerce div.product .product_title { margin: 0 0 25px; font: clamp(50px,6vw,78px)/.98 var(--fa-serif); letter-spacing: -.045em; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--fa-wine); font-size: 22px; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--fa-muted); font: 17px/1.7 var(--fa-serif); }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; }
.woocommerce div.product .woocommerce-tabs, .fa-product-video { grid-column: 1/-1; }
.fa-product-video { max-width: 960px; margin: 45px auto 0; }
.fa-product-video h2 { font: 34px/1.1 var(--fa-serif); }
.fa-product-video video, .fa-product-video iframe { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.woocommerce table.shop_table { border-color: var(--fa-line); border-radius: 0; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 16px; border-color: var(--fa-line); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single { min-height: 48px; padding: 10px 12px; border: 1px solid var(--fa-line); border-radius: 0; background: #fff; }
.woocommerce-checkout #payment { border-radius: 0; background: var(--fa-ivory); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--fa-wine); background: var(--fa-ivory); }

.fa-page, .fa-gallery-page { padding-block: 90px 125px; }
.fa-page-header h1, .fa-gallery-header h1 { margin: 0; font: clamp(58px,7vw,95px)/.96 var(--fa-serif); }
.fa-page-featured img { width: 100%; max-height: 720px; object-fit: cover; }
.fa-gallery-grid { columns: 3; column-gap: 22px; }
.fa-gallery-card { break-inside: avoid; margin: 0 0 30px; }
.fa-gallery-cover { overflow: hidden; background: var(--fa-ivory); }
.fa-gallery-cover img { width: 100%; height: auto; object-fit: cover; }

.fa-footer { background: #202b21; color: #f2ecdf; }
.fa-footer-main { display: grid; grid-template-columns: 1.4fr repeat(3,.62fr); gap: 55px; padding-block: 75px 62px; }
.fa-footer-brand { max-width: 360px; }
.fa-footer-logo { width: 78px; height: 78px; object-fit: contain; border-radius: 50%; }
.fa-footer-brand h2 { margin: 22px 0 10px; font: 33px/1 var(--fa-serif); }
.fa-footer-brand p { color: rgba(255,255,255,.6); font: 15px/1.7 var(--fa-serif); }
.fa-footer-main > div:not(.fa-footer-brand) { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.fa-footer-main h3 { margin: 3px 0 10px; color: #d3ba82; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.fa-footer-main a, .fa-footer-main span { color: rgba(255,255,255,.72); font-size: 10px; line-height: 1.5; }
.fa-social-link { display: inline-flex; align-items: center; gap: 8px; }
.fa-social-link svg { width: 18px; height: 18px; color: #d3ba82; }
.fa-footer-bottom { min-height: 64px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.43); font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }

@media (max-width: 1080px) {
  .fa-header { grid-template-columns: 120px 1fr 120px; }
  .fa-desktop-nav { display: none; }
  .fa-menu-toggle { display: grid; }
  .fa-integrated-banner { min-height: 610px; grid-template-columns: 44% 56%; }
  .fa-line-grid { grid-template-columns: 1fr 1fr; }
  .fa-line-card:nth-child(2) { border-right: 0; }
  .fa-line-card:nth-child(3) { border-top: 1px solid var(--fa-line); }
  .fa-format-grid { grid-template-columns: 1fr 1fr; }
  .fa-format-card:nth-child(2) { border-right: 0; }
  .fa-format-card:nth-child(-n+2) { border-bottom: 1px solid var(--fa-line); }
  .fa-process-grid, .fa-value-grid { grid-template-columns: 1fr 1fr; }
  .fa-process-grid article:nth-child(2), .fa-value-grid article:nth-child(2) { border-right: 0; }
  .fa-process-grid article:nth-child(-n+2), .fa-value-grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.22); }
  .fa-value-grid article:nth-child(-n+2) { border-bottom-color: var(--fa-line); }
  .fa-footer-main { grid-template-columns: 1.3fr 1fr 1fr; }
  .fa-footer-main > div:last-child { grid-column: 2; }
}

@media (max-width: 782px) {
  .admin-bar .fa-header { top: 46px; }
  .admin-bar .fa-mobile-menu { top: 153px; }
}

@media (max-width: 720px) {
  .fa-shell { width: min(calc(100% - 30px),1280px); }
  .fa-announcement { min-height: 30px; justify-content: center; padding-inline: 15px; }
  .fa-announcement span:last-child { display: none; }
  .fa-header { min-height: 77px; grid-template-columns: 1fr auto; padding-inline: 15px; }
  .fa-logo-image { width: 68px; height: 68px; }
  .fa-header-actions { grid-column: 2; }
  .fa-cart { font-size: 0; }
  .fa-cart-count { font-size: 9px; }
  .fa-mobile-menu { inset: 107px 0 0; }
  .fa-banner-wrap { padding-block: 34px; }
  .fa-integrated-banner { min-height: 0; aspect-ratio: auto; grid-template-columns: 1fr; }
  .fa-integrated-banner::after { inset: 10px; }
  .fa-banner-media { aspect-ratio: 4/3; order: 1; }
  .fa-banner-media::after { inset: 45% 0 -2px; background: linear-gradient(180deg,transparent,var(--fa-olive)); }
  .fa-integrated-banner--events .fa-banner-media::after, .fa-integrated-banner--event-page .fa-banner-media::after { background: linear-gradient(180deg,transparent,#243126); }
  .fa-banner-copy { order: 2; padding: 34px 28px 42px; }
  .fa-banner-copy h1 { font-size: clamp(42px,12.5vw,58px); }
  .fa-banner-copy h2 { font-size: clamp(39px,11vw,53px); }
  .fa-banner-copy > p:not(.fa-eyebrow) { font-size: 16px; }
  .fa-buttons { display: grid; }
  .fa-button { width: 100%; }
  .fa-lines { padding-block: 55px 84px; }
  .fa-section-heading h2 { font-size: clamp(41px,11.5vw,56px); }
  .fa-line-grid, .fa-format-grid { grid-template-columns: 1fr; }
  .fa-line-card, .fa-format-card { border-right: 0; border-bottom: 1px solid var(--fa-line); }
  .fa-line-card:last-child, .fa-format-card:last-child { border-bottom: 0; }
  .fa-line-card:nth-child(3) { border-top: 0; }
  .fa-line-copy { padding: 26px; }
  .fa-line-copy strong { font-size: 33px; }
  .fa-home-events { padding-bottom: 75px; }
  .fa-about-teaser, .fa-social-contact, .fa-about-hero, .fa-monica-layout, .fa-story-content, .fa-contact-grid { grid-template-columns: 1fr; }
  .fa-about-teaser { gap: 38px; padding-block: 75px 90px; }
  .fa-about-copy h2 { font-size: clamp(43px,12vw,58px); }
  .fa-social-contact { gap: 34px; margin-bottom: 80px; padding: 40px 25px; }
  .fa-formats { padding-block: 50px 85px; }
  .fa-format-card:nth-child(-n+2) { border-bottom: 1px solid var(--fa-line); }
  .fa-format-copy strong { min-height: 0; }
  .fa-process { padding-block: 80px; }
  .fa-process-grid, .fa-value-grid { grid-template-columns: 1fr; }
  .fa-process-grid article, .fa-process-grid article:first-child, .fa-value-grid article { min-height: 0; padding: 26px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.22); }
  .fa-value-grid article { padding-inline: 25px; border-bottom-color: var(--fa-line); }
  .fa-process-grid h3, .fa-value-grid h3 { margin-top: 35px; }
  .fa-event-final { grid-template-columns: 1fr; padding-block: 85px; }
  .fa-about-hero { gap: 42px; padding-block: 55px 80px; }
  .fa-about-logo-frame { width: min(100%,430px); margin-inline: auto; }
  .fa-about-hero h1 { font-size: clamp(61px,17vw,82px); }
  .fa-monica-card { padding-block: 75px; }
  .fa-monica-layout { gap: 42px; }
  .fa-monica-copy h2 { font-size: clamp(42px,11.5vw,58px); }
  .fa-story-content { gap: 24px; padding-block: 80px 90px; }
  .fa-shop-rule { grid-template-columns: 1fr; gap: 8px; }
  .fa-woocommerce { padding-block: 65px 90px; }
  .woocommerce ul.products { grid-template-columns: 1fr 1fr; gap: 38px 14px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 22px; }
  .woocommerce div.product { grid-template-columns: 1fr; }
  .fa-gallery-grid { columns: 1; }
  .fa-footer-main { grid-template-columns: 1fr 1fr; gap: 42px 26px; padding-block: 62px; }
  .fa-footer-brand { grid-column: 1/-1; }
  .fa-footer-main > div:last-child { grid-column: auto; }
  .fa-footer-bottom { display: grid; gap: 9px; justify-content: start; padding-block: 20px; }
}

@media (max-width: 440px) {
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .fa-footer-main { grid-template-columns: 1fr; }
}
