/* Olive Wood Core — widgets stylesheet
 * Tokens fall back to the Olive Wood SaaS theme values; the theme can override them (zero-specificity :where).
 *
 * Gotcha: Elementor's own frontend.min.css ships ".elementor img{height:auto}" and loads after this
 * file. Any rule here that sets an explicit img height with only "<one class> img" specificity
 * (0,0,1,1) ties with it and LOSES on any page actually built with Elementor (every page except the
 * plain /products/ archive template), silently collapsing the image back to its natural ratio. Every
 * such rule below is written as "<ancestor class> <box class> img" (0,0,2,1) on purpose to win
 * regardless of load order — see the long comment at .owc-card .owc-product__media img for the full
 * story. Keep that pattern for any new img-sizing rule added to this file.
 */
:where(:root){
  /* Brand palette restored (olive/wood identity) — same as the theme's main.css :root, kept here
     too as a zero-specificity fallback. The crisper SaaS-era radii/shadow scale is kept, only
     retinted to the olive brand color instead of neutral slate. */
  --owc-ink:#1E2318; --owc-olive-900:#262D1B; --owc-olive:#3F4A2A; --owc-olive-soft:#7A8E5F; --owc-olive-tint:#E8EDDF;
  --owc-wood:#8B5A3C; --owc-wood-dark:#5C3A26; --owc-wood-light:#D9A878; --owc-sand:#F1E6D3; --owc-cream:#F8F4EA; --owc-paper:#FFFDF9;
  --owc-muted:#5B6250; --owc-line:rgba(38,45,27,.13);
  --owc-font-display:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; --owc-font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --owc-r-sm:8px; --owc-r:14px; --owc-r-lg:20px; --owc-max:1200px; --owc-gutter:clamp(20px,4vw,40px);
  --owc-shadow-sm:0 1px 2px rgba(38,45,27,.06),0 2px 8px rgba(38,45,27,.09);
  --owc-shadow:0 1px 3px rgba(38,45,27,.06),0 12px 32px -12px rgba(38,45,27,.28);
  --owc-ease:cubic-bezier(.22,.8,.24,1);
}
.owc-section,.owc-section *{box-sizing:border-box}
.owc-section{font-family:var(--owc-font);color:var(--owc-ink);position:relative;overflow:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}
.owc-container{width:100%;max-width:var(--owc-max);margin-inline:auto;padding-inline:var(--owc-gutter);position:relative}
.owc-pad-compact{padding-block:clamp(28px,4vw,48px)}
.owc-pad-normal{padding-block:clamp(64px,9vw,120px)}
.owc-pad-large{padding-block:clamp(88px,12vw,168px)}
.owc-icon{flex:none}

