/* BEGIN: MarketingSystem — shared by public pages, Karat Studio keeps its own layout. */
.karat-web { background:var(--white); color:var(--ink); }
.karat-web h1 { font-size:clamp(42px,5vw,72px); line-height:1.04; letter-spacing:var(--tracking-hero); margin:0; }
.karat-web h2 { font-size:clamp(30px,3.6vw,48px); line-height:1.12; letter-spacing:var(--tracking-heading); margin:0; }
.karat-web h3 { font-size:var(--task-size); line-height:var(--task-line); margin:0; }
.karat-web p { color:var(--muted); line-height:1.65; margin:0; }
.web-eyebrow { color:var(--orange); font-size:var(--caption-size); font-weight:var(--weight-bold); letter-spacing:1.6px; text-transform:uppercase; }
.web-hero,.web-section,.web-final { width:min(calc(100% - 96px),var(--page-max)); margin-inline:auto; }
.web-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:var(--s48); padding-block:var(--s80); }
.web-hero__copy { display:grid; gap:var(--s24); justify-items:start; }
.web-hero__copy > p { font-size:var(--subtitle-size); max-width:760px; }
.web-hero__visual { margin:0; min-width:0; }
.web-hero picture,.web-hero img { display:block; width:100%; }
.web-hero img { aspect-ratio:1; object-fit:cover; border-radius:var(--radius-card); background:var(--surface-photography); }
.web-hero figcaption { color:var(--muted); font-size:var(--tiny-size); margin-top:var(--s12); }
.web-hero--center { grid-template-columns:1fr; text-align:center; padding-bottom:var(--s48); }
.web-hero--center .web-hero__copy { justify-items:center; }
.web-actions { display:flex; gap:var(--s12); flex-wrap:wrap; }
.web-section { padding-block:var(--s64); scroll-margin-top:var(--s100); }
.web-section__heading { display:grid; gap:var(--s16); max-width:900px; margin-bottom:var(--s32); }
.web-section__heading > p { font-size:var(--body-size); max-width:760px; }
.web-card-grid,.web-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s24); }
.web-card { display:flex; flex-direction:column; align-items:flex-start; gap:var(--s16); padding:var(--s28); border:1px solid var(--border); border-radius:var(--radius-card); background:var(--surface); }
.web-step { font-size:var(--caption-size); color:var(--orange); font-weight:var(--weight-bold); }
.web-card--link { text-decoration:none; color:var(--ink); transition:border-color var(--transition),transform var(--transition); }
.web-card--link:hover { border-color:var(--orange); transform:translateY(-4px); }
.web-link { display:inline-flex; margin-top:auto; padding-top:var(--s8); color:var(--orange); text-decoration:none; font-weight:var(--weight-bold); }
.web-link:hover { text-decoration:underline; }
.web-product-card { overflow:hidden; min-width:0; border:1px solid var(--border); border-radius:var(--radius-card); }
.web-product-card picture,.web-product-card img { display:block; width:100%; }
.web-product-card img { aspect-ratio:4/3; object-fit:cover; }
.web-product-card > div { display:grid; gap:var(--s12); padding:var(--s24); }
.web-split { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:var(--s48); }
.web-split figure { margin:0; min-width:0; }
.web-split picture,.web-split img { display:block; width:100%; }
.web-split img { aspect-ratio:4/3; object-fit:cover; border:1px solid var(--border); border-radius:var(--radius-card); }
.web-split > div { display:grid; gap:var(--s20); justify-items:start; }
.web-split ul { margin:0; padding:0; list-style:none; display:grid; gap:var(--s12); }
.web-split li { padding-left:var(--s24); position:relative; }
.web-split li::before { content:'✓'; color:var(--orange); position:absolute; left:0; }
.web-split--reverse figure { order:2; }
.web-final { display:flex; align-items:center; justify-content:space-between; gap:var(--s32); padding:var(--s48); border-radius:var(--radius-card); background:var(--surface-photography); margin-block:var(--s48) var(--s80); }
.web-final > div { display:grid; gap:var(--s16); max-width:860px; }
.web-final > .button { flex-shrink:0; }
.web-faq { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:var(--s48); }
.web-faq details { border-bottom:1px solid var(--border); }
.web-faq summary { display:flex; justify-content:space-between; gap:var(--s20); cursor:pointer; padding-block:var(--s20); list-style:none; font-weight:var(--weight-bold); }
.web-faq summary::-webkit-details-marker { display:none; }
.web-faq summary::after { content:'+'; color:var(--orange); }
.web-faq details[open] summary::after { content:'−'; }
.web-faq details p { padding-bottom:var(--s24); }
.web-note { font-size:var(--caption-size); color:var(--muted); margin-top:var(--s20) !important; }
.web-filters { display:flex; flex-wrap:wrap; gap:var(--s8); }
.web-filters .is-active { background:var(--orange-soft); color:var(--orange); border-color:var(--orange); }
.web-gallery__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s24); margin-top:var(--s24); }
.web-result { border:1px solid var(--border); border-radius:var(--radius-card); overflow:hidden; min-width:0; }
.web-result[hidden] { display:none; }
.web-result__open { display:block; width:100%; padding:0; border:0; position:relative; background:var(--surface); cursor:pointer; }
.web-result__open picture,.web-result__open img { display:block; width:100%; }
.web-result__open img { aspect-ratio:1; object-fit:cover; transition:transform var(--transition); }
.web-result__open:hover img { transform:scale(1.025); }
.web-result__open > span { position:absolute; right:var(--s12); bottom:var(--s12); background:var(--white); border-radius:var(--radius-round); padding:var(--s6) var(--s12); font-size:var(--tiny-size); }
.web-result > div { display:grid; gap:var(--s10); padding:var(--s20); }
.web-result h2 { font-size:var(--section-small); letter-spacing:0; }
.web-result small { color:var(--muted); }
.web-result-preview { display:grid; gap:var(--s16); }
.web-result-preview img { width:100%; max-height:60vh; object-fit:contain; border-radius:var(--radius-control); background:var(--surface); }
.web-price-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:var(--s16); }
.web-price { display:flex; flex-direction:column; gap:var(--s16); padding:var(--s24); border:1px solid var(--border); border-radius:var(--radius-card); background:var(--white); }
.web-price:nth-child(3) { border-color:var(--orange); background:var(--orange-soft); }
.web-price h3 { font-size:var(--title-size); }
.web-price h3 small { display:block; font-size:var(--caption-size); color:var(--muted); font-weight:var(--weight-normal); }
.web-price > p { font-size:var(--caption-size); flex:1; }
.web-price > strong { font-size:var(--task-size); padding-top:var(--s16); border-top:1px solid var(--border); }
.web-price > small { color:var(--muted); font-size:var(--tiny-size); }
.web-price .button { margin-top:var(--s8); padding-inline:var(--s10); font-size:var(--caption-size); }
@media(max-width:1100px) {
 .web-hero { gap:var(--s32); }
 .web-price-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .web-card,.web-price { padding:var(--s20); }
}
@media(max-width:900px) {
 .web-hero,.web-split,.web-faq { grid-template-columns:1fr; }
 .web-hero { padding-top:var(--s48); }
 .web-hero__visual { max-width:720px; width:100%; }
 .web-hero img { aspect-ratio:4/3; }
 .web-split--reverse figure { order:0; }
 .web-card-grid,.web-product-grid,.web-gallery__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .web-final { flex-direction:column; align-items:flex-start; }
}
@media(max-width:540px) {
 .web-hero,.web-section,.web-final { width:calc(100% - 40px); }
 .web-hero { padding-block:var(--s36); gap:var(--s28); }
 .karat-web h1 { font-size:var(--section-size); letter-spacing:var(--tracking-heading); }
 .web-hero__copy > p { font-size:var(--body-size); }
 .web-section { padding-block:var(--s36); }
 .web-section__heading { margin-bottom:var(--s24); }
 .web-card-grid,.web-product-grid,.web-gallery__grid,.web-price-grid { grid-template-columns:1fr; }
 .web-split,.web-faq { gap:var(--s24); }
 .web-final { margin-block:var(--s32) var(--s48); padding:var(--s24); }
 .web-actions { width:100%; }
 .web-actions .button { width:100%; }
 .web-price { gap:var(--s12); }
}
/* END: MarketingSystem */

