:root {
  --bg: #fbf7f2;
  --surface: #fffdf9;
  --surface-2: #f5ecef;
  --ink: #1e5128;
  --muted: #6f6b64;
  --faint: #9b958d;
  --line: rgba(30,81,40,.15);
  --accent: #fca9d5;
  --accent-soft: #fde3f1;
  --green: #1e5128;
  --danger: #9b3f3f;
  --shadow: 0 18px 55px rgba(29, 26, 20, .1);
  --motion-press: 90ms;
  --motion-fast: 160ms;
  --motion-ui: 220ms;
  --motion-page: 210ms;
  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-standard: cubic-bezier(.2,.8,.2,1);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: #dedbd5;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { background: #dedbd5; }
body { margin: 0; min-width: 0; min-height: 100vh; background: #dedbd5; }
button, input, textarea { font: inherit; }
button { color: inherit; cursor: pointer; transition: transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-ui) var(--ease-out), background-color var(--motion-ui) ease, border-color var(--motion-ui) ease, color var(--motion-fast) ease, opacity var(--motion-fast) ease; }
button, [data-open-product] { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible, [role="button"]:focus-visible { outline: 3px solid rgba(252,169,213,.62); outline-offset: 2px; }
button:not(:disabled):not(.product-card__open):active { transform: translateY(1px) scale(.985); transition-duration: var(--motion-press); }
button:disabled { cursor: not-allowed; opacity: .42; transform: none; }
button.is-busy:disabled { cursor: progress; opacity: 1; }
.button-spinner { width: 17px; height: 17px; display: inline-block; flex: 0 0 auto; border: 2px solid rgba(255,255,255,.34); border-top-color: currentColor; border-radius: 50%; animation: button-spin .72s linear infinite; }
button.is-busy { align-items: center; justify-content: center; gap: 8px; }
@keyframes button-spin { to { transform: rotate(360deg); } }
.view-transition { will-change: opacity,transform; }
.view-transition--forward { animation: view-enter-forward var(--motion-page) var(--ease-out) both; }
.view-transition--back { animation: view-enter-back var(--motion-page) var(--ease-out) both; }
@keyframes view-enter-forward { from { opacity: .72; transform: translate3d(9px,0,0); } }
@keyframes view-enter-back { from { opacity: .72; transform: translate3d(-9px,0,0); } }
.reference-photo-input { position: fixed; left: -9999px; bottom: 0; width: 1px; height: 1px; opacity: .01; pointer-events: none; }
.app-boot { width: min(100%,480px); min-height: 100dvh; margin: 0 auto; padding: calc(14px + env(safe-area-inset-top)) 16px 24px; background: var(--bg); }
.app-boot__top { height: 48px; display: flex; align-items: center; justify-content: space-between; }
.app-boot__top span:first-child { width: 132px; height: 34px; }
.app-boot__top span:last-child { width: 44px; height: 44px; border-radius: 50%; }
.app-boot__hero { height: 430px; margin-top: 10px; padding: 64px 22px; border-radius: 26px; display: grid; align-content: start; gap: 12px; }
.app-boot__hero span:nth-child(1) { width: 42%; height: 12px; }
.app-boot__hero span:nth-child(2) { width: 68%; height: 78px; }
.app-boot__hero span:nth-child(3) { width: 54%; height: 46px; }
.app-boot__top span,.app-boot__hero,.app-boot__hero span { display: block; background: linear-gradient(100deg,#eee8e1 20%,#f8f4ef 42%,#eee8e1 64%); background-size: 220% 100%; animation: boot-pulse 1.25s ease-in-out infinite; }
.app-boot__hero span { border-radius: 10px; }
.app-boot > p { margin: 16px 0 0; color: var(--muted); font-size: 13px; text-align: center; }
@keyframes boot-pulse { to { background-position-x: -220%; } }

.shell { width: min(100%, 480px); min-height: 100dvh; margin: 0 auto; background: var(--bg); position: relative; overflow: hidden; padding-bottom: calc(82px + env(safe-area-inset-bottom)); }
.shell--with-floating-cta { padding-bottom: calc(154px + env(safe-area-inset-bottom)); }
.shell--detail { padding-bottom: calc(82px + env(safe-area-inset-bottom)); }
.page { padding: 0 16px 30px; }
.icon { width: 20px; height: 20px; display: inline-grid; place-items: center; flex: 0 0 auto; }
.icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.eyebrow { margin: 0; color: var(--muted); font-size: 10px; font-weight: 750; line-height: 1.35; text-transform: uppercase; letter-spacing: .12em; }

.topbar { min-height: 72px; padding: calc(10px + env(safe-area-inset-top)) 16px 8px; display: flex; align-items: center; justify-content: space-between; background: var(--bg); position: relative; z-index: 20; }
.topbar--compact { position: sticky; top: 0; border-bottom: 1px solid transparent; }
.brand { min-height: 44px; display: flex; gap: 9px; align-items: center; border: 0; background: none; padding: 4px 0; text-align: left; }
.brand__portrait { width: 38px; height: 38px; border-radius: 50%; overflow: hidden; display: block; background: #d7b89c; border: 1px solid rgba(30,81,40,.12); }
.brand__portrait img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.brand__identity, .brand small { display: block; }
.brand__barcode { width: 94px; height: 31px; padding: 5px 10px; border-radius: 9px; background: var(--ink); display: grid; place-items: center; }
.brand__barcode img { width: 100%; height: 100%; object-fit: contain; display: block; }
.brand small { color: var(--muted); font-size: 8px; letter-spacing: .11em; margin-top: 3px; text-align: center; }
.round-button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line); background: rgba(255,255,255,.52); display: grid; place-items: center; position: relative; }

.hero { height: 430px; border-radius: 16px; overflow: hidden; position: relative; background: #f4f1ef; }
.hero .hero__image { width: 100%; height: 100%; object-fit: cover; object-position: center 46%; display: block; }
.hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(251,247,242,.98) 0%, rgba(251,247,242,.9) 39%, rgba(251,247,242,.42) 61%, rgba(251,247,242,0) 80%); }
.hero__content { position: absolute; left: 22px; right: 18px; top: 62px; color: var(--ink); }
.hero__kicker { margin: 0 0 9px; font-size: 11px; text-transform: uppercase; letter-spacing: .15em; font-weight: 750; }
.hero h1 { max-width: 270px; margin: 0 0 12px; font: 500 clamp(32px, 8.7vw, 40px)/.92 Georgia, serif; letter-spacing: -.045em; }
.hero__text { max-width: 210px; margin: 0 0 12px; color: rgba(30,81,40,.86); font-size: 13px; line-height: 1.42; }
.hero__link, .hero__request, .text-button, .secondary-link { min-height: 44px; border: 0; background: none; padding: 0; display: inline-flex; align-items: center; gap: 6px; color: inherit; font-size: 12px; font-weight: 750; }
.hero__link .icon, .hero__request .icon, .text-button .icon, .secondary-link .icon { width: 16px; height: 16px; }
.hero__link { border-bottom: 1px solid rgba(30,81,40,.42); }
.hero__photo-cta { position: absolute; right: 16px; bottom: 16px; left: 16px; min-height: 70px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.72); border-radius: 21px; background: rgba(255,253,249,.96); color: var(--ink); box-shadow: 0 14px 34px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.92), inset 0 -8px 14px rgba(30,81,40,.035); backdrop-filter: blur(14px); display: grid; grid-template-columns: 48px minmax(0,1fr) 22px; align-items: center; gap: 11px; text-align: left; overflow: hidden; isolation: isolate; }
.hero__photo-icon { width: 48px; height: 48px; border-radius: 16px; background: var(--accent); color: var(--ink); display: grid; place-items: center; }
.hero__photo-icon .icon { width: 22px; height: 22px; }
.hero__photo-copy { min-width: 0; }
.hero__photo-copy small, .hero__photo-copy strong { display: block; }
.hero__photo-copy small { margin-bottom: 5px; color: #625e58; font-size: 10px; font-weight: 750; line-height: 1.1; letter-spacing: .08em; text-transform: uppercase; }
.hero__photo-copy strong { overflow: hidden; font-size: clamp(13px, 3.6vw, 14px); line-height: 1.12; }
.hero__photo-cta > .icon { width: 19px; height: 19px; color: var(--muted); }

.trust-grid { margin: 0 -2px; padding: 15px 2px 17px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-bottom: 1px solid var(--line); }
.trust-item { min-width: 0; min-height: 70px; padding: 10px 11px; display: grid; grid-template-columns: 48px minmax(0,1fr); align-items: center; gap: 10px; position: relative; }
.trust-item:nth-child(odd) { border-right: 1px solid rgba(30,81,40,.11); }
.trust-item:nth-child(n+3) { border-top: 1px solid rgba(30,81,40,.11); }
.trust-item strong { display: block; color: #315b39; font-size: 13px; font-weight: 760; line-height: 1.2; letter-spacing: -.015em; }
.trust-sticker { width: 46px; height: 46px; border: 1px solid rgba(30,81,40,.16); border-radius: 15px 18px 14px 17px; display: grid; place-items: center; position: relative; color: var(--ink); box-shadow: 0 7px 15px rgba(30,81,40,.1), inset 0 1px 0 rgba(255,255,255,.8), inset 0 -5px 10px rgba(30,81,40,.035); }
.trust-sticker::after { content: ""; width: 8px; height: 8px; border-radius: 50%; position: absolute; right: 5px; top: 5px; background: rgba(255,255,255,.58); }
.trust-sticker .icon { width: 23px; height: 23px; margin: 0; }
.trust-sticker--verified { background: var(--accent); transform: rotate(-2deg); }
.trust-sticker--delivery { background: #e3efdf; transform: rotate(1.5deg); }
.trust-sticker--support { background: #fff7df; transform: rotate(1deg); }
.trust-sticker--clients { background: var(--ink); color: #fff; transform: rotate(-1.5deg); }

.catalog-promo { min-height: 268px; margin: 22px -16px 0; overflow: hidden; display: grid; grid-template-columns: 53% 47%; background: var(--accent-soft); border-top: 1px solid rgba(30,81,40,.11); border-bottom: 1px solid rgba(30,81,40,.11); }
.catalog-promo__copy { min-width: 0; padding: 27px 9px 22px 20px; display: flex; flex-direction: column; align-items: flex-start; position: relative; z-index: 2; }
.catalog-promo__copy .eyebrow { color: var(--ink); font-size: 10px; }
.catalog-promo__copy h2 { margin: 7px 0 9px; font: 500 31px/.93 Georgia,serif; letter-spacing: -.045em; text-transform: uppercase; }
.catalog-promo__copy > p:not(.eyebrow) { margin: 0; color: #514d47; font-size: 13px; line-height: 1.48; }
.catalog-promo__copy > button { min-height: 44px; margin-top: 14px; padding: 0 14px; border: 0; border-radius: 5px; background: var(--ink); color: #fff; display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 750; }
.catalog-promo__copy > button .icon { width: 15px; height: 15px; }
.catalog-promo__copy > small { margin-top: auto; padding-top: 10px; color: var(--ink); display: inline-flex; align-items: center; gap: 5px; font-size: 10px; font-weight: 700; }
.catalog-promo__copy > small .icon { width: 13px; height: 13px; }
.catalog-promo__media { min-width: 0; position: relative; overflow: hidden; background: #d5c7bc; }
.catalog-promo__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(253,227,241,.22),transparent 35%); }
.catalog-promo__media > img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.catalog-promo__badge { position: absolute; z-index: 2; right: 10px; top: 10px; width: 68px; height: 68px; padding: 15px 8px; border-radius: 50%; background: var(--ink); display: grid; place-items: center; box-shadow: 0 8px 22px rgba(30,81,40,.24); }
.catalog-promo__badge img { width: 100%; height: auto; display: block; }

.buyer-card { min-height: 150px; margin: 0 -16px; overflow: hidden; position: relative; display: flex; align-items: center; background: var(--bg); border-bottom: 1px solid var(--line); }
.buyer-card__copy { width: 69%; padding: 26px 0 26px 20px; position: relative; z-index: 1; }
.buyer-card h2 { margin: 5px 0 8px; font: 500 24px/1 Georgia, serif; letter-spacing: -.025em; }
.buyer-card__copy > p:last-child { max-width: 240px; margin: 0; color: #514d47; font-size: 12px; line-height: 1.48; }
.buyer-card__copy > p:last-child strong { color: var(--ink); font-size: 12px; }
.buyer-card > img { width: 48%; height: 148px; object-fit: contain; object-position: right bottom; align-self: end; margin-left: -14%; transform: translateX(11px); filter: drop-shadow(0 12px 20px rgba(62,39,25,.16)); }
.social-card { margin: 0 -16px; padding: 24px 18px 8px; border-bottom: 1px solid var(--line); background: var(--surface); display: grid; gap: 0; }
.social-card__intro { display: flex; align-items: center; gap: 10px; padding: 0 2px 16px; }
.social-card__intro > .icon { width: 24px; height: 24px; color: var(--ink); }
.social-card__intro small,.social-card__intro strong,.social-link small,.social-link strong { display: block; }
.social-card__intro small,.social-link small { margin-bottom: 3px; color: #625e58; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.social-card__intro strong { font: 500 18px/1.1 Georgia,serif; }
.social-link { min-height: 62px; padding: 10px 2px; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; display: grid; grid-template-columns: minmax(0,1fr) 20px; align-items: center; gap: 10px; text-align: left; }
.social-link--primary { color: var(--ink); }
.social-link--primary small { color: #625e58; }
.social-link strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.social-link > .icon { width: 17px; height: 17px; color: currentColor; }

.proof-strip { min-height: 54px; margin: 0; padding: 0 2px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--line); }
.proof-strip span { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 650; }
.proof-strip .icon { width: 16px; height: 16px; color: var(--ink); }

.section { padding-top: 34px; }
.section__head { display: flex; justify-content: space-between; align-items: end; gap: 12px; margin-bottom: 16px; }
.section__head h2 { margin: 5px 0 0; font: 500 30px/1 Georgia, serif; letter-spacing: -.035em; }
.section__head > button { min-width: 44px; min-height: 44px; border: 0; background: none; padding: 9px 0 0 12px; color: var(--muted); font-size: 11px; }

.category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: dense; gap: 5px; }
.category-tile { min-height: 134px; border: 0; border-radius: 3px; overflow: hidden; padding: 0; position: relative; background: #ddd; text-align: left; }
.category-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 25%, rgba(12,12,10,.72)); }
.category-tile img { width: 100%; height: 134px; object-fit: cover; display: block; transition: transform .24s ease; }
.category-tile:first-child { grid-column: 1 / -1; min-height: 188px; }
.category-tile:first-child img { height: 188px; }
.category-tile:last-child:nth-child(even) { grid-column: 1 / -1; min-height: 150px; }
.category-tile:last-child:nth-child(even) img { height: 150px; }
.category-tile:active img { transform: scale(.985); }
.category-tile > span { position: absolute; left: 12px; right: 10px; bottom: 10px; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 8px; color: #fff; }
.category-tile strong { font-size: 12px; }
.category-tile small { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; display: grid; place-items: center; background: rgba(255,255,255,.18); font-size: 9px; backdrop-filter: blur(8px); }

.product-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px 10px; }
.product-card { min-width: 0; position: relative; }
.product-card__open { position: absolute; inset: 0; z-index: 2; width: 100%; border: 0; border-radius: 3px; background: transparent; }
.product-card__media { position: relative; aspect-ratio: .76; border-radius: 3px; overflow: hidden; background: #e2ddd4; }
.product-card__media img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .24s ease; }
.product-card:active .product-card__media img { transform: scale(.985); }
.heart-button { width: 44px; height: 44px; z-index: 3; border-radius: 50%; border: 0; background: rgba(247,245,239,.91); position: absolute; right: 8px; top: 8px; display: grid; place-items: center; backdrop-filter: blur(8px); }
.heart-button .icon { width: 18px; height: 18px; }
.heart-button.is-active { background: var(--ink); color: #fff; }
.heart-button.is-active svg { fill: currentColor; }
.status { display: inline-flex; align-items: center; border-radius: 999px; padding: 7px 9px; font-size: 9px; line-height: 1; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.product-card .status { position: absolute; left: 8px; top: 8px; }
.status--preorder { background: rgba(248,244,236,.92); color: #4f463c; backdrop-filter: blur(8px); }
.status--new { background: rgba(252,169,213,.95); color: var(--ink); backdrop-filter: blur(8px); }
.status--stock { background: rgba(30,81,40,.94); color: #fff; backdrop-filter: blur(8px); }
.status--unavailable { background: rgba(35,32,30,.72); color: #fff; backdrop-filter: blur(8px); }
.product-card__body { padding: 11px 2px 0; }
.product-card__body h3 { min-height: 39px; margin: 5px 0 8px; font: 500 17px/1.15 Georgia, serif; letter-spacing: -.018em; }
.product-card__meta { margin: 0; display: flex; align-items: center; justify-content: space-between; gap: 6px; color: var(--muted); font-size: 11px; }
.product-card__meta span:last-child { display: inline-flex; align-items: center; gap: 2px; color: var(--ink); font-weight: 650; }
.product-card__meta .icon { width: 12px; height: 12px; }
.section--products > .product-grid > .product-card:first-child,
.section--products > .product-grid > .product-card:last-child { grid-column: 1 / -1; }
.section--products > .product-grid > .product-card:first-child .product-card__media,
.section--products > .product-grid > .product-card:last-child .product-card__media { aspect-ratio: 1.24; }
.section--products > .product-grid > .product-card:first-child .product-card__body h3,
.section--products > .product-grid > .product-card:last-child .product-card__body h3 { min-height: 0; font-size: 22px; }

.service-card { margin: 42px -16px 0; min-height: 286px; padding: 30px 24px; border-top: 8px solid var(--accent); background: var(--ink); color: #fff; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; position: relative; overflow: hidden; }
.service-card::after { content: ""; position: absolute; width: 200px; height: 200px; border-radius: 50%; right: -80px; top: -95px; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 0 0 40px rgba(255,255,255,.03), 0 0 0 80px rgba(255,255,255,.02); }
.service-card__icon { width: 48px; height: 48px; margin-bottom: auto; border-radius: 50%; display: grid; place-items: center; background: var(--accent); color: var(--ink); }
.service-card__icon .icon { width: 22px; height: 22px; }
.service-card .eyebrow { color: rgba(255,255,255,.55); margin-bottom: 8px; }
.service-card h2 { margin: 0 0 9px; font: 500 32px/1 Georgia, serif; }
.service-card p:not(.eyebrow) { max-width: 315px; margin: 0 0 18px; color: rgba(255,255,255,.82); font-size: 13px; line-height: 1.5; }

.client-stories { margin-left: -16px; margin-right: -16px; padding: 28px 0 30px 16px; overflow: hidden; background: linear-gradient(180deg,rgba(253,227,241,.78),rgba(253,227,241,.2) 78%,transparent); }
.client-stories__head { padding-right: 16px; align-items: flex-end; }
.client-stories__head h2 { max-width: 260px; }
.client-stories__count { margin-bottom: 4px; padding: 7px 9px; border: 1px solid rgba(30,81,40,.18); border-radius: 999px; color: var(--ink); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.client-stories__note { max-width: 330px; margin: -7px 16px 16px 0; color: #514d47; font-size: 12px; line-height: 1.5; }
.client-stories__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(286px,88%); gap: 11px; padding: 0 16px 7px 0; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
.client-stories__track::-webkit-scrollbar { display: none; }
.client-story { min-height: 312px; padding: 14px; border: 1px solid rgba(30,81,40,.18); border-radius: 7px; background: rgba(255,253,249,.96); display: flex; flex-direction: column; scroll-snap-align: start; }
.voice-review { min-height: 76px; padding: 10px; border-radius: 4px; background: var(--ink); color: #fff; display: grid; grid-template-columns: 46px minmax(0,1fr) auto; grid-template-areas: "play identity time" "play wave wave"; align-items: center; gap: 5px 10px; }
.voice-review__play { grid-area: play; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 50%; background: var(--accent); color: var(--ink); display: grid; place-items: center; }
.voice-review__play .icon { width: 20px; height: 20px; }
.voice-review__play.is-playing { background: #fff; }
.voice-review__identity { grid-area: identity; min-width: 0; }
.voice-review__identity strong,.voice-review__identity small { display: block; }
.voice-review__identity strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.voice-review__identity small { margin-top: 2px; color: rgba(255,255,255,.66); font-size: 8px; letter-spacing: .07em; text-transform: uppercase; }
.voice-review__time { grid-area: time; min-width: 30px; color: rgba(255,255,255,.72); font-size: 9px; font-variant-numeric: tabular-nums; text-align: right; }
.voice-review__wave { grid-area: wave; height: 22px; display: flex; align-items: center; gap: 2px; overflow: hidden; }
.voice-review__wave i { width: 2px; height: var(--wave); min-height: 3px; border-radius: 2px; background: rgba(255,255,255,.28); transition: background .12s ease,transform .12s ease; }
.wave-h-28{--wave:28%}.wave-h-35{--wave:35%}.wave-h-36{--wave:36%}.wave-h-38{--wave:38%}.wave-h-42{--wave:42%}.wave-h-43{--wave:43%}.wave-h-46{--wave:46%}.wave-h-48{--wave:48%}.wave-h-50{--wave:50%}.wave-h-52{--wave:52%}.wave-h-54{--wave:54%}.wave-h-56{--wave:56%}.wave-h-58{--wave:58%}.wave-h-60{--wave:60%}.wave-h-62{--wave:62%}.wave-h-63{--wave:63%}.wave-h-69{--wave:69%}.wave-h-72{--wave:72%}.wave-h-73{--wave:73%}.wave-h-76{--wave:76%}.wave-h-79{--wave:79%}.wave-h-82{--wave:82%}.wave-h-84{--wave:84%}.wave-h-86{--wave:86%}.wave-h-88{--wave:88%}.wave-h-92{--wave:92%}.wave-h-95{--wave:95%}.wave-h-100{--wave:100%}
.voice-review__wave i.is-played { background: var(--accent); transform: scaleY(1.08); }
.voice-review audio { display: none; }
.client-story > p { margin: 20px 5px 20px; color: var(--ink); font: 500 18px/1.36 Georgia,serif; letter-spacing: -.012em; }
.client-story footer { margin: auto 5px 0; padding-top: 12px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.client-story footer strong { font-size: 11px; }
.client-story footer small { padding: 5px 8px; border-radius: 999px; background: var(--accent-soft); color: var(--ink); font-size: 9px; font-weight: 750; }

.steps { border-top: 1px solid var(--line); }
.steps > div { min-height: 58px; display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 8px; border-bottom: 1px solid var(--line); }
.steps b { color: var(--ink); font: 500 14px Georgia, serif; }
.steps span { font-size: 12px; font-weight: 650; }
.terms-compact { margin-top: 18px; display: grid; }
.terms-compact > div { padding: 16px 2px; border-top: 1px solid var(--line); background: transparent; display: flex; gap: 12px; align-items: flex-start; }
.terms-compact > div:last-child { border-bottom: 1px solid var(--line); }
.terms-compact .icon { width: 22px; height: 22px; color: var(--ink); }
.terms-compact strong, .terms-compact small { display: block; }
.terms-compact strong { margin-bottom: 4px; font-size: 12px; }
.terms-compact small { color: #514d47; font-size: 12px; line-height: 1.5; }

.bottom-nav { position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: min(100%,480px); height: calc(70px + env(safe-area-inset-bottom)); padding: 7px 9px env(safe-area-inset-bottom); background: rgba(247,243,236,.93); border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, 1fr); z-index: 40; backdrop-filter: blur(18px); }
.bottom-nav__item { min-width: 44px; min-height: 52px; border: 0; border-radius: 14px; background: none; color: #6f6a63; display: flex; flex-direction: column; gap: 4px; align-items: center; justify-content: center; font-size: 11px; position: relative; transition: transform var(--motion-fast) var(--ease-out), color var(--motion-ui) ease, background-color var(--motion-ui) ease; }
.bottom-nav__item .icon { width: 21px; height: 21px; transition: transform var(--motion-ui) var(--ease-out); }
.bottom-nav__item > span:not(.icon) { transition: opacity var(--motion-fast) ease, transform var(--motion-ui) var(--ease-out); }
.bottom-nav__item.is-active { color: var(--ink); }
.bottom-nav__item.is-active .icon { transform: translateY(-1px) scale(1.06); }
.bottom-nav__item.is-active > span:not(.icon) { font-weight: 700; transform: translateY(-1px); }
.bottom-nav__item::after { content: ""; width: 4px; height: 4px; border-radius: 50%; position: absolute; bottom: 1px; background: var(--accent); opacity: 0; transform: translateY(2px) scale(.35); transition: opacity var(--motion-fast) ease, transform var(--motion-ui) var(--ease-out); }
.bottom-nav__item.is-active::after { opacity: 1; transform: translateY(0) scale(1); }
.bottom-nav__item b { position: absolute; top: 1px; right: 22%; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: var(--accent); color: var(--ink); display: grid; place-items: center; font-size: 9px; border: 2px solid var(--bg); }

.floating-cta { position: fixed; left: 50%; bottom: calc(78px + env(safe-area-inset-bottom)); z-index: 45; width: min(calc(100% - 20px),460px); transform: translate(-50%,18px); opacity: 0; visibility: hidden; pointer-events: none; transition: transform .24s cubic-bezier(.16,1,.3,1), opacity .18s ease, visibility 0s linear .24s; }
.floating-cta.is-visible { transform: translate(-50%,0); opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
.floating-cta__button { width: 100%; min-height: 74px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.17); border-radius: 24px; background: rgba(30,81,40,.96); color: #fff; box-shadow: 0 16px 42px rgba(30,81,40,.28), inset 0 1px 0 rgba(255,255,255,.18), inset 0 -10px 16px rgba(255,255,255,.055); backdrop-filter: blur(18px); display: grid; grid-template-columns: 50px minmax(0,1fr) 30px; align-items: center; gap: 11px; text-align: left; overflow: hidden; isolation: isolate; }
.floating-cta__icon { width: 48px; height: 48px; border-radius: 16px; background: var(--accent); color: var(--ink); display: grid; place-items: center; }
.floating-cta__icon .icon { width: 22px; height: 22px; }
.floating-cta__copy { min-width: 0; }
.floating-cta__short { display: none; font-size: 13px; font-weight: 800; white-space: nowrap; }
.floating-cta__copy small, .floating-cta__copy strong { display: block; }
.floating-cta__copy small { margin-bottom: 5px; color: rgba(255,255,255,.82); font-size: 10px; font-weight: 750; line-height: 1.1; letter-spacing: .08em; text-transform: uppercase; }
.floating-cta__copy strong { overflow: hidden; font-size: 15px; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.floating-cta__arrow { display: grid; place-items: center; color: rgba(255,255,255,.78); }
.floating-cta__arrow .icon { width: 19px; height: 19px; }
.floating-cta.is-compact { left: auto; right: max(12px,calc((100vw - 480px)/2 + 12px)); width: auto; transform: translateY(18px); }
.floating-cta.is-compact.is-visible { transform: translateY(0); }
.floating-cta.is-compact .floating-cta__button { width: auto; min-height: 56px; padding: 6px 14px 6px 7px; border-radius: 19px; grid-template-columns: 44px auto; gap: 8px; }
.floating-cta.is-compact .floating-cta__icon { width: 44px; height: 44px; border-radius: 14px; }
.floating-cta.is-compact .floating-cta__copy,.floating-cta.is-compact .floating-cta__arrow { display: none; }
.floating-cta.is-compact .floating-cta__short { display: block; }

.page--catalog, .simple-page { padding-top: 10px; }
.catalog-title { display: flex; justify-content: space-between; align-items: end; margin: 6px 0 18px; }
.catalog-title h1 { margin: 6px 0 0; font: 500 42px/1 Georgia, serif; letter-spacing: -.045em; }
.catalog-title > span { color: #625e58; font-size: 11px; padding-bottom: 5px; }
.searchbar { height: 52px; border-radius: 16px; display: flex; align-items: center; gap: 9px; background: var(--surface); border: 1px solid var(--line); padding: 0 5px 0 14px; }
.searchbar > .icon { color: var(--muted); width: 19px; }
.searchbar input { min-width: 0; flex: 1; height: 44px; border: 0; outline: 0; background: transparent; font-size: 16px; }
.searchbar input::placeholder { color: #98938b; }
.filter-button { width: 42px; height: 42px; border-radius: 13px; border: 0; background: var(--surface-2); display: grid; place-items: center; }
.filter-button.is-active { background: var(--ink); color: #fff; }
.chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 14px -16px 20px; padding: 0 16px; scroll-snap-type: x proximity; }
.chips::-webkit-scrollbar { display: none; }
.chip { flex: 0 0 auto; min-height: 44px; padding: 0 15px; border-radius: 999px; border: 1px solid var(--line); background: transparent; font-size: 11px; scroll-snap-align: start; }
.chip.is-active { background: var(--ink); border-color: var(--ink); color: #fff; }
.product-grid--catalog { padding-bottom: 22px; }
.load-more { width: 100%; min-height: 52px; margin: 2px 0 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); font-weight: 700; }
.load-more span { color: var(--muted); font-weight: 500; }
.empty-state { min-height: 390px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 30px; }
.empty-state > .icon { width: 40px; height: 40px; color: var(--faint); margin-bottom: 16px; }
.empty-state h2 { margin: 0 0 8px; font: 500 28px/1 Georgia, serif; }
.empty-state p { margin: 0 0 22px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.empty-state__actions { width: min(100%,320px); display: grid; gap: 8px; }

.primary-button { width: 100%; min-height: 54px; padding: 0 20px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: var(--ink); color: #fff; box-shadow: 0 10px 24px rgba(30,81,40,.18), inset 0 1px 0 rgba(255,255,255,.17), inset 0 -9px 14px rgba(255,255,255,.05); display: flex; align-items: center; justify-content: center; gap: 7px; font-weight: 750; overflow: hidden; isolation: isolate; }
.primary-button .icon { width: 17px; height: 17px; }
.secondary-button { width: 100%; min-height: 50px; padding: 0 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); color: var(--ink); box-shadow: 0 6px 16px rgba(29,26,20,.045), inset 0 1px 0 rgba(255,255,255,.9); font-weight: 700; }

.sheet-wrap { position: fixed; inset: 0; z-index: 90; display: flex; align-items: flex-end; justify-content: center; background: rgba(18,18,15,.52); backdrop-filter: blur(5px); animation: sheet-backdrop-in var(--motion-fast) ease-out both; }
.sheet { width: min(100%,480px); max-height: 88dvh; overflow-y: auto; border-radius: 28px 28px 0 0; background: var(--bg); padding: 9px 18px calc(20px + env(safe-area-inset-bottom)); box-shadow: 0 -16px 60px rgba(0,0,0,.18); animation: sheet-in .24s ease-out; }
@keyframes sheet-in { from { transform: translateY(14%); opacity: .55; } }
@keyframes sheet-backdrop-in { from { opacity: 0; } }
.sheet__handle { width: 42px; height: 4px; border-radius: 3px; margin: 0 auto 16px; background: #c5c0b7; }
.sheet__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.sheet__head h2 { margin: 5px 0 0; font: 500 32px/1 Georgia, serif; }
.sheet__head button { width: 44px; height: 44px; border: 0; background: none; font-size: 28px; color: var(--muted); }
.filter-options { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.filter-option { min-height: 48px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); padding: 0 12px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 7px; text-align: left; font-size: 11px; }
.filter-option small { color: var(--muted); }
.filter-option.is-active { border-color: var(--accent); background: var(--accent-soft); }
.filter-option .icon { width: 15px; height: 15px; }
.sheet-note { margin: 15px 0; padding: 13px; border-radius: 14px; background: var(--surface-2); color: var(--muted); font-size: 10px; line-height: 1.5; }

.product-detail { background: var(--bg); }
.detail-media { height: min(54dvh,520px); min-height: 420px; position: relative; background: #ddd; overflow: hidden; touch-action: pan-y; }
.detail-media > img { width: 100%; height: 100%; object-fit: cover; display: block; }
.detail-back { position: absolute; left: 14px; top: calc(12px + env(safe-area-inset-top)); background: rgba(248,246,241,.9); border: 0; backdrop-filter: blur(10px); }
.detail-heart { position: absolute; right: 14px; top: calc(12px + env(safe-area-inset-top)); width: 44px; height: 44px; }
.detail-share { position: absolute; right: 66px; top: calc(12px + env(safe-area-inset-top)); background: rgba(248,246,241,.91); border: 0; backdrop-filter: blur(10px); }
.detail-media > .status { position: absolute; left: 14px; bottom: 16px; }
.gallery-pager { position: absolute; bottom: 12px; left: 50%; min-height: 44px; padding: 0 3px; border-radius: 999px; transform: translateX(-50%); display: grid; grid-template-columns: 44px auto 44px; align-items: center; background: rgba(23,23,20,.58); color: #fff; backdrop-filter: blur(10px); }
.gallery-pager button { width: 44px; height: 44px; padding: 12px; border: 0; background: transparent; color: inherit; display: grid; place-items: center; }
.gallery-pager button:disabled { opacity: .32; }
.gallery-pager span { min-width: 48px; text-align: center; font-size: 11px; font-weight: 750; font-variant-numeric: tabular-nums; }
.detail-body { padding: 22px 18px 34px; }
.detail-body h1 { margin: 7px 0 14px; font: 500 38px/.99 Georgia, serif; letter-spacing: -.04em; }
.detail-price { margin: -4px 0 14px; color: var(--ink); font-size: 17px; font-weight: 800; }
.detail-promise { min-height: 62px; padding: 13px 14px; border-radius: 16px; background: var(--accent-soft); display: flex; gap: 11px; align-items: center; }
.detail-promise > .icon { width: 22px; height: 22px; color: var(--ink); }
.detail-promise strong, .detail-promise small { display: block; }
.detail-promise strong { margin-bottom: 3px; font-size: 12px; }
.detail-promise small { color: #625e58; font-size: 11px; }
.product-facts { margin-top: 12px; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: var(--surface); }
.product-facts > div { min-height: 46px; padding: 10px 13px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); }
.product-facts > div:last-child { border-bottom: 0; }
.product-facts span { color: #625e58; font-size: 11px; }
.product-facts strong { max-width: 66%; font-size: 12px; text-align: right; }
.request-builder { margin-top: 24px; }
.field-title { margin: 0 0 10px; font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.intent-options { display: flex; flex-wrap: wrap; gap: 7px; }
.intent-button { min-height: 44px; padding: 0 13px; border-radius: 999px; border: 1px solid var(--line); background: var(--surface); display: inline-flex; align-items: center; gap: 6px; font-size: 11px; }
.intent-button.is-active { background: var(--ink); color: #fff; border-color: var(--ink); }
.intent-button .icon { width: 14px; height: 14px; }
.variant-picker { margin-top: 18px; }
.variant-picker > p { margin: 0 0 9px; font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.variant-picker > div { display: flex; flex-wrap: wrap; gap: 7px; }
.variant-button { min-height: 44px; padding: 0 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 650; }
.variant-button.is-active { border-color: var(--ink); background: var(--ink); color: #fff; }
.variant-button .icon { width: 14px; height: 14px; }
.preference-field { display: block; margin-top: 18px; }
.preference-field > span, .contact-field > span { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 7px; color: var(--ink); font-size: 11px; font-weight: 650; }
.preference-field > span small { color: var(--muted); font-weight: 500; }
.preference-field textarea { width: 100%; min-height: 72px; resize: vertical; padding: 13px; border-radius: 14px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); font-size: 16px; line-height: 1.4; outline: none; }
.preference-field textarea::placeholder { color: #a19c93; }
.quantity-row { display: flex; align-items: center; justify-content: space-between; padding: 19px 0; margin-top: 4px; border-bottom: 1px solid var(--line); }
.quantity-row span { display: block; margin-bottom: 3px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.quantity-row small { color: #625e58; font-size: 11px; }
.stepper { height: 46px; border-radius: 14px; border: 1px solid var(--line); background: var(--surface); display: grid; grid-template-columns: 44px 30px 44px; align-items: center; }
.stepper button { min-width: 44px; height: 44px; border: 0; background: none; display: grid; place-items: center; }
.stepper .icon { width: 15px; height: 15px; }
.stepper strong { text-align: center; font-size: 12px; }
.channel-copy { margin: 15px 0 2px; border-bottom: 1px solid var(--line); }
.channel-copy summary { min-height: 52px; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 11px; font-weight: 650; cursor: pointer; }
.channel-copy summary::-webkit-details-marker { display: none; }
.channel-copy summary .icon { width: 16px; height: 16px; }
.channel-copy p { margin: 0 0 16px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.detail-info details { border-bottom: 1px solid var(--line); }
.detail-info summary { min-height: 54px; list-style: none; display: grid; grid-template-columns: 24px 1fr 17px; align-items: center; gap: 9px; font-size: 11px; font-weight: 650; cursor: pointer; }
.detail-info summary::-webkit-details-marker { display: none; }
.detail-info summary .icon:last-child { width: 16px; transform: rotate(90deg); transition: transform .2s; }
.detail-info details[open] summary .icon:last-child { transform: rotate(-90deg); }
.detail-info details p { margin: -4px 0 15px 33px; color: #625e58; font-size: 11px; line-height: 1.5; }
.product-instagram { width: 100%; min-height: 64px; margin-top: 18px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); display: grid; grid-template-columns: 34px minmax(0,1fr) 18px; align-items: center; gap: 10px; text-align: left; }
.product-instagram > .icon:first-child { width: 28px; height: 28px; color: var(--ink); }
.product-instagram > .icon:last-child { width: 16px; height: 16px; color: var(--muted); }
.product-instagram small,.product-instagram strong { display: block; }
.product-instagram small { margin-bottom: 4px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }
.product-instagram strong { font-size: 12px; }
.detail-related { padding-top: 34px; }
.detail-related .section__head h2 { font-size: 28px; }
.detail-related .product-grid { padding-bottom: 18px; }
.detail-cta { position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: min(100%,480px); padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(247,243,236,.95); border-top: 1px solid var(--line); backdrop-filter: blur(18px); z-index: 50; }

.selection-intro { margin-bottom: 16px; padding: 15px; border-radius: 17px; background: var(--accent-soft); display: flex; gap: 12px; align-items: flex-start; }
.selection-intro > .icon { width: 22px; height: 22px; color: var(--ink); }
.selection-intro p { margin: 0; }
.selection-intro strong, .selection-intro span { display: block; }
.selection-intro strong { margin-bottom: 4px; font-size: 11px; }
.selection-intro span { color: #625e58; font-size: 11px; line-height: 1.45; }
.bag-list { display: grid; gap: 9px; }
.bag-item { display: grid; grid-template-columns: 106px 1fr; min-height: 144px; padding: 8px; border-radius: 18px; background: var(--surface); border: 1px solid var(--line); }
.bag-item__media { width: 106px; height: 128px; padding: 0; border: 0; border-radius: 13px; overflow: hidden; background: #e2ddd4; }
.bag-item__media img { width: 100%; height: 100%; display: block; object-fit: cover; }
.bag-item__info { min-width: 0; padding: 7px 5px 3px 12px; display: flex; flex-direction: column; }
.bag-item__info h3 { margin: 4px 0 5px; font: 500 17px/1.12 Georgia, serif; }
.bag-item__info > p:not(.eyebrow) { margin: 0; color: #625e58; font-size: 11px; line-height: 1.35; }
.bag-item__info .bag-item__variants { margin-bottom: 4px; color: var(--ink); font-weight: 700; }
.bag-item__bottom { display: flex; justify-content: space-between; align-items: center; margin-top: auto; }
.stepper--small { height: 46px; grid-template-columns: 44px 24px 44px; }
.stepper--small button { min-width: 44px; height: 44px; }
.trash-button { width: 44px; height: 44px; border: 0; background: none; color: var(--muted); display: grid; place-items: center; }
.trash-button .icon { width: 17px; height: 17px; }
.selection-empty { padding: 18px; border-radius: 20px; background: var(--ink); color: #fff; display: grid; grid-template-columns: 38px 1fr; gap: 10px 12px; align-items: start; }
.selection-empty > .icon { width: 28px; height: 28px; color: #d1ad92; }
.selection-empty h2 { margin: 0 0 5px; font: 500 21px/1 Georgia, serif; }
.selection-empty p { margin: 0; color: rgba(255,255,255,.65); font-size: 10px; line-height: 1.45; }
.selection-empty .secondary-link { grid-column: 2; color: #fff; }
.selection-form { margin-top: 18px; padding: 20px 17px; background: var(--surface); border-radius: 22px; border: 1px solid var(--line); }
.order-form__head { display: flex; gap: 11px; align-items: flex-start; margin: 0 0 13px; }
.order-form__head:not(:first-child) { margin-top: 24px; }
.order-form__head > span { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: #fff; font-size: 10px; }
.order-form__head h2 { margin: 0 0 3px; font: 500 20px/1 Georgia, serif; }
.order-form__head p { margin: 0; color: #625e58; font-size: 11px; }
.reference-photo { width: 100%; min-height: 82px; padding: 12px 13px; border: 1px dashed rgba(30,81,40,.25); border-radius: 16px; background: var(--bg); color: var(--ink); display: grid; grid-template-columns: 42px minmax(0,1fr) 20px; align-items: center; gap: 11px; text-align: left; }
.reference-photo > .icon:first-child { width: 42px; height: 42px; padding: 10px; border-radius: 13px; background: var(--accent-soft); color: var(--ink); }
.reference-photo > .icon:last-child { width: 17px; height: 17px; color: var(--muted); }
.reference-photo span strong, .reference-photo span small { display: block; }
.reference-photo span strong { margin-bottom: 5px; font-size: 11px; }
.reference-photo span small { color: #625e58; font-size: 11px; }
.reference-photo.is-filled { position: relative; min-height: 104px; grid-template-columns: 82px minmax(0,1fr) 32px; border-style: solid; background: var(--bg); }
.reference-photo.is-filled > img { width: 82px; height: 80px; border-radius: 12px; object-fit: cover; }
.reference-photo.is-filled > div { min-width: 0; }
.reference-photo.is-filled strong, .reference-photo.is-filled small { display: block; }
.reference-photo.is-filled strong { margin-bottom: 5px; font-size: 11px; }
.reference-photo.is-filled small { overflow: hidden; color: #625e58; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.reference-photo.is-filled > div button { min-height: 44px; margin: 4px 0 0; padding: 0; border: 0; background: none; color: var(--ink); font-size: 11px; font-weight: 750; }
.reference-photo__remove { width: 44px; height: 44px; border: 0; background: none; color: var(--muted); font-size: 24px; }
.preference-field--large { margin-top: 0; }
.telegram-contact-confirmed,.telegram-contact-required { margin-top: 18px; padding: 14px; border: 1px solid rgba(30,81,40,.18); border-radius: 17px; background: #edf3ed; display: grid; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: 11px; text-align: left; }
.telegram-contact-confirmed > .icon,.telegram-contact-required > .icon { width: 34px; height: 34px; padding: 8px; border-radius: 50%; background: var(--ink); color: #fff; }
.telegram-contact-confirmed strong,.telegram-contact-confirmed small,.telegram-contact-required strong,.telegram-contact-required small { display: block; }
.telegram-contact-confirmed strong,.telegram-contact-required strong { margin-bottom: 4px; font-size: 12px; line-height: 1.25; }
.telegram-contact-confirmed small,.telegram-contact-required small { color: #526057; font-size: 11px; line-height: 1.4; }
.telegram-contact-required { background: var(--accent-soft); }
.telegram-contact-required .secondary-button { grid-column: 1 / -1; min-height: 48px; margin-top: 2px; display: flex; align-items: center; justify-content: center; gap: 7px; background: var(--surface); }
.telegram-contact-required .secondary-button .icon { width: 16px; height: 16px; }
.selection-summary { display: flex; justify-content: space-between; gap: 18px; margin: 18px 0 13px; padding: 13px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.selection-summary span, .selection-summary strong { font-size: 11px; }
.selection-summary span { color: var(--muted); }
.selection-summary strong { text-align: right; }
.form-hint { display: block; margin: 10px 8px 0; text-align: center; color: #625e58; font-size: 11px; line-height: 1.45; }
.privacy-note { margin: 10px 0 0; padding-top: 2px; text-align: center; }
.privacy-note summary { min-height: 44px; list-style: none; display: inline-flex; align-items: center; justify-content: center; color: var(--ink); font-size: 11px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.privacy-note summary::-webkit-details-marker { display: none; }
.privacy-note p { margin: 0; padding: 10px 12px 2px; border-top: 1px solid var(--line); color: #625e58; font-size: 11px; line-height: 1.55; text-align: left; }
.info-card { margin-top: 16px; padding: 22px 18px; border-radius: 22px; background: var(--surface-2); }
.info-card h2 { margin: 6px 0 14px; font: 500 24px/1.05 Georgia, serif; }
.confirmation-grid { display: grid; gap: 9px; }
.confirmation-grid span { display: flex; align-items: center; gap: 8px; font-size: 11px; }
.confirmation-grid .icon { width: 16px; height: 16px; color: var(--ink); }

.shell--success { padding-bottom: max(28px,env(safe-area-inset-bottom)); }
.success-page { min-height: calc(100dvh - 88px); display: grid; place-items: center; padding-bottom: max(36px,env(safe-area-inset-bottom)); }
.request-success { width: 100%; padding: 34px 22px 26px; border: 1px solid var(--line); border-radius: 28px; background: var(--surface); text-align: center; box-shadow: var(--shadow); }
.request-success__mark { width: 72px; height: 72px; margin: 0 auto 22px; border-radius: 50%; background: var(--ink); color: #fff; display: grid; place-items: center; }
.request-success__mark .icon { width: 30px; height: 30px; }
.request-success h1 { margin: 8px 0 12px; font: 500 40px/.95 Georgia,serif; letter-spacing: -.045em; }
.request-success > p:not(.eyebrow) { max-width: 330px; margin: 0 auto; color: var(--muted); font-size: 14px; line-height: 1.55; }
.request-success__summary { margin: 24px 0 20px; padding: 15px; border-radius: 18px; background: var(--accent-soft); display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 11px; align-items: center; text-align: left; }
.request-success__summary > .icon { width: 42px; height: 42px; padding: 10px; border-radius: 13px; background: var(--accent); }
.request-success__summary strong,.request-success__summary small { display: block; }
.request-success__summary strong { margin-bottom: 4px; font-size: 12px; }
.request-success__summary small { color: var(--muted); font-size: 11px; line-height: 1.45; }
.request-success__actions { display: grid; gap: 8px; }
.success-instagram { display: grid; grid-template-columns: 24px minmax(0,1fr) 18px; align-items: center; gap: 10px; min-height: 62px; text-align: left; }
.success-instagram > .icon:first-child { width: 24px; height: 24px; }
.success-instagram > .icon:last-child { width: 16px; height: 16px; color: var(--muted); }
.success-instagram span small,.success-instagram span strong { display: block; }
.success-instagram span small { margin-bottom: 3px; color: var(--muted); font-size: 10px; font-weight: 500; }
.success-instagram span strong { font-size: 12px; }

.toast { position: fixed; left: 50%; bottom: calc(84px + env(safe-area-inset-bottom)); z-index: 120; transform: translate(-50%, 18px); opacity: 0; pointer-events: none; padding: 11px 15px; border-radius: 999px; background: rgba(23,23,20,.94); color: #fff; font-size: 11px; white-space: nowrap; transition: .22s ease; }
.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

@media (min-width: 481px) {
  body { padding: 20px 0; }
  .app-boot { min-height: calc(100dvh - 40px); border-radius: 30px; box-shadow: var(--shadow); }
  .shell { min-height: calc(100dvh - 40px); border-radius: 30px; box-shadow: var(--shadow); }
  .bottom-nav, .detail-cta { bottom: 20px; border-radius: 0 0 30px 30px; }
  .floating-cta { bottom: calc(98px + env(safe-area-inset-bottom)); }
  .sheet-wrap { align-items: center; }
  .sheet { border-radius: 28px; }
}

@media (max-width: 360px) {
  .hero { height: 400px; }
  .hero__content { top: 54px; left: 18px; right: 18px; }
  .hero h1 { max-width: 230px; font-size: 31px; }
  .hero__text { max-width: 180px; font-size: 12px; }
  .trust-item { padding: 9px 7px; grid-template-columns: 43px minmax(0,1fr); gap: 7px; }
  .trust-sticker { width: 41px; height: 41px; border-radius: 14px 16px 13px 15px; }
  .trust-sticker .icon { width: 21px; height: 21px; }
  .trust-item strong { font-size: 12.5px; }
  .product-card__body h3 { font-size: 15px; }
  .filter-options { grid-template-columns: 1fr; }
  .detail-media { min-height: 385px; }
}

@media (orientation: landscape) and (max-height: 520px) {
  .detail-media { min-height: 330px; height: 88dvh; }
  .hero { height: 340px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