/* Themes */
.owc-theme-light{background:var(--owc-paper)}
.owc-theme-cream{background:var(--owc-cream)}
.owc-theme-sand{background:linear-gradient(180deg,var(--owc-sand),var(--owc-cream))}
.owc-theme-olive{background:radial-gradient(1200px 500px at 85% -10%,rgba(122,142,95,.35),transparent 60%),var(--owc-olive);color:#F3EFE3}
.owc-theme-dark{background:var(--owc-ink);color:#F3EFE3}
.owc-theme-olive .owc-lead,.owc-theme-dark .owc-lead{color:rgba(243,239,227,.78)}
.owc-theme-olive .owc-title,.owc-theme-dark .owc-title{color:#fff}
.owc-theme-olive .owc-eyebrow,.owc-theme-dark .owc-eyebrow,.owc-cta .owc-eyebrow{color:#E8C9A3}
.owc-theme-olive .owc-title em,.owc-theme-dark .owc-title em{color:var(--owc-wood-light)}

/* Typography */
.owc-heading{max-width:760px;margin:0 0 clamp(32px,5vw,56px)}
.owc-align-center .owc-heading{margin-inline:auto;text-align:center}
.owc-eyebrow{display:inline-flex;align-items:center;gap:.6em;margin:0 0 14px;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--owc-wood)}
.owc-eyebrow::before{content:"";width:26px;height:1.5px;background:currentColor;opacity:.7}
.owc-align-center .owc-eyebrow::after{content:"";width:26px;height:1.5px;background:currentColor;opacity:.7}
.owc-title{margin:0;font-family:var(--owc-font-display);font-weight:600;font-size:clamp(1.9rem,1.2rem + 2.6vw,3.1rem);line-height:1.1;letter-spacing:-.02em;color:var(--owc-olive-900);text-wrap:balance}
.owc-title--xl{font-size:clamp(2.3rem,1.3rem + 3.6vw,4rem)}
.owc-title em,.owc-hero__title em{font-style:italic;font-weight:500;color:var(--owc-wood)}
.owc-lead{margin:18px 0 0;font-size:clamp(1.02rem,.96rem + .3vw,1.2rem);color:var(--owc-muted);max-width:62ch;text-wrap:pretty}
.owc-align-center .owc-lead{margin-inline:auto}

/* Buttons */
.owc-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.owc-actions--center{justify-content:center}
.owc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:.95em 1.6em;border-radius:999px;border:1.5px solid transparent;font:600 .95rem/1 var(--owc-font);text-decoration:none;cursor:pointer;transition:transform .35s var(--owc-ease),box-shadow .35s var(--owc-ease),background-color .25s,color .25s,border-color .25s}
.owc-btn .owc-icon{transition:transform .35s var(--owc-ease)}
.owc-btn:hover .owc-icon{transform:translateX(4px)}
.owc-btn:focus-visible,.owc-tabs button:focus-visible,.owc-faq__item summary:focus-visible,.owc-link:focus-visible{outline:3px solid var(--owc-wood-light);outline-offset:3px}
.owc-btn--primary{background:var(--owc-wood);color:#fff;box-shadow:0 8px 20px -8px rgba(139,90,60,.7)}
.owc-btn--primary:hover{background:var(--owc-wood-dark);color:#fff;transform:translateY(-2px);box-shadow:0 14px 26px -10px rgba(92,58,38,.7)}
.owc-btn--ghost{background:transparent;color:var(--owc-olive);border-color:var(--owc-line)}
.owc-btn--ghost:hover{border-color:var(--owc-olive);background:rgba(63,74,42,.06);color:var(--owc-olive)}
.owc-btn--light{background:var(--owc-cream);color:var(--owc-olive-900)}
.owc-btn--light:hover{background:#fff;color:var(--owc-olive-900);transform:translateY(-2px)}
.owc-btn--outline-light{color:#fff;border-color:rgba(255,255,255,.4)}
.owc-btn--outline-light:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff}
.owc-btn--sm{padding:.7em 1.15em;font-size:.85rem}
.owc-btn--lg{padding:1.1em 2em;font-size:1rem}
.owc-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.9rem;color:var(--owc-olive);text-decoration:none}
.owc-link:hover{color:var(--owc-wood)}
.owc-link .owc-icon{transition:transform .3s var(--owc-ease)}
.owc-link:hover .owc-icon{transform:translateX(3px)}

/* Cards + grids */
.owc-card{background:#fff;border:1px solid var(--owc-line);border-radius:var(--owc-r);box-shadow:var(--owc-shadow-sm);transition:transform .45s var(--owc-ease),box-shadow .45s var(--owc-ease),border-color .3s}
.owc-grid{list-style:none;margin:0;padding:0;display:grid;gap:clamp(16px,2vw,28px);grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
@media(min-width:900px){.owc-grid--2{grid-template-columns:repeat(2,1fr)}.owc-grid--3{grid-template-columns:repeat(3,1fr)}.owc-grid--4{grid-template-columns:repeat(4,1fr)}}
@media(min-width:600px) and (max-width:899px){.owc-grid--3,.owc-grid--4{grid-template-columns:repeat(2,1fr)}}

/* Hero */
.owc-hero{padding-block:clamp(48px,7vw,104px) clamp(56px,8vw,120px);background:radial-gradient(900px 480px at 92% 8%,rgba(217,168,120,.35),transparent 60%),radial-gradient(700px 400px at 0% 100%,rgba(122,142,95,.22),transparent 60%),var(--owc-cream)}
.owc-hero__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(36px,5vw,72px);align-items:center}
@media(min-width:960px){.owc-hero__grid{grid-template-columns:1.05fr .95fr}}
.owc-pill{display:inline-flex;align-items:center;gap:8px;margin:0 0 22px;padding:.5em 1em;border-radius:999px;background:rgba(63,74,42,.08);border:1px solid rgba(63,74,42,.18);color:var(--owc-olive);font-size:.82rem;font-weight:600}
.owc-hero__title{margin:0;font-family:var(--owc-font-display);font-weight:600;font-size:clamp(2.5rem,1.3rem + 4.6vw,4.9rem);line-height:1.02;letter-spacing:-.03em;color:var(--owc-olive-900);text-wrap:balance}
.owc-hero .owc-lead{margin-top:24px}
.owc-hero__badges{list-style:none;margin:40px 0 0;padding:26px 0 0;border-top:1px solid var(--owc-line);display:flex;flex-wrap:wrap;gap:14px 30px}
.owc-hero__badges li{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:500;color:var(--owc-olive)}
.owc-hero__badges .owc-icon{color:var(--owc-wood)}
.owc-hero__media{position:relative;isolation:isolate}
.owc-hero__blob{position:absolute;inset:-6% -4% -6% 6%;z-index:-1;border-radius:46% 54% 42% 58%/52% 44% 56% 48%;background:linear-gradient(140deg,var(--owc-wood-light),var(--owc-olive-soft));opacity:.35;filter:blur(2px)}
.owc-hero__img{overflow:hidden;box-shadow:var(--owc-shadow)}
.owc-hero__media .owc-hero__img img{display:block;width:100%;height:100%;object-fit:cover}
.owc-hero__img--main{border-radius:var(--owc-r-lg);aspect-ratio:1/1.02;background:var(--owc-sand)}
.owc-hero__img--float{position:absolute;left:-7%;bottom:-6%;width:34%;aspect-ratio:1;border-radius:var(--owc-r);border:6px solid var(--owc-cream)}
.owc-hero__chip{position:absolute;right:-2%;top:7%;display:flex;flex-direction:column;padding:16px 20px;border-radius:var(--owc-r);background:rgba(255,253,249,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--owc-line);box-shadow:var(--owc-shadow);line-height:1.2}
.owc-hero__chip strong{font:600 1.9rem/1 var(--owc-font-display);color:var(--owc-olive)}
.owc-hero__chip span{font-size:.78rem;color:var(--owc-muted);margin-top:4px}
@media(max-width:959px){.owc-hero__img--float{left:2%;width:30%}.owc-hero__chip{right:2%}}

@keyframes owc-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes owc-slide{from{transform:translateY(26px)}to{transform:none}}
.owc-hero__copy{animation:owc-rise .9s var(--owc-ease) both}
.owc-hero__media{animation:owc-slide 1s .1s var(--owc-ease) both}
@media(prefers-reduced-motion:reduce){.owc-hero__copy,.owc-hero__media{animation:none}}

/* Page header */
.owc-pageheader{padding-block:clamp(56px,8vw,110px) clamp(48px,7vw,90px)}
.owc-pageheader .owc-heading{margin-bottom:0}
.owc-pageheader>.owc-container{position:static}
.owc-pageheader__bg{position:absolute;inset:0;z-index:0}
.owc-pageheader .owc-pageheader__bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}
.owc-pageheader__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,45,27,.78),rgba(38,45,27,.9))}
.owc-pageheader .owc-breadcrumb,.owc-pageheader .owc-heading{position:relative;z-index:2}
.owc-breadcrumb{margin-bottom:26px;font-size:.85rem}
.owc-breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.owc-align-left .owc-breadcrumb ol{justify-content:flex-start}
.owc-breadcrumb li+li::before{content:"/";margin-right:10px;opacity:.5}
.owc-breadcrumb a{color:inherit;opacity:.8;text-decoration:none}.owc-breadcrumb a:hover{opacity:1;text-decoration:underline}

/* Marquee */
.owc-marquee{padding-block:18px;overflow:hidden}
.owc-marquee__track{display:flex;width:max-content;animation:owc-marquee 46s linear infinite}
.owc-marquee:hover .owc-marquee__track{animation-play-state:paused}
.owc-marquee__list{display:flex;gap:44px;list-style:none;margin:0;padding:0 22px;flex:none}
.owc-marquee__list li{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:.9rem;font-weight:500;letter-spacing:.01em}
.owc-marquee__list .owc-icon{color:var(--owc-wood-light)}
@keyframes owc-marquee{to{transform:translateX(-50%)}}

/* Features */
.owc-feature{padding:clamp(24px,3vw,34px)}
.owc-feature:hover{transform:translateY(-6px);box-shadow:var(--owc-shadow);border-color:rgba(139,90,60,.35)}
.owc-feature__icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--owc-olive-tint);color:var(--owc-olive);margin-bottom:20px}
.owc-feature h3{margin:0 0 8px;font:600 1.2rem/1.25 var(--owc-font-display);color:var(--owc-olive-900)}
.owc-feature p{margin:0;color:var(--owc-muted);font-size:.96rem}