/* BEGIN: SectorIdentities */
.sector-retail { background:linear-gradient(var(--surface-photography),var(--white) 900px); }
.retail-hero { position:relative; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); }
.retail-mosaic { display:grid; grid-template-columns:1fr 1fr; gap:var(--s12); }
.retail-mosaic figure { margin:0; position:relative; border-radius:var(--radius-card); overflow:hidden; }
.retail-mosaic__store { grid-column:1 / -1; }
.retail-mosaic img,.retail-mosaic picture { display:block; width:100%; }
.retail-mosaic img { aspect-ratio:4/3; object-fit:cover; }
.retail-mosaic__store img { aspect-ratio:16/9; }
.retail-mosaic figcaption { position:absolute; left:var(--s12); bottom:var(--s12); padding:var(--s6) var(--s10); border-radius:var(--radius-control); font-size:var(--tiny-size); background:var(--white); }
.retail-hero__note { grid-column:2; font-size:var(--tiny-size); margin-top:calc(-1 * var(--s32)) !important; }
.retail-use-cases { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s24); }
.retail-use-cases article { overflow:hidden; border:1px solid var(--border); border-radius:var(--radius-card); background:var(--white); }
.retail-use-cases picture,.retail-use-cases img { width:100%; display:block; }
.retail-use-cases img { aspect-ratio:4/5; object-fit:cover; }
.retail-use-cases article > div { padding:var(--s24); display:grid; gap:var(--s12); }
.retail-day { display:grid; grid-template-columns:1fr 1fr; gap:var(--s64); align-items:center; }
.retail-day > div { display:grid; gap:var(--s24); justify-items:start; }
.retail-day ol { margin:0; padding-left:var(--s28); display:grid; gap:var(--s24); }
.retail-day li { padding-left:var(--s12); }
.retail-day li::marker { color:var(--orange); font-weight:var(--weight-bold); }
.retail-day li strong { display:block; font-size:var(--section-small); margin-bottom:var(--s8); }
.wholesale-hero { position:relative; background:var(--ink); color:var(--white); isolation:isolate; padding:var(--s80) max(48px,calc((100% - var(--page-max)) / 2)); min-height:680px; display:flex; align-items:center; }
.wholesale-hero > img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; }
.wholesale-hero::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(16,24,40,.92),rgba(16,24,40,.7) 38%,rgba(16,24,40,.08) 85%); }
.wholesale-hero__copy { display:grid; gap:var(--s24); max-width:650px; justify-items:start; }
.wholesale-hero h1 { color:var(--white); }
.wholesale-hero__copy p { color:var(--viewer-muted); max-width:520px; font-size:var(--subtitle-size); }
.wholesale-hero .web-actions > .button:not(.button--primary) { background:transparent; border-color:var(--viewer-toolbar-border); color:var(--white); }
.wholesale-hero .web-eyebrow { color:var(--white); }
.wholesale-hero > small { position:absolute; bottom:var(--s16); right:var(--s24); color:var(--white); font-size:var(--tiny-size); }
.wholesale-system__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid var(--border); }
.wholesale-system__grid article { padding:var(--s32); display:grid; gap:var(--s16); border-right:1px solid var(--border); }
.wholesale-system__grid article:first-child { padding-left:0; }
.wholesale-system__grid article:last-child { border:0; }
.wholesale-system__grid article > span { color:var(--muted); font-size:var(--caption-size); }
.wholesale-catalog { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:var(--s48); }
.wholesale-catalog > div:first-child { display:grid; gap:var(--s24); justify-items:start; }
.wholesale-catalog__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s16); }
.wholesale-catalog__grid figure { margin:0; overflow:hidden; border:1px solid var(--border); border-radius:var(--radius-control); }
.wholesale-catalog__grid img { width:100%; aspect-ratio:4/3; object-fit:contain; background:var(--surface); }
.wholesale-catalog__grid figcaption { padding:var(--s12); display:grid; gap:var(--s6); }
.wholesale-catalog__grid figcaption span { font-size:var(--tiny-size); color:var(--muted); }
.wholesale-catalog__grid strong { font-size:var(--caption-size); }
.wholesale-flow ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--s24); padding:0; margin:0; list-style:none; }
.wholesale-flow li { border-top:2px solid var(--orange); padding-top:var(--s20); display:grid; gap:var(--s16); }
.wholesale-flow li > span { color:var(--orange); font-size:var(--caption-size); }
.wholesale-flow strong { font-size:var(--section-small); }
.wholesale-team { display:grid; grid-template-columns:1fr 1fr; gap:var(--s48); align-items:center; }
.wholesale-team > div { display:grid; gap:var(--s24); justify-items:start; }
.wholesale-team img,.wholesale-team picture { display:block; width:100%; }
.wholesale-team img { border:1px solid var(--border); border-radius:var(--radius-card); }
@media(max-width:900px) {
 .retail-hero,.retail-day,.wholesale-catalog,.wholesale-team { grid-template-columns:1fr; }
 .retail-hero__note { grid-column:1; margin-top:0 !important; }
 .wholesale-hero { min-height:620px; padding-inline:48px; }
 .wholesale-flow ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .wholesale-system__grid article { padding:var(--s24); }
}
@media(max-width:540px) {
 .retail-use-cases,.wholesale-system__grid,.wholesale-flow ol { grid-template-columns:1fr; }
 .retail-day { gap:var(--s32); }
 .retail-mosaic figcaption { left:var(--s8); bottom:var(--s8); padding:var(--s4) var(--s6); }
 .wholesale-hero { padding:var(--s48) var(--s20) var(--s64); min-height:640px; }
 .wholesale-hero::before { background:linear-gradient(90deg,rgba(16,24,40,.9),rgba(16,24,40,.6)); }
 .wholesale-hero__copy p { font-size:var(--body-size); }
 .wholesale-hero > small { left:var(--s20); right:var(--s20); }
 .wholesale-system__grid article { padding:var(--s24) 0; border-right:0; border-bottom:1px solid var(--border); }
 .wholesale-catalog__grid { gap:var(--s10); }
}
/* END: SectorIdentities */

