:root {
  --malva: #a08a9b;
  --arcilla: #cdb6ae;
  --perla: #f4f1ec;
  --oscuro: #2b2a28;
  --blanco: #fff;
  --linea: rgba(43, 42, 40, .14);
  --shadow-soft: 0 14px 38px rgba(43, 42, 40, .08), 0 2px 7px rgba(43, 42, 40, .05);
  --shadow-raised: 0 18px 42px rgba(43, 42, 40, .14), 0 3px 9px rgba(43, 42, 40, .08);
  --shadow-action: 0 10px 24px rgba(105, 84, 100, .24), inset 0 1px 0 rgba(255,255,255,.28);
  --serif: "Playfair Display", Georgia, serif;
  --sans: "Jost", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 150px; }
body { margin: 0; color: var(--oscuro); background: var(--perla); font-family: var(--sans); line-height: 1.55; }
a { color: inherit; }
img { display: block; max-width: 100%; }
.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 20; background: var(--oscuro); color: white; padding: .7rem 1rem; }
.skip-link:focus { top: 1rem; }
.announcement { padding: .55rem 1rem; background: var(--oscuro); color: var(--blanco); text-align: center; font-size: .77rem; letter-spacing: .08em; text-transform: uppercase; }
.site-header { min-height: 126px; padding: .8rem clamp(1.2rem, 4vw, 4.5rem); display: grid; grid-template-columns: 180px 1fr 120px; align-items: center; gap: 2rem; border-bottom: 2px solid var(--malva); background: rgba(244,241,236,.96); position: sticky; top: 0; z-index: 10; backdrop-filter: blur(14px); box-shadow: 0 8px 24px rgba(43,42,40,.07); }
.brand { width: 148px; height: 104px; display: grid; place-items: center; }
.brand img { width: 100%; height: 100%; object-fit: contain; object-position: center; transform: translateY(-20px); filter: brightness(.76) contrast(1.08) saturate(1.08); }
nav { display: flex; justify-content: center; gap: clamp(1.6rem, 3.4vw, 3.4rem); }
nav a { position: relative; padding: .7rem 0; text-decoration: none; font-size: 1rem; font-weight: 500; letter-spacing: .025em; }
nav a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: .42rem; height: 1px; background: var(--malva); transition: left .2s ease, right .2s ease; }
nav a:hover { color: var(--malva); }
nav a:hover::after, nav a:focus-visible::after { left: 0; right: 0; }
nav a[aria-current="page"] { color: #735e6e; }
nav a[aria-current="page"]::after { left: 0; right: 0; }
.language-switcher { display: inline-flex; align-items: center; font-size: .84rem; font-weight: 600; letter-spacing: .06em; }
.language-switcher a { padding-inline: .2rem; }
.language-switcher ul { display: flex; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.footer-links span { color: #746d70; font-size: .9rem; }
.cart-button, .menu-button { border: 0; background: none; font: inherit; cursor: pointer; }
.cart-button { display: inline-flex; align-items: center; justify-content: flex-end; gap: .52rem; color: #574f53; font-size: .92rem; font-weight: 500; letter-spacing: .015em; }
.cart-icon { position: relative; flex: 0 0 18px; width: 18px; height: 17px; display: inline-block; margin: 0; padding: 0; border: 1.5px solid currentColor; border-radius: 2px 2px 3px 3px; background: transparent; color: currentColor; box-shadow: 0 3px 7px rgba(43,42,40,.1); }
.cart-icon::before { content: ""; position: absolute; left: 4px; top: -6px; width: 7px; height: 7px; border: 1.5px solid currentColor; border-bottom: 0; border-radius: 7px 7px 0 0; }
.cart-button:hover { color: var(--malva); }
.cart-button:disabled { cursor: not-allowed; opacity: .72; }
.cart-button > span:not(.cart-icon) { margin-left: .05rem; background: var(--malva); color: white; border-radius: 50%; padding: .05rem .38rem; font-size: .72rem; }
.menu-button { display: none; }
.cart-preview { position: fixed; right: clamp(1rem,4vw,4.5rem); top: 145px; z-index: 24; width: min(340px,calc(100vw - 2rem)); padding: 1.4rem; border: 1px solid rgba(43,42,40,.1); background: rgba(255,255,255,.98); box-shadow: var(--shadow-raised); }
.cart-preview strong { font: 500 1.25rem/1.25 var(--serif); }
.cart-preview p { color: #675f62; font-size: .88rem; }
.cart-preview a { color: #735e6e; font-size: .85rem; font-weight: 500; }
.hero { min-height: 760px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2rem, 6vw, 7rem); padding: clamp(3rem, 7vw, 7rem); }
.hero-photo { position: relative; isolation: isolate; min-height: min(790px, calc(100vh - 156px)); overflow: hidden; background: #e8ded5 url("assets/kaitlany-hero-soaps-v1.png") center / cover no-repeat; }
.hero-photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(247,243,237,.96) 0%, rgba(247,243,237,.90) 31%, rgba(247,243,237,.48) 51%, rgba(247,243,237,.08) 69%, rgba(247,243,237,0) 100%); }
.hero-photo::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; box-shadow: inset 0 -110px 120px -120px rgba(43,42,40,.48); }
.hero-copy { max-width: 650px; position: relative; z-index: 1; }
.hero-photo .hero-copy { padding: clamp(1.5rem,3vw,2.6rem); margin-left: clamp(-1.5rem,-2vw,-.5rem); border: 1px solid rgba(255,255,255,.42); background: linear-gradient(135deg,rgba(255,255,255,.38),rgba(255,255,255,.12)); backdrop-filter: blur(3px); box-shadow: 0 22px 54px rgba(43,42,40,.08); }
.hero-note { position: absolute; right: clamp(1rem,3vw,3rem); bottom: 1rem; z-index: 1; margin: 0; color: rgba(43,42,40,.68); font-size: .72rem; letter-spacing: .04em; }
.eyebrow { color: var(--malva); text-transform: uppercase; letter-spacing: .16em; font-size: .75rem; font-weight: 600; }
h1, h2 { font-family: var(--serif); font-weight: 500; line-height: 1.08; margin: .5rem 0 1.5rem; }
h1 { font-size: clamp(3rem, 6vw, 6.6rem); letter-spacing: -.045em; }
h1 em { color: var(--malva); font-weight: 500; }
h2 { font-size: clamp(2.4rem, 4.2vw, 4.4rem); letter-spacing: -.035em; }
.hero-copy > p:not(.eyebrow), .section-heading > p:not(.eyebrow), .story-copy p { font-size: 1.1rem; max-width: 600px; color: #5d575a; }
.actions { display: flex; gap: .9rem; margin-top: 2.2rem; flex-wrap: wrap; }
.button { padding: 1rem 1.5rem; text-decoration: none; border: 1px solid var(--malva); border-radius: 3px; font-weight: 500; letter-spacing: .02em; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button.primary { color: white; background: linear-gradient(180deg, #aa94a5 0%, #927b8d 100%); box-shadow: var(--shadow-action); }
.button.secondary { color: #735e6e; background: rgba(255,255,255,.54); box-shadow: 0 8px 20px rgba(43,42,40,.07), inset 0 1px 0 rgba(255,255,255,.7); }
.button:hover { transform: translateY(-3px); box-shadow: var(--shadow-raised); }
.button:active { transform: translateY(0); box-shadow: 0 4px 10px rgba(43,42,40,.12); }
.button:focus-visible, nav a:focus-visible, .chat-launch:focus-visible, .chat-close:focus-visible { outline: 3px solid #51414d; outline-offset: 4px; }
.hero-visual { margin: 0; }
.hero-visual img { width: 100%; max-height: 640px; object-fit: cover; border-radius: 50% 50% 1rem 1rem; box-shadow: var(--shadow-raised); }
figcaption { margin-top: .7rem; color: #766f72; font-size: .75rem; text-align: center; }
.value-strip { display: grid; grid-template-columns: repeat(3, 1fr); color: var(--perla); background: var(--oscuro); border-block: 1px solid var(--oscuro); }
.value-strip span { padding: 1.35rem; text-align: center; text-transform: uppercase; letter-spacing: .15em; font-size: .73rem; }
.value-strip span + span { border-left: 1px solid rgba(205,182,174,.36); }
.section { padding: clamp(4.5rem, 8vw, 8rem) clamp(1.2rem, 7vw, 7rem); }
.section-heading { max-width: 780px; margin-bottom: 3.2rem; }
.section-heading::before { content: ""; display: block; width: 52px; height: 3px; margin-bottom: 1.4rem; background: linear-gradient(90deg,var(--oscuro) 0 58%,var(--arcilla) 58%); }
.section-heading.centered { margin-inline: auto; text-align: center; }
.section-heading.centered::before { margin-inline: auto; }
.rituals { background: var(--blanco); }
.ritual-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--linea); box-shadow: var(--shadow-soft); }
.ritual-card { min-height: 390px; padding: 2rem; display: flex; flex-direction: column; justify-content: flex-end; background: var(--perla); position: relative; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.ritual-card:hover { z-index: 1; transform: translateY(-4px); box-shadow: var(--shadow-raised); }
.ritual-card::before { content: ""; position: absolute; width: 220px; height: 220px; border: 1px solid rgba(43,42,40,.12); border-radius: 50%; top: -65px; right: -55px; }
.ritual-card > * { position: relative; }
.ritual-card > span:first-child { margin-bottom: auto; color: rgba(43,42,40,.55); font-size: .8rem; }
.ritual-card h3 { font: 500 clamp(2rem, 3vw, 3.4rem)/1 var(--serif); margin: 0 0 .8rem; }
.ritual-card p { max-width: 280px; color: #5d575a; }
.ritual-calm { background: #e9dfdf; }
.ritual-renew { background: #d7c2ba; }
.ritual-gift { background: #9b8898; color: white; }
.ritual-gift p, .ritual-gift > span { color: rgba(255,255,255,.8); }
.pending-link { font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; opacity: .72; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.product-card { background: var(--blanco); padding: 1rem 1rem 1.4rem; box-shadow: var(--shadow-soft); transition: transform .25s ease, box-shadow .25s ease; }
.product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-raised); }
.placeholder { aspect-ratio: 4/5; display: grid; place-items: center; background: linear-gradient(145deg, var(--perla), var(--arcilla)); color: var(--oscuro); }
.placeholder.alternate { background: linear-gradient(145deg, #e9e0dd, var(--malva)); color: white; }
.placeholder.dark { background: linear-gradient(145deg, #61585f, var(--oscuro)); color: white; }
.placeholder span { font-family: var(--serif); font-size: 1.5rem; opacity: .78; }
.product-card h3 { margin: 1.2rem 0 .2rem; font-family: var(--serif); font-size: 1.5rem; }
.product-card p { margin: 0 0 1rem; color: #746d70; }
.product-card button { width: 100%; border: 0; padding: .9rem; background: #d9d1d4; color: #6c6568; font: inherit; }
.catalog-note { max-width: 720px; margin: 2rem 0 0; color: #746d70; font-size: .9rem; }
.ingredient-feature { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 7vw, 7rem); align-items: center; background: linear-gradient(115deg,#eadfdb 0%,#d8c3bb 100%); }
.ingredient-art { aspect-ratio: 1; border-radius: 50% 50% 8% 50%; background: radial-gradient(circle at 35% 30%, #f7f2ed 0 12%, transparent 13%), linear-gradient(145deg,#a08a9b,#554b52); display: grid; place-items: center; box-shadow: var(--shadow-raised); }
.ingredient-art img { width: 42%; max-height: 52%; object-fit: contain; filter: brightness(0) invert(1); opacity: .82; }
.ingredient-visual { margin: 0; }
.ingredient-visual img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 2px; box-shadow: var(--shadow-raised); }
.ingredient-visual figcaption { color: #625b5e; text-align: left; }
.ingredient-copy { max-width: 680px; }
.ingredient-copy > p:not(.eyebrow) { font-size: 1.1rem; color: #514a4d; }
.ingredient-points { display: grid; grid-template-columns: 1fr 1fr; margin: 2rem 0; border-top: 1px solid rgba(43,42,40,.18); }
.ingredient-points span { padding: 1rem 0; border-bottom: 1px solid rgba(43,42,40,.18); }
.story { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 8rem); align-items: center; background: white; }
.story-image img { max-height: 650px; width: 100%; object-fit: cover; box-shadow: var(--shadow-soft); }
.text-link { display: inline-block; margin-top: 1rem; color: var(--malva); text-decoration: none; border-bottom: 1px solid currentColor; }
.philosophy { color: var(--oscuro); background: linear-gradient(135deg,rgba(205,182,174,.32),rgba(244,241,236,.92)); border-block: 1px solid rgba(160,138,155,.24); }
.philosophy .eyebrow, .philosophy .principles span { color: var(--malva); }
.philosophy .section-heading > p:not(.eyebrow) { color: #5d575a; }
.philosophy .section-heading::before { background: linear-gradient(90deg,var(--oscuro) 0 58%,var(--arcilla) 58%); }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(43,42,40,.12); }
.principles article { color: var(--oscuro); background: var(--perla); padding: 2.2rem; min-height: 230px; }
.principles span { color: var(--arcilla); font-size: .8rem; }
.principles h3 { font-family: var(--serif); font-size: 1.7rem; margin: 1.8rem 0 .6rem; }
.service-section { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; padding-block: 0; background: var(--linea); }
.service-section article { padding: 2.2rem; background: var(--oscuro); color: white; min-height: 240px; }
.service-section span { color: var(--arcilla); font-size: .75rem; }
.service-section h3 { font: 500 1.5rem/1.2 var(--serif); margin: 3rem 0 .7rem; }
.service-section p { color: rgba(255,255,255,.72); font-size: .9rem; }
.newsletter { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 4rem; color: var(--oscuro); background: linear-gradient(110deg,rgba(205,182,174,.72),rgba(244,241,236,.9)); border-top: 3px solid var(--malva); }
.newsletter .eyebrow { color: var(--malva); }
.newsletter .section-heading::before { background: linear-gradient(90deg,var(--oscuro) 0 58%,var(--arcilla) 58%); }
.newsletter .section-heading > p:not(.eyebrow), .newsletter .form-disclaimer, .newsletter .form-status { color: #5d575a; }
.newsletter form label { display: block; margin-bottom: .5rem; font-size: .85rem; }
.form-row { display: grid; grid-template-columns: 1fr 140px; }
.form-row input { min-width: 0; padding: 1rem; border: 1px solid var(--linea); font: inherit; background: white; }
.form-row button, .contact-form button, .chat-form button { border: 1px solid #806b7a; padding: .95rem 1.2rem; color: white; background: linear-gradient(180deg,#a892a3,#887281); box-shadow: var(--shadow-action); font: 500 .92rem/1.2 var(--sans); cursor: pointer; }
.form-row input:focus, .contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus, .chat-form input:focus, .chat-form textarea:focus { outline: 3px solid rgba(160,138,155,.28); outline-offset: 1px; border-color: var(--malva); }
.form-disclaimer, .form-status { margin: .7rem 0 0; color: #746d70; font-size: .78rem; }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.consent-field { display: flex !important; align-items: flex-start; gap: .55rem; margin-top: .8rem; color: #625b5e; font-size: .78rem !important; line-height: 1.45; }
.consent-field input { flex: 0 0 auto; width: 1rem !important; height: 1rem; margin-top: .1rem; }
.consent-field a { color: #735e6e; }
.form-status:not(:empty) { padding: .75rem; border-left: 2px solid var(--malva); background: rgba(255,255,255,.5); }
.contact-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2.5rem,7vw,7rem); align-items: start; background: #e8ddda; }
.contact-form { display: grid; gap: .55rem; padding: clamp(1.4rem,3vw,2.5rem); background: white; box-shadow: var(--shadow-soft); }
.contact-form label { font-size: .82rem; font-weight: 500; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; padding: .85rem; border: 1px solid var(--linea); background: #fff; font: inherit; }
footer { padding: 1.75rem clamp(1.2rem, 9vw, 9rem) 1.25rem; border-top: 3px solid var(--oscuro); display: grid; grid-template-columns: 1.35fr repeat(4,1fr); column-gap: 1.8rem; row-gap: .7rem; align-items: start; color: var(--oscuro); background: linear-gradient(115deg,rgba(205,182,174,.5),rgba(244,241,236,.96)); }
footer img { width: 184px; height: 122px; object-fit: contain; object-position: top center; filter: brightness(.68) contrast(1.12) saturate(1.08); }
.footer-brand p { max-width: 230px; margin: -.25rem 0 0; color: #5d575a; }
.footer-column { display: flex; flex-direction: column; gap: .34rem; }
.footer-column h3 { margin: 0 0 .38rem; font: 500 1rem/1.2 var(--serif); }
.footer-column span, .footer-column a { color: #675f62; font-size: .88rem; line-height: 1.4; text-decoration: none; }
.footer-column a:hover { color: var(--malva); }
.copyright { grid-column: 1/-1; margin: .15rem 0 0; padding-top: .72rem; border-top: 1px solid rgba(43,42,40,.14); font-size: .72rem; color: #746d70; }
.page-hero { position: relative; min-height: 350px; display: grid; place-items: center; padding: clamp(3.5rem,7vw,6rem) 1.2rem; overflow: hidden; text-align: center; color: var(--oscuro); background: linear-gradient(145deg,var(--perla),rgba(205,182,174,.44)); border-bottom: 3px solid var(--malva); }
.page-hero::after { content: ""; position: absolute; width: 340px; height: 340px; right: -190px; bottom: -245px; border: 1px solid rgba(160,138,155,.2); border-radius: 50%; }
.page-hero .inner { max-width: 850px; }
.page-hero h1 { font-size: clamp(3rem,6vw,5.8rem); }
.page-hero .eyebrow { color: var(--malva); }
.page-hero p:not(.eyebrow) { max-width: 650px; margin-inline: auto; color: #5d575a; font-size: 1.08rem; }
.shop-hero { min-height: 520px; color: var(--oscuro); background: linear-gradient(90deg,rgba(244,241,236,.96) 0%,rgba(244,241,236,.83) 42%,rgba(244,241,236,.24) 70%),url("assets/kaitlany-hero-soaps-v1.png") 70% 52% / cover no-repeat; }
.shop-hero .inner { margin-right: auto; margin-left: clamp(1rem,8vw,8rem); text-align: left; }
.shop-hero p:not(.eyebrow) { margin-inline: 0; }
.ingredients-hero { min-height: 610px; place-items: center start; padding-inline: clamp(1.2rem,8vw,8rem); text-align: left; color: var(--oscuro); background: linear-gradient(90deg,rgba(244,241,236,.97) 0%,rgba(244,241,236,.88) 38%,rgba(244,241,236,.28) 65%,rgba(244,241,236,.08) 100%),url("assets/kaitlany-ingredientes-lavanda-v1.png") 62% 50% / cover no-repeat; }
.ingredients-hero .inner { max-width: 620px; padding: clamp(1.2rem,3vw,2rem); background: rgba(244,241,236,.32); backdrop-filter: blur(2px); }
.ingredients-hero p:not(.eyebrow) { margin-inline: 0; }
.help-hero { min-height: 265px; padding-block: clamp(2.2rem,4vw,3.2rem); }
.help-hero h1 { font-size: clamp(2.8rem,4.6vw,4.25rem); margin-bottom: 1rem; }
.page-editorial-visual { margin-block: clamp(2rem,5vw,4.5rem) 0; }
.page-editorial-visual img { width: 100%; max-height: 720px; object-fit: cover; border-radius: 2px; box-shadow: var(--shadow-raised); }
.page-editorial-visual figcaption { text-align: right; padding-right: .25rem; }
.content-shell { max-width: 1180px; margin-inline: auto; }
.editorial-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2.5rem,8vw,8rem); align-items: start; }
.editorial-grid + .editorial-grid { margin-top: clamp(5rem,9vw,9rem); }
.editorial-sticky { position: sticky; top: 165px; }
.editorial-body { max-width: 700px; }
.editorial-body h2 { font-size: clamp(2.3rem,4vw,4rem); }
.editorial-body h3 { margin: 2.4rem 0 .6rem; font: 500 1.55rem/1.25 var(--serif); }
.editorial-body p, .editorial-body li { color: #5d575a; font-size: 1.02rem; }
.editorial-body ul { padding-left: 1.15rem; }
.manifesto { padding: clamp(4rem,8vw,7rem); background: var(--oscuro); color: white; text-align: center; }
.manifesto blockquote { max-width: 980px; margin: 0 auto; font: 500 clamp(2.2rem,5vw,5rem)/1.12 var(--serif); }
.manifesto p { color: rgba(255,255,255,.68); }
.story-chapters { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--linea); box-shadow: var(--shadow-soft); }
.story-chapters article { min-height: 280px; padding: 2.2rem; color: var(--oscuro); background: white; }
.story-chapters span { color: var(--malva); font-size: .78rem; }
.story-chapters h2 { font-size: 2rem; margin-top: 2.2rem; }
.story-chapters p { color: #675f62; }
.transparency-list { display: grid; gap: 1rem; }
.transparency-list article { padding: 1.6rem; color: var(--oscuro); background: white; border-left: 3px solid var(--arcilla); box-shadow: 0 7px 22px rgba(43,42,40,.08); }
.transparency-list h3 { margin: 0 0 .35rem; font: 500 1.35rem/1.25 var(--serif); }
.transparency-list p { margin: 0; color: #675f62; }
.notice-box { padding: 1.5rem; border: 1px solid rgba(43,42,40,.14); background: rgba(255,255,255,.48); color: #5d575a; }
.faq-list { max-width: 900px; margin: 0 auto; border-top: 1px solid var(--linea); }
.faq-list details { border-bottom: 1px solid var(--linea); padding: 1.25rem 0; }
.faq-list summary { list-style: none; display: flex; justify-content: space-between; gap: 1rem; cursor: pointer; font: 500 1.3rem/1.3 var(--serif); }
.faq-list summary::after { content: "+"; color: var(--malva); }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 760px; color: #675f62; }
.shop-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: end; }
.shop-intro p { color: #675f62; }
.breadcrumb { padding: 1rem clamp(1.2rem,4vw,4.5rem); font-size: .95rem; font-weight: 500; letter-spacing: .015em; color: #625b5e; background: rgba(205,182,174,.18); border-bottom: 1px solid rgba(160,138,155,.34); }
.breadcrumb a { text-decoration: none; }
.journal-preview { background: white; }
.journal-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; }
.journal-grid article { min-height: 320px; padding: 2rem; display: flex; flex-direction: column; background: linear-gradient(155deg,#f7f4f0,#eee5e3); box-shadow: var(--shadow-soft); }
.journal-grid article:nth-child(2) { background: linear-gradient(155deg,#eadfdd,#d6c0b8); }
.journal-grid article:nth-child(3) { background: linear-gradient(155deg,#b19cab,#8d7888); color: white; }
.journal-grid span, .journal-grid small { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; opacity: .72; }
.journal-grid h3 { margin: 3.6rem 0 1rem; font: 500 1.8rem/1.16 var(--serif); }
.journal-grid p { color: inherit; opacity: .78; }
.journal-grid small { margin-top: auto; }
.chat-launch { position: fixed; right: clamp(1rem, 2.5vw, 2rem); bottom: clamp(1rem, 2.5vw, 2rem); z-index: 30; display: flex; align-items: center; gap: .7rem; min-height: 54px; padding: .8rem 1.05rem; border: 1px solid rgba(255,255,255,.32); border-radius: 3px; color: white; background: linear-gradient(180deg, #3b3739, #282628); box-shadow: 0 16px 34px rgba(43,42,40,.28), inset 0 1px 0 rgba(255,255,255,.13); font: 500 .9rem/1 var(--sans); cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.chat-launch:hover { transform: translateY(-3px); box-shadow: 0 20px 42px rgba(43,42,40,.34), inset 0 1px 0 rgba(255,255,255,.15); }
.chat-icon { width: 20px; height: 16px; border: 1.5px solid currentColor; border-radius: 8px; position: relative; }
.chat-icon::after { content: ""; position: absolute; left: 3px; bottom: -4px; width: 6px; height: 6px; border-left: 1.5px solid currentColor; transform: skewY(-35deg); }
.chat-panel { position: fixed; right: clamp(1rem, 2.5vw, 2rem); bottom: 5.9rem; z-index: 31; width: min(390px, calc(100vw - 2rem)); max-height: calc(100vh - 8rem); overflow-y: auto; padding: 2rem; border: 1px solid rgba(43,42,40,.1); border-radius: 5px; background: rgba(255,255,255,.98); box-shadow: 0 26px 70px rgba(43,42,40,.24); }
.chat-panel h2 { margin: .35rem 0 1rem; font-size: 2.1rem; }
.chat-panel > p:not(.eyebrow) { color: #625b5e; font-size: .92rem; }
.chat-close { position: absolute; right: .8rem; top: .65rem; border: 0; background: none; color: #625b5e; font: 300 1.6rem/1 var(--sans); cursor: pointer; }
.chat-pending { width: 100%; margin-top: .8rem; padding: .9rem; border: 0; border-radius: 3px; background: #e4dde0; color: #6c6568; font: 500 .85rem/1.2 var(--sans); }
.chat-form { display: grid; gap: .45rem; }
.chat-form label { font-size: .78rem; font-weight: 500; }
.chat-form input, .chat-form textarea { width: 100%; padding: .75rem; border: 1px solid var(--linea); font: inherit; resize: vertical; }
.commerce-shell { min-height: 60vh; background: var(--perla); }
.commerce-heading { padding: clamp(4rem,7vw,7rem) clamp(1.2rem,8vw,8rem); text-align: center; background: linear-gradient(145deg,var(--perla),rgba(205,182,174,.4)); border-bottom: 3px solid var(--malva); }
.commerce-heading h1 { font-size: clamp(3rem,6vw,5.6rem); }
.commerce-heading .term-description { max-width: 680px; margin-inline: auto; color: #5d575a; }
.compact-heading { padding-block: clamp(2.8rem,5vw,4.5rem); }
.commerce-content { max-width: 1280px; margin-inline: auto; padding: clamp(3rem,6vw,6rem) clamp(1.2rem,4vw,3rem); }
.woocommerce .products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto; margin: 0; padding: 1rem 1rem 1.4rem; background: white; box-shadow: var(--shadow-soft); }
.woocommerce ul.products li.product img { margin-bottom: 1.2rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font: 500 1.55rem/1.2 var(--serif); color: var(--oscuro); }
.woocommerce ul.products li.product .price { color: #735e6e; font-weight: 500; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wc-block-components-button { border: 1px solid #806b7a; border-radius: 3px; color: white; background: linear-gradient(180deg,#a892a3,#887281); box-shadow: var(--shadow-action); font-family: var(--sans); }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { color: white; background: #806b7a; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--malva); background: white; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--malva); }
.woocommerce-cart-form, .cart_totals, .woocommerce-checkout, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content, .wp-page-content { padding: clamp(1.2rem,3vw,2.2rem); background: white; box-shadow: var(--shadow-soft); }
.kaitlany-product-transparency { clear: both; margin-top: 3rem; padding: clamp(1.4rem,3vw,2.5rem); border-top: 3px solid var(--malva); background: white; box-shadow: var(--shadow-soft); }
.kaitlany-product-transparency details { padding: 1rem 0; border-bottom: 1px solid var(--linea); }
.kaitlany-product-transparency summary { cursor: pointer; font-weight: 600; }
.kaitlany-product-transparency p { color: #5d575a; line-height: 1.65; }
@media (max-width: 860px) { .woocommerce .products { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .woocommerce .products { grid-template-columns: 1fr; } }
@media (max-width: 860px) {
  .site-header { min-height: 106px; grid-template-columns: 1fr auto auto; }
  .menu-button { display: block; }
  nav { display: none; position: absolute; top: 100%; inset-inline: 0; padding: 1.4rem; background: var(--perla); border-bottom: 1px solid var(--linea); flex-direction: column; text-align: center; }
  nav.open { display: flex; }
  .language-switcher { justify-content: center; }
  .hero, .story, .newsletter, .ingredient-feature { grid-template-columns: 1fr; }
  .contact-section { grid-template-columns: 1fr; }
  .editorial-grid, .shop-intro { grid-template-columns: 1fr; }
  .editorial-sticky { position: static; }
  .hero { padding-top: 4rem; }
  .hero-photo { min-height: 720px; align-items: end; padding-bottom: 4.6rem; background-position: 64% center; }
  .hero-photo::before { background: linear-gradient(180deg,rgba(247,243,237,.26) 0%,rgba(247,243,237,.42) 38%,rgba(247,243,237,.96) 73%,rgba(247,243,237,.99) 100%); }
  .hero-photo .hero-copy { max-width: 680px; margin: 0; backdrop-filter: blur(5px); }
  .product-grid, .principles, .ritual-grid, .service-section { grid-template-columns: 1fr; }
  .story-chapters { grid-template-columns: 1fr; }
  .journal-grid { grid-template-columns: 1fr; }
  .value-strip { grid-template-columns: 1fr; }
  .value-strip span + span { border-left: 0; border-top: 1px solid var(--linea); }
  footer { grid-template-columns: 1fr 1fr; }
  .footer-brand, .copyright { grid-column: 1/-1; }
  .footer-column a { padding-block: .18rem; }
}
@media (max-width: 520px) {
  .site-header { min-height: 96px; padding: .45rem 1rem; gap: .5rem; }
  .brand { width: 102px; height: 82px; }
  .brand img { transform: translateY(-12px); }
  .cart-button { font-size: 0; }
  .cart-button > span:not(.cart-icon) { font-size: .72rem; }
  .hero { min-height: auto; padding-inline: 1.2rem; }
  .hero-photo { min-height: 760px; padding-top: 23rem; padding-bottom: 3.5rem; background-size: auto 560px; background-position: 72% top; }
  .hero-photo .hero-copy { padding: 1.25rem; }
  .hero-note { right: 1rem; bottom: .7rem; font-size: .65rem; }
  .page-editorial-visual { width: auto; margin-inline: 1rem; }
  .page-editorial-visual img { min-height: 430px; object-position: 64% center; }
  h1 { font-size: 3.15rem; }
  .form-row { grid-template-columns: 1fr; gap: .5rem; }
  footer { grid-template-columns: 1fr; }
  .footer-brand, .copyright { grid-column: auto; }
  .cart-preview { top: 108px; }
  .chat-launch { width: 54px; justify-content: center; padding: 0; border-radius: 50%; }
  .chat-launch > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .button, nav a::after, .ritual-card, .product-card, .chat-launch { transition: none; } }

/* Unified editorial type scale across the approved site and WooCommerce. */
main h1, .page-hero h1, .commerce-heading h1 {
  font-size: clamp(2.9rem, 4.35vw, 4.9rem);
  line-height: 1.04;
  letter-spacing: -.035em;
  margin-block: .45rem 1.25rem;
}
main h2, .editorial-body h2 {
  font-size: clamp(2.15rem, 3.05vw, 3.4rem);
  line-height: 1.1;
  letter-spacing: -.026em;
  margin-block: .45rem 1.15rem;
}
main h3, .ritual-card h3, .product-card h3, .principles h3,
.service-section h3, .journal-grid h3, .editorial-body h3 {
  font-size: clamp(1.3rem, 1.65vw, 1.78rem);
  line-height: 1.2;
  letter-spacing: -.012em;
}
.hero-copy > p:not(.eyebrow), .section-heading > p:not(.eyebrow),
.story-copy p, .ingredient-copy > p:not(.eyebrow),
.page-hero p:not(.eyebrow), .editorial-body p, .editorial-body li {
  font-size: clamp(1rem, 1.05vw, 1.1rem);
  line-height: 1.65;
}
.eyebrow { font-size: .76rem; line-height: 1.4; letter-spacing: .15em; }
.manifesto blockquote { font-size: clamp(2rem, 3.45vw, 3.75rem); line-height: 1.14; }
@media (max-width: 700px) {
  main h1, .page-hero h1, .commerce-heading h1 { font-size: clamp(2.45rem, 12vw, 3.25rem); }
  main h2, .editorial-body h2 { font-size: clamp(1.95rem, 9vw, 2.55rem); }
  main h3, .ritual-card h3, .product-card h3, .principles h3,
  .service-section h3, .journal-grid h3, .editorial-body h3 {
    font-size: clamp(1.25rem, 6.5vw, 1.6rem);
  }
}

.collection-preview { display: grid; gap: clamp(4rem, 7vw, 7rem); }
.collection-preview__intro { max-width: 790px; margin-inline: auto; text-align: center; }
.collection-preview__intro > p:not(.eyebrow), .collection-preview__details > div > p:not(.eyebrow), .collection-preview__signup p { color: #625b5e; font-size: 1.04rem; line-height: 1.7; }
.collection-preview__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--linea); }
.collection-preview__grid article { min-height: 270px; padding: clamp(1.5rem, 3vw, 2.8rem); }
.collection-preview__grid article + article { border-left: 1px solid var(--linea); }
.collection-preview__grid span { color: var(--malva); font-size: .76rem; letter-spacing: .13em; }
.collection-preview__grid h3 { margin: 3.5rem 0 .75rem; font-family: var(--serif); }
.collection-preview__grid p { margin: 0; color: #675f62; line-height: 1.65; }
.collection-preview__details { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2.5rem, 7vw, 7rem); align-items: center; padding: clamp(2rem, 5vw, 5rem); background: linear-gradient(125deg, rgba(205,182,174,.38), rgba(244,241,236,.8)); }
.collection-preview__details figure { margin: 0; }
.collection-preview__details img { width: 100%; max-height: 520px; object-fit: cover; box-shadow: var(--shadow-raised); }
.collection-preview__links { display: flex; align-items: center; flex-wrap: wrap; gap: 1.25rem; margin-top: 1.5rem; }
.collection-preview__signup { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; padding: clamp(2rem, 5vw, 4.5rem); border-top: 3px solid var(--malva); background: white; box-shadow: var(--shadow-soft); }
.collection-preview__signup form { max-width: 640px; }
@media (max-width: 860px) {
  .collection-preview__grid, .collection-preview__details, .collection-preview__signup { grid-template-columns: 1fr; }
  .collection-preview__grid article + article { border-left: 0; border-top: 1px solid var(--linea); }
  .collection-preview__grid article { min-height: auto; }
  .collection-preview__grid h3 { margin-top: 1.5rem; }
}