/* Split */
/* align-items is set to flex-start here (not the CSS default "stretch"/visual "center") to match the
   effective layout this widget always had; it's now an Elementor control ("Vertical position") that
   overrides this via the {{WRAPPER}} selector in widget-split.php's "media_valign" control — this is
   just the fallback for the rare case the control's default isn't applied (e.g. raw markup reuse). */
.owc-split__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:flex-start}
.owc-split__grid>*,.owc-hero__grid>*,.owc-rfq__grid>*,.owc-founder__card>*{min-width:0}
@media(min-width:900px){.owc-split__grid{grid-template-columns:1fr 1fr}.owc-split--reverse .owc-split__media{order:2}}
/* Below 900px the layout always stacks to a single column — the Elementor "Media column width"
   control only makes sense once left/right sit side by side, so it must never leak onto mobile. */
@media(max-width:899px){.owc-split__grid{grid-template-columns:minmax(0,1fr)!important}}
.owc-split__media{position:relative;margin:0;border-radius:var(--owc-r-lg);overflow:hidden;box-shadow:var(--owc-shadow);background:var(--owc-sand);aspect-ratio:1/1}
.owc-split__grid .owc-split__media img{display:block;width:100%;height:100%;object-fit:cover}
/* Photos are pre-cropped and can safely fill the box (cover). A video's own framing must stay
   intact — cropping it would cut off part of the shot — so it is shown whole (contain), centered
   on the brand-sand background, whatever height/width the "Media height/width" controls are set to. */