/* BEGIN: CaptureBenefits / CaptureFlow */
.capture-benefits { display:grid; grid-template-columns:1fr 1fr; gap:var(--s64); align-items:center; }
.capture-benefits__intro { display:grid; gap:var(--s24); justify-items:start; }
.capture-benefits__list { margin:0; padding:0; list-style:none; }
.capture-benefits__list li { position:relative; padding:var(--s24) 0 var(--s24) var(--s48); border-bottom:1px solid var(--border); }
.capture-benefits__list li:first-child { padding-top:0; }
.capture-benefits__list li:last-child { border-bottom:0; padding-bottom:0; }
.capture-benefits__list li::before { content:'✓'; position:absolute; left:0; color:var(--orange); font-size:var(--task-size); font-weight:var(--weight-bold); }
.capture-benefits__list h3 { margin-bottom:var(--s8); }
.capture-flow { border-top:1px solid var(--border); }
.capture-flow__steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s32); list-style:none; padding:0; margin:0; }
.capture-flow__steps li { position:relative; display:grid; align-content:start; gap:var(--s16); padding-top:var(--s24); border-top:1px solid var(--border); }
.capture-flow__number { display:grid; place-items:center; width:var(--s48); height:var(--s48); border-radius:var(--radius-round); background:var(--orange-soft); color:var(--orange); font-weight:var(--weight-bold); }
@media(max-width:900px) {
 .capture-benefits { grid-template-columns:1fr; gap:var(--s32); }
}
@media(max-width:540px) {
 .capture-flow__steps { grid-template-columns:1fr; gap:var(--s24); }
 .capture-flow__steps li { grid-template-columns:var(--s48) minmax(0,1fr); column-gap:var(--s16); }
 .capture-flow__number { grid-row:1 / 3; }
 .capture-flow__steps p { grid-column:2; }
}
/* END: CaptureBenefits / CaptureFlow */