.owc-split__media video{display:block;width:100%;height:100%;object-fit:contain}
.owc-split__media--plain img{aspect-ratio:auto 1/1;height:auto;object-fit:contain}
.owc-split__media--plain{background:#fff;box-shadow:var(--owc-shadow-sm);border:1px solid var(--owc-line)}
.owc-split__media .owc-hero__chip{right:18px;top:auto;bottom:18px}
.owc-split .owc-heading{margin-bottom:24px}
/* Full-width mode: break out of the 2-column split so the media spans the whole section width and
   the copy stacks under/over it (order still controlled by the existing "reverse" switch, same as
   the 2-column layout). The copy's width is capped and centered so long paragraphs stay readable
   instead of stretching edge to edge. */
.owc-split--fullwidth .owc-split__grid{grid-template-columns:minmax(0,1fr)!important}
.owc-split--fullwidth .owc-split__copy{max-width:720px;margin-inline:auto;text-align:center}
.owc-split--fullwidth .owc-split__copy .owc-actions{justify-content:center}
.owc-split--fullwidth .owc-checklist{text-align:left;display:inline-block}
.owc-checklist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.owc-checklist li{display:flex;gap:12px;align-items:flex-start;font-weight:500}
.owc-checklist .owc-icon{margin-top:.2em;padding:3px;border-radius:50%;background:var(--owc-olive);color:#fff;width:22px;height:22px}

/* Products */
.owc-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:-16px 0 36px}
.owc-tabs button{padding:.6em 1.3em;border-radius:999px;border:1px solid var(--owc-line);background:#fff;color:var(--owc-olive);font:600 .86rem var(--owc-font);cursor:pointer;transition:all .25s}
.owc-tabs button:hover{border-color:var(--owc-olive)}
.owc-tabs button.is-active{background:var(--owc-olive);border-color:var(--owc-olive);color:#fff}

/* Size guide — optional stick/bone tabs over the image */
.owc-sizes__media{display:flex;flex-direction:column;gap:14px;padding:20px 20px 0;aspect-ratio:auto}
.owc-sizes__tabs{justify-content:flex-start;margin:0}
.owc-sizes__panel{margin:0 -20px}
.owc-sizes__panel img{display:block;width:100%;height:auto;object-fit:contain}
.owc-sizes__shared{margin-top:-8px}
.owc-product{overflow:hidden;display:flex;flex-direction:column}
.owc-product:hover{transform:translateY(-6px);box-shadow:var(--owc-shadow)}
.owc-product[hidden]{display:none}
.owc-product__media{--owc-img-scale:1;--owc-img-pad:14px;position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#fff}
/* Absolutely-positioned + inset, not width/height:100% in normal flow: a percentage height on an
   in-flow child only resolves reliably when every ancestor up the chain has an explicit height —
   an aspect-ratio-only box doesn't always count, so a tall portrait photo (e.g. the bone chews)
   fell back to its natural height and got cropped by overflow:hidden instead of staying "contain"d.
   Sizing via inset against this position:relative box side-steps that entirely.
   Selector is ".owc-card .owc-product__media img" (not just ".owc-product__media img") on purpose:
   Elementor's own frontend.min.css ships ".elementor img{height:auto}" at the same specificity
   (one class + one element) and loads after our stylesheet, so on any page built with Elementor
   (the homepage's Product grid widget, etc.) it was winning the cascade and silently collapsing
   this height back to the image's natural aspect ratio — same squashed-photo symptom as the bug
   above, but only inside Elementor-rendered contexts (the plain /products/ archive template has
   no ".elementor" ancestor, so it was never affected). Two classes + one element outranks
   Elementor's rule regardless of load order. */
.owc-card .owc-product__media img{position:absolute;inset:var(--owc-img-pad);width:calc(100% - (var(--owc-img-pad) * 2));height:calc(100% - (var(--owc-img-pad) * 2));display:block;object-fit:contain;transform:scale(var(--owc-img-scale,1));transition:transform .9s var(--owc-ease)}
.owc-product:hover .owc-product__media img{transform:scale(calc(var(--owc-img-scale,1) * 1.06))}
.owc-badge{position:absolute;top:14px;left:14px;padding:.4em .9em;border-radius:999px;background:var(--owc-olive);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.owc-product__body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.owc-product__title{margin:0;font:600 1.1rem/1.25 var(--owc-font-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.owc-product__title a{color:var(--owc-olive-900);text-decoration:none}.owc-product__title a:hover{color:var(--owc-wood)}
.owc-product__tag{margin:8px 0 0;color:var(--owc-muted);font-size:.92rem}
.owc-chips{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.owc-chips li{display:inline-flex;align-items:center;gap:6px;padding:.35em .8em;border-radius:999px;background:var(--owc-olive-tint);color:var(--owc-olive);font-size:.78rem;font-weight:600}
.owc-product__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:20px}

/* Process */
.owc-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(16px,2vw,26px)}
.owc-step{flex:1 1 300px;max-width:380px;overflow:hidden;text-align:left}
.owc-step:hover{transform:translateY(-6px);box-shadow:var(--owc-shadow)}
.owc-step__media{aspect-ratio:4/3;overflow:hidden}
.owc-step .owc-step__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--owc-ease)}
.owc-step:hover .owc-step__media img{transform:scale(1.05)}
.owc-step__body{position:relative;padding:26px 24px 28px}
.owc-step__n{position:absolute;top:-24px;right:20px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--owc-wood);color:#fff;font:600 1rem var(--owc-font-display);box-shadow:0 6px 16px -4px rgba(139,90,60,.6)}
.owc-step h3{margin:0 0 8px;font:600 1.2rem/1.25 var(--owc-font-display);color:var(--owc-olive-900)}
.owc-step p{margin:0;color:var(--owc-muted);font-size:.95rem}

/* Stats */
.owc-stats__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:clamp(24px,4vw,48px);margin:0;text-align:center}
.owc-stat{display:flex;flex-direction:column-reverse;gap:6px;padding:8px 0}
.owc-stat__v{margin:0;font:600 clamp(2.6rem,2rem + 3vw,4.4rem)/1 var(--owc-font-display);color:#fff;letter-spacing:-.03em}
.owc-stat__l{margin:0;font-size:.92rem;color:rgba(243,239,227,.75)}
.owc-theme-light .owc-stat__v,.owc-theme-cream .owc-stat__v,.owc-theme-sand .owc-stat__v{color:var(--owc-olive)}
.owc-theme-light .owc-stat__l,.owc-theme-cream .owc-stat__l,.owc-theme-sand .owc-stat__l{color:var(--owc-muted)}

/* Sizes */
.owc-tablewrap{overflow-x:auto;border-radius:var(--owc-r);border:1px solid var(--owc-line);background:#fff;box-shadow:var(--owc-shadow-sm)}
.owc-table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:420px}
.owc-table th,.owc-table td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--owc-line)}
.owc-table thead th{background:var(--owc-olive);color:#fff;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.owc-table tbody tr:last-child th,.owc-table tbody tr:last-child td{border-bottom:0}
.owc-table tbody tr:hover{background:var(--owc-cream)}
.owc-size{display:inline-grid;place-items:center;min-width:44px;height:36px;padding-inline:10px;border-radius:10px;background:var(--owc-wood);color:#fff;font:600 .95rem var(--owc-font-display)}
.owc-note{margin:16px 0 0;font-size:.85rem;color:var(--owc-muted)}

/* FAQ */
.owc-faq__list{max-width:860px;margin-inline:auto;display:grid;gap:12px}
.owc-faq__item{background:#fff;border:1px solid var(--owc-line);border-radius:var(--owc-r);overflow:hidden;transition:box-shadow .3s,border-color .3s}
.owc-faq__item[open]{box-shadow:var(--owc-shadow-sm);border-color:rgba(139,90,60,.4)}
.owc-faq__item summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;cursor:pointer;list-style:none;font:600 1.08rem/1.35 var(--owc-font-display);color:var(--owc-olive-900)}
.owc-faq__item summary::-webkit-details-marker{display:none}
.owc-faq__plus{position:relative;flex:none;width:28px;height:28px;border-radius:50%;background:var(--owc-olive-tint)}
.owc-faq__plus::before,.owc-faq__plus::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.8px;background:var(--owc-olive);transform:translate(-50%,-50%);transition:transform .3s var(--owc-ease)}
.owc-faq__plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.owc-faq__item[open] .owc-faq__plus::after{transform:translate(-50%,-50%) rotate(0)}
.owc-faq__a{padding:0 26px 24px;color:var(--owc-muted)}.owc-faq__a p{margin:0}

/* CTA */
.owc-cta{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--owc-r-lg);background:radial-gradient(800px 360px at 90% 0%,rgba(217,168,120,.35),transparent 60%),var(--owc-olive);color:#F3EFE3;padding:clamp(44px,7vw,96px) clamp(24px,5vw,72px);text-align:center;box-shadow:var(--owc-shadow)}
.owc-cta__bg{position:absolute;inset:0;z-index:-1;opacity:.18}.owc-cta .owc-cta__bg img{width:100%;height:100%;object-fit:cover}
.owc-cta .owc-title{color:#fff}.owc-cta .owc-title em{color:var(--owc-wood-light)}
.owc-cta .owc-eyebrow{color:#E8C9A3}.owc-cta .owc-lead{color:rgba(243,239,227,.8)}
.owc-cta .owc-heading{margin-inline:auto;text-align:center}.owc-cta .owc-lead{margin-inline:auto}
.owc-ctaband .owc-eyebrow::after{content:"";width:26px;height:1.5px;background:currentColor;opacity:.7}

/* RFQ + form */
.owc-rfq__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
@media(min-width:960px){.owc-rfq__grid{grid-template-columns:.85fr 1.15fr}.owc-rfq__side{position:sticky;top:120px}}
.owc-rfq__card{padding:clamp(24px,3.5vw,44px);box-shadow:var(--owc-shadow)}
.owc-contact{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.owc-contact li{display:flex;gap:16px;align-items:flex-start;font-size:.98rem}
.owc-contact__i{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:14px;background:var(--owc-olive-tint);color:var(--owc-olive)}
.owc-contact a{color:var(--owc-wood-dark);font-weight:600;text-decoration:none}.owc-contact a:hover{text-decoration:underline}
.owc-form__grid{display:grid;grid-template-columns:1fr;gap:18px 20px;margin-bottom:26px}
@media(min-width:640px){.owc-form__grid{grid-template-columns:1fr 1fr}.owc-field--full{grid-column:1/-1}}
.owc-field{margin:0}
.owc-field label{display:block;margin-bottom:7px;font-size:.84rem;font-weight:600;color:var(--owc-olive-900)}
.owc-field input[type=text],.owc-field input[type=email],.owc-field input[type=tel],.owc-field select,.owc-field textarea{width:100%;padding:.9em 1.05em;border:1.5px solid var(--owc-line);border-radius:12px;background:var(--owc-paper);font:400 .98rem var(--owc-font);color:var(--owc-ink);transition:border-color .2s,box-shadow .2s}
.owc-field input:focus,.owc-field select:focus,.owc-field textarea:focus{outline:none;border-color:var(--owc-wood);box-shadow:0 0 0 4px rgba(139,90,60,.18)}
.owc-field textarea{resize:vertical;min-height:130px}
.owc-field--check label{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:.9rem;color:var(--owc-muted)}
.owc-field--check input{margin-top:.25em;accent-color:var(--owc-olive);width:18px;height:18px}
.owc-field--checks{border:0;padding:0}
.owc-field--checks legend{display:block;margin-bottom:7px;padding:0;font-size:.84rem;font-weight:600;color:var(--owc-olive-900)}
.owc-checks{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:520px){.owc-checks{grid-template-columns:1fr 1fr}}
.owc-check{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:flex-start;padding:.8em 1em;border:1.5px solid var(--owc-line);border-radius:12px;background:var(--owc-paper);font-weight:500;font-size:.9rem;color:var(--owc-muted);cursor:pointer;transition:border-color .2s}
.owc-check:has(input:checked){border-color:var(--owc-wood);color:var(--owc-olive-900)}
.owc-check input{margin-top:.15em;accent-color:var(--owc-olive);width:18px;height:18px;flex:none}
.owc-check__moq{flex-basis:100%;margin:2px 0 0 28px;font-size:.78rem;font-weight:600;color:var(--owc-wood-dark)}
.owc-check--product{align-items:center;gap:12px}
.owc-check__thumb{width:52px;height:52px;flex:none;border-radius:10px;object-fit:cover;background:var(--owc-olive-tint)}
.owc-check__body{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}
.owc-check__row{display:flex;align-items:center;gap:8px}
.owc-check__row input{margin-top:0}
.owc-check__qty{display:flex;flex-direction:column;gap:3px;margin-left:26px}
.owc-check__qty label{font-size:.76rem;font-weight:600;color:var(--owc-wood-dark)}
.owc-check__qty input{width:110px;padding:.4em .6em;border:1.5px solid var(--owc-line);border-radius:8px;background:var(--owc-cream,#fff);font:600 .9rem var(--owc-font);color:var(--owc-ink)}
.owc-check__qty input:focus{outline:none;border-color:var(--owc-wood)}
.owc-check__qty input:invalid:not(:placeholder-shown){border-color:#c0392b}

/* Modern product-family cards (image on top, details below) used in the RFQ picker. */
.owc-picks{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:640px){.owc-picks{grid-template-columns:1fr 1fr}}
.owc-pick{display:flex;flex-direction:column;gap:12px;padding:1em;border:1.5px solid var(--owc-line);border-radius:14px;background:var(--owc-paper);transition:border-color .2s}
.owc-pick:has(.owc-pill input:checked){border-color:var(--owc-wood)}
.owc-pick__media{box-sizing:border-box;width:100%;aspect-ratio:4/3;border-radius:12px;object-fit:contain;padding:10px;background:#fff;border:1px solid var(--owc-line)}
.owc-pick__body{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.owc-pick__title{font-size:.98rem;font-weight:700;color:var(--owc-ink)}
.owc-pick__variants{display:flex;flex-wrap:wrap;gap:8px}
.owc-pill{display:inline-flex;align-items:center;justify-content:center;position:relative;min-width:44px;padding:.45em .9em;border:1.5px solid var(--owc-line);border-radius:999px;background:var(--owc-cream,#fff);font-weight:700;font-size:.84rem;color:var(--owc-muted);cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.owc-pill:has(input:checked){border-color:var(--owc-wood);background:var(--owc-wood);color:#fff}
.owc-pill input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.owc-pick .owc-check__qty{margin-left:0}
[hidden]{display:none!important}
.owc-form__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.owc-form__status{margin:0 0 20px;padding:14px 18px;border-radius:12px;background:var(--owc-olive-tint);color:var(--owc-olive);font-weight:600}
.owc-form__status.is-error{background:#fbeaea;color:#8a1f1f}
.owc-form.is-sending .owc-btn{opacity:.6;pointer-events:none}
.owc-field .is-invalid,.owc-field input:user-invalid{border-color:#b3261e}

/* Reveal (only when JS is on) */
.owc-js [data-owc-reveal] .owc-heading,.owc-js [data-owc-reveal] .owc-card,.owc-js [data-owc-reveal] .owc-split__grid>*,.owc-js [data-owc-reveal] .owc-stat,.owc-js [data-owc-reveal] .owc-faq__item,.owc-js [data-owc-reveal] .owc-cta{opacity:0;transform:translateY(24px);transition:opacity .8s var(--owc-ease),transform .8s var(--owc-ease)}
.owc-js [data-owc-reveal].is-in .owc-heading,.owc-js [data-owc-reveal].is-in .owc-card,.owc-js [data-owc-reveal].is-in .owc-split__grid>*,.owc-js [data-owc-reveal].is-in .owc-stat,.owc-js [data-owc-reveal].is-in .owc-faq__item,.owc-js [data-owc-reveal].is-in .owc-cta{opacity:1;transform:none}
.owc-js [data-owc-reveal].is-in .owc-card:nth-child(2),.owc-js [data-owc-reveal].is-in .owc-stat:nth-child(2){transition-delay:.08s}
.owc-js [data-owc-reveal].is-in .owc-card:nth-child(3),.owc-js [data-owc-reveal].is-in .owc-stat:nth-child(3){transition-delay:.16s}
.owc-js [data-owc-reveal].is-in .owc-card:nth-child(4),.owc-js [data-owc-reveal].is-in .owc-stat:nth-child(4){transition-delay:.24s}
.owc-js [data-owc-reveal].is-in .owc-card:nth-child(n+5){transition-delay:.3s}
.elementor-editor-active [data-owc-reveal] *{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){
  .owc-marquee__track{animation:none;flex-wrap:wrap;width:auto}.owc-marquee__list[aria-hidden]{display:none}
  .owc-js [data-owc-reveal] *{opacity:1!important;transform:none!important;transition:none!important}
  .owc-btn,.owc-card,.owc-product__media img,.owc-step__media img{transition:none}
}

/* SVG decoration */
.owc-deco{position:absolute;pointer-events:none;user-select:none;max-width:none}
.owc-deco--hero{top:-7%;right:-14%;width:62%;opacity:.9;z-index:-1;transform:rotate(-8deg)}
.owc-deco--cta{left:-30px;bottom:-40px;width:min(380px,42%);opacity:.5;transform:scaleY(-1) rotate(8deg)}
.owc-deco--header{right:-40px;bottom:-10px;width:min(460px,50%);opacity:.22;filter:saturate(.6) brightness(1.6)}
.owc-hero__seal{position:absolute;right:-2%;bottom:-4%;width:clamp(96px,11vw,132px);height:auto;filter:drop-shadow(0 8px 16px rgba(38,45,27,.25));animation:owc-bob 6s ease-in-out infinite}
@keyframes owc-bob{50%{transform:translateY(-8px) rotate(4deg)}}
@media(prefers-reduced-motion:reduce){.owc-hero__seal{animation:none}}
@media(max-width:959px){.owc-hero__seal{right:0;bottom:-8%}.owc-deco--hero{right:-6%}}
.owc-theme-olive::before,.owc-theme-dark::before{content:"";position:absolute;inset:0;background:url(../svg/pattern-olive.svg) 0 0/180px;pointer-events:none}
.owc-theme-olive>.owc-container:not(.owc-x),.owc-theme-dark>.owc-container:not(.owc-x){z-index:1}

/* Seals */
.owc-seals__grid{list-style:none;margin:0;padding:0;display:grid;gap:clamp(20px,3vw,40px);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));text-align:center}
.owc-seal__img{width:min(170px,100%);height:auto;margin:0 auto 18px;display:block;filter:drop-shadow(0 10px 18px rgba(38,45,27,.18));transition:transform .5s var(--owc-ease)}
.owc-seal:hover .owc-seal__img{transform:rotate(-6deg) scale(1.04)}
.owc-seal h3{margin:0 0 6px;font:600 1.15rem/1.25 var(--owc-font-display);color:var(--owc-olive-900)}
.owc-seal p{margin:0 auto;max-width:26ch;color:var(--owc-muted);font-size:.94rem}

/* Route */
.owc-route__steps{list-style:none;margin:0;padding:0;display:grid;gap:22px}
.owc-route__steps li{display:flex;gap:16px;align-items:flex-start}
.owc-route__steps .owc-feature__icon{margin:0;flex:none;width:48px;height:48px}
.owc-route__steps h3{margin:0 0 4px;font:600 1.1rem/1.25 var(--owc-font-display);color:var(--owc-olive-900)}
.owc-route__steps p{margin:0;color:var(--owc-muted);font-size:.95rem}
.owc-route__map{padding:8px}.owc-route__map img{aspect-ratio:auto!important}

/* Founder */
.owc-founder__card{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:center;padding:clamp(24px,4vw,48px);max-width:900px;margin-inline:auto}
@media(min-width:720px){.owc-founder__card{grid-template-columns:auto 1fr}}
.owc-founder__avatar{width:clamp(120px,16vw,180px);aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:var(--owc-shadow);margin-inline:auto}
.owc-founder__card .owc-founder__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.owc-founder__name{font-size:clamp(1.8rem,1.3rem + 1.6vw,2.6rem)}
.owc-founder__role{margin:6px 0 0;font-weight:600;color:var(--owc-wood)}
.owc-founder__links{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 14px}
.owc-founder__links a,.owc-founder__loc{display:inline-flex;align-items:center;gap:8px;padding:.6em 1.1em;border-radius:999px;border:1px solid var(--owc-line);background:var(--owc-paper);color:var(--owc-olive-900);font-size:.9rem;font-weight:600;text-decoration:none;transition:all .25s}
.owc-founder__links a:hover{border-color:var(--owc-wood);color:var(--owc-wood-dark)}
.owc-founder__links .owc-icon{color:var(--owc-wood)}

/* Cookie consent */
.owc-consent{position:fixed;left:20px;right:20px;bottom:20px;z-index:200;max-width:760px;margin-inline:auto;display:flex;gap:18px 24px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:18px 22px;background:#fff;border:1px solid var(--owc-line);border-radius:20px;box-shadow:0 24px 60px -16px rgba(38,45,27,.4);font:400 .9rem/1.5 var(--owc-font);color:var(--owc-ink)}
.owc-consent[hidden],.owc-consent__manage[hidden]{display:none}
.owc-consent p{margin:0;flex:1 1 320px}.owc-consent div{display:flex;gap:10px}
.owc-consent__manage{position:fixed;left:16px;bottom:16px;z-index:150;padding:.5em .9em;border:1px solid var(--owc-line);border-radius:999px;background:#fff;color:var(--owc-muted);font:600 .74rem var(--owc-font);cursor:pointer}

/* Video */
.owc-video{margin:0 auto;max-width:1040px;border-radius:var(--owc-r-lg);overflow:hidden;background:#000;box-shadow:0 40px 90px -24px rgba(0,0,0,.55);aspect-ratio:16/9}
.owc-video video{display:block;width:100%;height:100%;object-fit:cover;background:#000}

/* Gallery mosaic */
.owc-gallery__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:clamp(28px,4vw,48px)}
.owc-gallery__item{position:relative;margin:0;overflow:hidden;border-radius:var(--owc-r,18px);background:var(--owc-sand,#F1E6D3);aspect-ratio:4/3}
.owc-gallery__item img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover;transition:transform .8s var(--owc-ease,ease)}
.owc-gallery__item:hover img{transform:scale(1.04)}
.owc-gallery__item figcaption{position:absolute;left:10px;bottom:10px;padding:5px 11px;border-radius:999px;background:rgba(38,45,27,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#F8F4EA;font-size:.74rem;font-weight:600;letter-spacing:.03em}
.owc-gallery__item.is-large{grid-column:1/-1;aspect-ratio:16/9}
@media(min-width:960px){.owc-gallery__grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,15vw,230px);gap:16px}.owc-gallery__item,.owc-gallery__item.is-large{aspect-ratio:auto}.owc-gallery__item.is-large{grid-column:span 2;grid-row:span 2}}
.owc-gallery__note{margin:18px 0 0;text-align:center;font-size:.78rem;color:var(--owc-muted,#5B6250)}
@media(prefers-reduced-motion:reduce){.owc-gallery__item img{transition:none}.owc-gallery__item:hover img{transform:none}}

/* RFQ: file input + hint */
.owc-form input[type=file]{width:100%;padding:12px 14px;border:1px dashed var(--owc-line-strong,#cfc6b1);border-radius:var(--owc-r-sm,8px);background:#fff;font:inherit;color:var(--owc-muted,#5B6250)}
.owc-form input[type=file]::file-selector-button{margin-right:12px;padding:8px 14px;border:0;border-radius:999px;background:var(--owc-olive,#3F4A2A);color:#fff;font:600 .85rem/1 inherit;cursor:pointer}
.owc-field__hint{display:block;margin-top:6px;font-size:.78rem;color:var(--owc-muted,#5B6250)}

/* Accessibility: minimum 24px target size (WCAG 2.2 AA) */
.owc-link{display:inline-flex;align-items:center;min-height:28px}