/* BEGIN: PublicSectionVariants */
.web-process { border-top:1px solid var(--border); }
.web-process__steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s32); list-style:none; padding:0; margin:0; }
.web-process__steps li { display:grid; gap:var(--s16); align-content:start; border-top:1px solid var(--border); padding-top:var(--s24); }
.web-process__steps .web-step { display:grid; place-items:center; width:var(--s48); height:var(--s48); border-radius:var(--radius-round); background:var(--orange-soft); }
.web-process--split { display:grid; grid-template-columns:1fr 1fr; gap:var(--s64); align-items:start; }
.web-process--split .web-process__steps { grid-template-columns:1fr; gap:var(--s24); }
.web-process--split .web-process__steps li { grid-template-columns:var(--s48) minmax(0,1fr); column-gap:var(--s20); }
.web-process--split .web-step { grid-row:1 / 3; }
.web-process--split .web-process__steps p { grid-column:2; }
.web-sector-links { border-top:1px solid var(--border); }
.web-sector-links__item { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto; gap:var(--s32); align-items:center; color:var(--ink); text-decoration:none; padding:var(--s28) var(--s16); border-bottom:1px solid var(--border); transition:background var(--transition); }
.web-sector-links__item:hover { background:var(--orange-soft); }
.web-sector-links__item .web-link { padding:0; margin:0; }
.web-feature-lines { border-top:1px solid var(--border); }
.web-feature-lines__item { display:grid; grid-template-columns:var(--s48) minmax(0,1fr) minmax(0,1.5fr); align-items:baseline; gap:var(--s32); padding-block:var(--s28); border-bottom:1px solid var(--border); }
.web-service-list { border-top:1px solid var(--border); }
.web-service-list__item { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr) auto; column-gap:var(--s32); row-gap:var(--s12); padding-block:var(--s28); border-bottom:1px solid var(--border); align-items:start; }
.web-service-list__item > .web-eyebrow { grid-column:1 / -1; }
.web-service-list__item .web-link { padding:0; margin:0; }
@media(max-width:900px) {
 .web-process--split { grid-template-columns:1fr; gap:var(--s8); }
 .web-sector-links__item { grid-template-columns:1fr 1.4fr; gap:var(--s16); }
 .web-sector-links__item .web-link { grid-column:2; }
 .web-service-list__item { grid-template-columns:1fr 1.4fr; }
 .web-service-list__item .web-link { grid-column:2; }
}
@media(max-width:540px) {
 .web-process__steps { grid-template-columns:1fr; gap:var(--s24); }
 .web-process__steps li { grid-template-columns:var(--s48) minmax(0,1fr); column-gap:var(--s16); }
 .web-process__steps .web-step { grid-row:1 / 3; }
 .web-process__steps p { grid-column:2; }
 .web-sector-links__item,.web-service-list__item { grid-template-columns:1fr; padding-block:var(--s24); gap:var(--s12); }
 .web-sector-links__item .web-link,.web-service-list__item .web-link { grid-column:1; }
 .web-feature-lines__item { grid-template-columns:var(--s32) minmax(0,1fr); gap:var(--s12); }
 .web-feature-lines__item > p { grid-column:2; }
}
/* END: PublicSectionVariants */
