/*
 * MAWSIM · موسم — Gifting (gifts/ and corporate/)
 * ─────────────────────────────────────────────────────────────────────────────
 * Area styles on top of mawsim.css. Every class is prefixed .gift- (and
 * .corp- for the corporate page). Logical properties only, so the same rules
 * serve Arabic (RTL) and English (LTR).
 *
 *  01 Hero              05 What's inside
 *  02 Studio layout     06 Occasions
 *  03 Studio steps      07 Corporate teaser
 *  04 Card & summary    08 Corporate page
 */

/* ═════════════════════════════════════════════════════════════════════════════
   01 · HERO — an olive panel the colour of the box, beside the photograph
   ═════════════════════════════════════════════════════════════════════════════ */
.gift-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  background: var(--c-olive-deep);
}
.gift-hero__panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: var(--space-xl);
  padding: calc(var(--header-h) + var(--space-2xl)) var(--gutter) var(--space-l);
  background-color: var(--c-olive-deep);
  background-image: var(--grain);
  background-size: 220px 220px;
}
.gift-hero__watermark {
  position: absolute;
  z-index: -1;
  inset-block-start: calc(var(--header-h) - 1rem);
  inset-inline-end: -3.5rem;
  block-size: min(78%, 34rem);
  aspect-ratio: 180.21 / 344.86;
  color: var(--c-gold);
  opacity: .2;
  pointer-events: none;
}
.gift-hero__watermark .brand-svg { block-size: 100%; inline-size: auto; --line-weight: 1.6; }
.gift-hero__text { display: grid; gap: var(--space-m); justify-items: start; max-inline-size: 36rem; }
.gift-hero__title { color: var(--c-ivory); max-inline-size: 9.5em; }
.gift-hero__title:lang(ar) { line-height: 1.25; }
.gift-hero__lede {
  font-family: var(--f-display);
  font-size: var(--step-2);
  line-height: 1.42;
  color: rgb(246 241 232 / .84);
  max-inline-size: 26em;
}
.gift-hero__lede:lang(en) { font-style: italic; }
.gift-hero__lede:lang(ar) { line-height: 1.8; }
.gift-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s) var(--space-l); margin-block-start: var(--space-2xs); }
.gift-hero__season {
  display: flex;
  align-items: center;
  gap: .7rem;
  padding-block-start: var(--space-s);
  border-block-start: 1px solid var(--c-line-light);
  font-size: var(--step--2);
  letter-spacing: var(--track-caps);
  text-transform: uppercase;
  color: rgb(246 241 232 / .78);
}
.gift-hero__season:lang(ar) { font-size: var(--step--1); text-transform: none; }
.gift-hero__season-dot { flex: none; inline-size: 6px; block-size: 6px; background: var(--c-gold); transform: rotate(45deg); }

.gift-hero__media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: #786246;
}
.gift-hero__img { inline-size: 100%; block-size: 100%; object-fit: cover; }

@media (min-width: 48em) {
  .gift-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-block-size: clamp(40rem, 100svh, 60rem);
  }
  .gift-hero__panel { padding-inline: var(--gutter) var(--space-xl); padding-block-end: var(--space-xl); }
  .gift-hero__media { aspect-ratio: auto; }
  .gift-hero__img { position: absolute; inset: 0; object-position: 30% 50%; }
}
@media (min-width: 64em) {
  .gift-hero { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
}
@media (min-width: 90em) {
  .gift-hero__panel { padding-inline-start: max(var(--gutter), calc((100vw - var(--container-wide)) / 2)); }
}

/* ═════════════════════════════════════════════════════════════════════════════
   02 · STUDIO LAYOUT — steps on the start side, the composition pinned beside
   ═════════════════════════════════════════════════════════════════════════════ */
.gift-studio__head {
  display: grid;
  gap: var(--space-m);
  margin-block-end: var(--space-xl);
}
.gift-studio__heading { display: grid; gap: var(--space-s); }
.gift-studio__lede { font-size: var(--step-1); line-height: 1.6; color: var(--fg-soft); max-inline-size: 32em; }
.gift-studio__lede:lang(ar) { line-height: 1.9; }
@media (min-width: 56em) {
  .gift-studio__head { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: end; gap: var(--space-2xl); }
}
.gift-studio__errors { margin-block-end: var(--space-l); }
:is(.gift-studio__errors, .corp-form__errors) ul { display: grid; gap: .2rem; margin: .4rem 0 0; padding: 0; list-style: none; }
:is(.gift-studio__errors, .corp-form__errors) a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
:is(.gift-studio__errors, .corp-form__errors):focus-visible { outline: 2px solid var(--error); outline-offset: 3px; }

.gift-studio__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xl);
  align-items: start;
}
.gift-studio__steps { min-inline-size: 0; }
@media (min-width: 64em) {
  .gift-studio__layout { grid-template-columns: minmax(0, 7fr) minmax(0, 4.5fr); gap: clamp(2.5rem, 5vw, 6rem); }
}

/* Visually hidden, still focusable and announced: the card is the control. */
.gift-box__input, .gift-honey__input, .gift-object__input, .gift-motif input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  margin: 0;
  opacity: 0;
  clip-path: inset(50%);
  pointer-events: none;
}

/* Selection tick in a circle — shared by boxes and honey */
.gift-tick {
  display: grid;
  place-items: center;
  inline-size: 2rem;
  block-size: 2rem;
  border-radius: 50%;
  background: var(--c-ink);
  color: var(--c-ivory);
}
.gift-tick .icon { --icon-size: 1rem; stroke-width: 1.6; }
.gift-tick--inline { inline-size: 1.25rem; block-size: 1.25rem; background: var(--c-olive); }
.gift-tick--inline .icon { --icon-size: .75rem; }

/* ═════════════════════════════════════════════════════════════════════════════
   03 · STUDIO STEPS
   ═════════════════════════════════════════════════════════════════════════════ */
.gift-step {
  min-inline-size: 0;
  margin: 0;
  padding: var(--space-l) 0 var(--space-xl);
  border: 0;
  border-block-start: 1px solid var(--line);
  scroll-margin-block-start: calc(var(--header-h) + var(--space-s));
}
.gift-step + .gift-step { padding-block-start: var(--space-l); }
/* Floated, the legend leaves the fieldset's border alone and sits in the flow
   like any heading (otherwise it straddles the hairline above the step). */
.gift-step__head {
  float: left;
  float: inline-start;
  display: flex;
  align-items: baseline;
  gap: var(--space-s);
  inline-size: 100%;
  padding: 0;
  margin-block-end: var(--space-s);
}
.gift-step__head + * { clear: both; }
.gift-step__index {
  flex: none;
  min-inline-size: 1.25em;
  font-family: var(--f-latin-display);
  font-size: var(--step-5);
  font-weight: 300;
  line-height: .8;
  letter-spacing: -.02em;
  color: var(--accent);
  transition: color var(--dur-2) var(--ease-out);
}
.gift-step__heading {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .25rem var(--space-s);
  min-inline-size: 0;
}
.gift-step__title { font-size: var(--step-3); line-height: 1.15; }
.gift-step__title:lang(ar) { line-height: 1.45; }
.gift-step__hint {
  font-size: var(--step--2);
  font-weight: 500;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--fg-muted);
}
.gift-step__hint:lang(ar) { font-size: var(--step--1); text-transform: none; }
.gift-step__text { max-inline-size: 38em; margin-block-end: var(--space-l); color: var(--fg-muted); font-size: var(--step--1); line-height: 1.65; }
.gift-step__text:lang(ar) { line-height: 1.9; }
.gift-step__error { margin-block: calc(-1 * var(--space-s)) var(--space-m); }
.gift-step__next { margin-block-start: var(--space-m); }
/* "Next:" links walk the steps without JavaScript; with it, the progress bar does. */
@media (scripting: enabled) { .gift-step__next { display: none; } }

/* Step 01 — boxes ─────────────────────────────────────────────────────────── */
.gift-boxes { display: grid; gap: var(--space-s); }
@media (min-width: 36em) { .gift-boxes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.gift-box {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-s);
  background: var(--field-bg);
  cursor: pointer;
  transition: border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), background-color var(--dur-2);
}
@media (hover: hover) { .gift-box:not(.is-disabled):hover { border-color: color-mix(in srgb, var(--fg) 55%, transparent); } }
.gift-box:has(:checked) { border-color: var(--fg); background: var(--bg); box-shadow: inset 0 0 0 1px var(--fg); }
.gift-box:has(:focus-visible) { outline: 2px solid var(--focus); outline-offset: 3px; }
.gift-box.is-disabled { cursor: not-allowed; }
.gift-box.is-disabled .gift-box__media img { filter: saturate(.6); opacity: .7; }
.gift-box__media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--c-beige);
}
.gift-box__img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform 1.6s var(--ease-out); }
@media (hover: hover) { .gift-box:not(.is-disabled):hover .gift-box__img { transform: scale(1.035); } }
.gift-box .gift-tick {
  position: absolute;
  inset-block-start: var(--space-xs);
  inset-inline-end: var(--space-xs);
  opacity: 0;
  scale: .5;
  transition: opacity var(--dur-2) var(--ease-out), scale var(--dur-3) var(--ease-out);
}
.gift-box:has(:checked) .gift-tick { opacity: 1; scale: 1; }
.gift-box__status { position: absolute; inset-block-start: var(--space-xs); inset-inline-start: var(--space-xs); }
.gift-box__body { display: flex; flex: 1; flex-direction: column; gap: .45rem; padding: var(--space-m) var(--space-m) var(--space-s); }
.gift-box__kicker { color: var(--fg-muted); }
.gift-box__name { font-family: var(--f-display); font-size: var(--step-2); line-height: 1.2; color: var(--fg); }
.gift-box__name:lang(ar) { line-height: 1.5; }
.gift-box__contents { display: grid; margin-block-start: .35rem; font-size: var(--step--1); line-height: 1.45; color: var(--fg-soft); }
.gift-box__item { position: relative; padding-block: .42rem; padding-inline-start: 1rem; border-block-start: 1px solid var(--line); }
.gift-box__item::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 1.05em;
  inline-size: 4px;
  block-size: 4px;
  background: var(--c-gold);
  transform: rotate(45deg);
}
.gift-box__foot {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-block-start: auto;
  padding-block-start: var(--space-s);
  border-block-start: 1px solid var(--line);
}
.gift-box__price { font-family: var(--f-display); font-size: var(--step-2); line-height: 1.1; color: var(--fg); }
.gift-box__state { font-size: var(--step--2); font-weight: 500; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--fg-muted); }
.gift-box__state:lang(ar) { font-size: var(--step--1); text-transform: none; }
.gift-box__state-on { display: none; color: var(--fg); }
.gift-box:has(:checked) .gift-box__state-on { display: inline; }
.gift-box:has(:checked) .gift-box__state-off { display: none; }
.gift-box.is-disabled .gift-box__state { visibility: hidden; }

/* Step 02 — the honey: one full jar, two empty ones waiting for their season */
.gift-honeys { display: grid; gap: var(--space-xs); }
@media (min-width: 36em) { .gift-honeys { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); } }
.gift-honey {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--space-s);
  padding: var(--space-s) var(--space-m);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-s);
}
.gift-honey.is-season { border-color: var(--fg); background: var(--bg); box-shadow: inset 0 0 0 1px var(--fg); cursor: default; }
.gift-honey.is-season:has(:focus-visible) { outline: 2px solid var(--focus); outline-offset: 3px; }
.gift-honey.is-coming { border-style: dashed; background: transparent; }
@media (min-width: 36em) {
  .gift-honey { flex-direction: column; justify-content: flex-start; padding: var(--space-m) var(--space-s) var(--space-s); text-align: center; }
}
.gift-honey__body { display: grid; gap: .15rem; justify-items: start; min-inline-size: 0; }
@media (min-width: 36em) { .gift-honey__body { justify-items: center; } }
.gift-honey__name { font-family: var(--f-display); font-size: var(--step-2); line-height: 1.2; color: var(--fg); }
.gift-honey__name:lang(ar) { line-height: 1.5; }
.gift-honey.is-coming .gift-honey__name { color: var(--fg-soft); }
.gift-honey__meta { font-size: var(--step--1); color: var(--fg-muted); }
.gift-honey__status {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-block-start: .35rem;
  font-size: var(--step--2);
  font-weight: 500;
  letter-spacing: var(--track-index);
  text-transform: uppercase;
  color: var(--c-olive);
}
.gift-honey__status:lang(ar) { font-size: var(--step--1); text-transform: none; }
.gift-honey.is-coming .gift-honey__status { color: var(--c-gold-ink); }
.gift-honey__notify { margin-block-start: .2rem; font-size: var(--step--1); color: var(--fg); display: inline-flex; align-items: center; min-block-size: 2.75rem; padding-block: 0; background-position: 100% calc(100% - .7rem), 0 calc(100% - .7rem); }
[dir="rtl"] .gift-honey__notify { background-position: 0 calc(100% - .7rem), 0 calc(100% - .7rem); }

.gift-jar {
  --honey-top: #D99A3E;
  --honey: #A9621E;
  position: relative;
  flex: none;
  display: block;
  inline-size: 3.25rem;
  block-size: 4.4rem;
}
.gift-jar--spring, .gift-jar--summer { --honey-top: #D99A3E; --honey: #A9621E; }
.gift-jar__lid {
  position: absolute;
  inset-inline: 14%;
  inset-block-start: 0;
  block-size: 17%;
  border-radius: 3px 3px 1px 1px;
  background: linear-gradient(90deg, #9C7637, #E3C47F 42%, #B48A44 70%, #8E6A31);
}
.gift-jar__body {
  position: absolute;
  inset: 15% 0 0;
  overflow: hidden;
  border-radius: 9px 9px 7px 7px;
  background: linear-gradient(175deg, var(--honey-top), var(--honey) 70%);
  box-shadow: inset 5px 0 8px -2px rgb(255 240 210 / .35), inset -4px 0 8px -3px rgb(60 30 5 / .35);
}
.gift-jar__label {
  position: absolute;
  inset: 24% 16% 20%;
  display: grid;
  place-items: center;
  border-radius: 2px;
  background: #F8F2E6;
  font-family: var(--f-latin-display);
  font-size: .85rem;
  font-weight: 500;
  letter-spacing: var(--track-soft);
  color: var(--c-gold-ink);
}
.gift-jar.is-empty .gift-jar__lid,
.gift-jar.is-empty .gift-jar__body { background: transparent; box-shadow: none; border: 1px dashed color-mix(in srgb, var(--c-gold-ink) 55%, transparent); }
.gift-jar.is-empty .gift-jar__label { background: transparent; color: var(--fg-muted); }

/* Step 03 — objects ───────────────────────────────────────────────────────── */
.gift-objects { display: grid; gap: var(--space-xs); }
.gift-object {
  position: relative;
  display: flex;
  gap: var(--space-s);
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-s);
  background: var(--field-bg);
  cursor: pointer;
  transition: border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), background-color var(--dur-2);
}
@media (hover: hover) { .gift-object:not(.is-disabled):hover { border-color: color-mix(in srgb, var(--fg) 55%, transparent); } }
.gift-object:has(:checked) { border-color: var(--fg); background: var(--bg); box-shadow: inset 0 0 0 1px var(--fg); }
.gift-object:has(:focus-visible) { outline: 2px solid var(--focus); outline-offset: 3px; }
.gift-object.is-disabled { cursor: not-allowed; }
.gift-object.is-disabled img { opacity: .6; filter: saturate(.6); }
.gift-object__media {
  position: relative;
  flex: none;
  display: block;
  inline-size: 6rem;
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--c-beige);
}
.gift-object__img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform 1.6s var(--ease-out); }
@media (hover: hover) { .gift-object:not(.is-disabled):hover .gift-object__img { transform: scale(1.04); } }
.gift-object__body { display: flex; flex: 1; flex-direction: column; gap: .15rem; min-inline-size: 0; padding: var(--space-xs) var(--space-s) var(--space-xs) 0; padding-inline: 0 var(--space-s); }
.gift-object__name { font-family: var(--f-display); font-size: var(--step-1); line-height: 1.25; color: var(--fg); }
.gift-object__name:lang(ar) { line-height: 1.5; }
.gift-object__sub { font-size: var(--step--1); line-height: 1.45; color: var(--fg-muted); }
.gift-object__foot { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-block-start: auto; padding-block-start: .4rem; }
.gift-object__price { font-size: var(--step--1); color: var(--fg); }
.gift-object__toggle {
  display: grid;
  place-items: center;
  flex: none;
  inline-size: 2rem;
  block-size: 2rem;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  color: var(--fg);
  transition: background-color var(--dur-2) var(--ease-out), border-color var(--dur-2), color var(--dur-2);
}
.gift-object__toggle .icon { --icon-size: 1rem; grid-area: 1 / 1; transition: opacity var(--dur-2), scale var(--dur-3) var(--ease-out); }
.gift-object__check { opacity: 0; scale: .4; stroke-width: 1.6; }
.gift-object:has(:checked) .gift-object__toggle { background: var(--c-ink); border-color: var(--c-ink); color: var(--c-ivory); }
.gift-object:has(:checked) .gift-object__plus { opacity: 0; scale: .4; }
.gift-object:has(:checked) .gift-object__check { opacity: 1; scale: 1; }
.gift-object.is-disabled .gift-object__toggle { visibility: hidden; }
@media (min-width: 36em) {
  .gift-objects { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-s); }
  .gift-object { flex-direction: column; gap: 0; }
  .gift-object__media { inline-size: 100%; aspect-ratio: 1; }
  .gift-object__body { padding: var(--space-s) var(--space-s) var(--space-xs); }
}

/* ═════════════════════════════════════════════════════════════════════════════
   04 · CARD (letterpress on cotton paper) & SUMMARY
   ═════════════════════════════════════════════════════════════════════════════ */
.gift-card-wrap { display: grid; gap: var(--space-xl); }
.gift-card { margin: 0 auto; inline-size: min(100%, 31rem); }
.gift-card__paper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  aspect-ratio: 7 / 5;
  padding: clamp(1.75rem, 1rem + 3vw, 2.75rem) clamp(1.5rem, 1rem + 3vw, 3rem) clamp(2.75rem, 2rem + 3vw, 3.5rem);
  border-radius: 2px;
  background-color: #FBF7EF;
  background-image: url("../../img/texture/paper.14e96cbe7863.webp");
  background-size: 360px 360px;
  background-blend-mode: multiply;
  text-align: center;
  box-shadow:
    0 1px 1px rgb(31 26 22 / .06),
    0 18px 36px -24px rgb(31 26 22 / .45),
    0 46px 70px -46px rgb(31 26 22 / .35);
  rotate: -.8deg;
  transition: rotate var(--dur-4) var(--ease-out), box-shadow var(--dur-3) var(--ease-out);
}
.gift-card__paper::before {
  content: "";
  position: absolute;
  inset: .7rem;
  border: 1px solid rgb(184 144 74 / .38);
  pointer-events: none;
}
.gift-card__paper::after {
  content: "";
  position: absolute;
  inset: calc(.7rem + 3px);
  border: 1px solid rgb(184 144 74 / .16);
  pointer-events: none;
}
.gift-card-wrap:focus-within .gift-card__paper { rotate: 0deg; }
.gift-card__imprint {
  position: absolute;
  inset-block-end: 1.5rem;
  inset-inline: 0;
  display: flex;
  justify-content: center;
  color: rgb(138 106 49 / .55);
  line-height: 0;
}
.gift-card__imprint .brand-svg { block-size: .42rem; inline-size: auto; filter: drop-shadow(0 1px 0 rgb(255 255 255 / .8)); }
.gift-card__motif { display: none; line-height: 0; }
.gift-card:not([data-motif="seal"]) .gift-card__motif--branch,
.gift-card[data-motif="seal"] .gift-card__motif--seal { display: block; }
.gift-card__motif--branch .brand-svg {
  block-size: 3rem;
  color: #B58D46;
  /* foil pressed into the sheet: a lit lower edge, a shadowed upper one */
  filter: drop-shadow(0 1px 0 rgb(255 255 255 / .85)) drop-shadow(0 -.5px 0 rgb(90 66 30 / .35));
}
.gift-card__to {
  font-size: var(--step--2);
  font-weight: 500;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: #8A6A31;
  text-shadow: 0 1px 0 rgb(255 255 255 / .8);
}
.gift-card__to:lang(ar) { font-size: var(--step--1); text-transform: none; }
.gift-card__to bdi { text-transform: none; letter-spacing: 0; font-size: 1.15em; }
.gift-card__message {
  max-inline-size: 24em;
  font-family: var(--f-display);
  font-size: clamp(1.15rem, 1rem + .6vw, 1.45rem);
  line-height: 1.45;
  color: #3B3026;
  text-shadow: 0 1px 0 rgb(255 255 255 / .75), 0 -.5px 0 rgb(59 48 38 / .12);
  white-space: pre-line;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.gift-card__message:lang(en) { font-style: italic; }
.gift-card__message:lang(ar) { font-family: var(--f-arabic-display); font-style: normal; line-height: 1.75; font-size: clamp(1.25rem, 1.05rem + .7vw, 1.6rem); }
/* An Arabic message on the English page sets itself in the Arabic display face */
.gift-card__message:dir(rtl) { font-family: var(--f-arabic-display); font-style: normal; line-height: 1.75; font-size: clamp(1.25rem, 1.05rem + .7vw, 1.6rem); }
.gift-card__message.is-placeholder { color: #776A59; font-size: var(--step-0); }
.gift-card__from { font-family: var(--f-display); font-size: var(--step-1); color: #5A4B3C; text-shadow: 0 1px 0 rgb(255 255 255 / .75); }
.gift-card__from:lang(en) { font-style: italic; }
.gift-card__caption { margin-block-start: var(--space-s); text-align: center; font-size: var(--step--2); letter-spacing: var(--track-index); text-transform: uppercase; color: var(--fg-muted); }
.gift-card__caption:lang(ar) { font-size: var(--step--1); text-transform: none; }

/* The wax seal: poured, slightly irregular, pressed with the sidr branch */
.gift-wax {
  --wax: 3.6rem;
  display: grid;
  place-items: center;
  inline-size: var(--wax);
  block-size: var(--wax);
  border-radius: 49% 51% 48% 52% / 52% 48% 51% 49%;
  background: radial-gradient(circle at 34% 28%, #EBCB86 0%, #C59A4C 34%, #9C7231 64%, #73521F 100%);
  box-shadow:
    inset 0 0 0 calc(var(--wax) * .07) rgb(255 236 196 / .12),
    inset 0 calc(var(--wax) * -.05) calc(var(--wax) * .1) rgb(50 30 5 / .35),
    0 2px 4px rgb(60 40 10 / .28);
}
.gift-wax .brand-svg {
  block-size: calc(var(--wax) * .58);
  inline-size: auto;
  color: rgb(92 64 24 / .7);
  filter: drop-shadow(0 1px 0 rgb(255 232 180 / .55));
}
.gift-wax--sm { --wax: 2.4rem; }
.gift-wax--xs { --wax: 1.25rem; }

.gift-card-fields { align-items: start; }
.gift-card-fields__message { min-block-size: 7.5rem; }
.gift-counter-row { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.gift-counter-row .field__error:not([hidden]) + .gift-counter { color: var(--error); }
.gift-counter { margin-inline-start: auto; font-size: var(--step--2); color: var(--fg-muted); letter-spacing: var(--track-soft); transition: color var(--dur-2); }
.gift-counter.is-near { color: var(--c-gold-ink); }
.gift-counter.is-full { color: var(--error); }

.gift-motifs { min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.gift-motifs legend { padding: 0; margin-block-end: .5rem; }
.gift-motifs__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xs); }
.gift-motif {
  position: relative;
  display: flex;
  align-items: center;
  gap: .8rem;
  min-block-size: 4.25rem;
  padding: .7rem .9rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-s);
  background: var(--field-bg);
  cursor: pointer;
  transition: border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);
}
.gift-motif:has(:checked) { border-color: var(--fg); background: var(--bg); box-shadow: inset 0 0 0 1px var(--fg); }
.gift-motif:has(:focus-visible) { outline: 2px solid var(--focus); outline-offset: 3px; }
.gift-motif__art { display: grid; place-items: center; flex: none; inline-size: 2.5rem; block-size: 2.5rem; }
.gift-motif__art--branch .brand-svg { block-size: 2.3rem; color: var(--c-gold); }
.gift-motif__text { display: grid; gap: .1rem; min-inline-size: 0; }
.gift-motif__name { font-size: var(--step--1); font-weight: 500; line-height: 1.35; color: var(--fg); }
.gift-motif__note { font-size: var(--step--2); line-height: 1.4; color: var(--fg-muted); }
.gift-motif__note:lang(ar) { font-size: .8125rem; }
@media (max-width: 23.5em) { .gift-motif__note { display: none; } }

/* Summary ───────────────────────────────────────────────────────────────── */
.gift-summary { min-inline-size: 0; }
.gift-summary__inner {
  display: grid;
  gap: var(--space-s);
  padding: var(--space-m);
  border: 1px solid var(--line);
  border-radius: var(--radius-s);
  background: var(--c-paper);
  background-image: url("../../img/texture/paper.14e96cbe7863.webp");
  background-size: 512px 512px;
  background-blend-mode: multiply;
}
@media (min-width: 64em) {
  .gift-summary {
    position: sticky;
    inset-block-start: calc(var(--header-h) + var(--space-s));
    transition: inset-block-start var(--dur-3) var(--ease-out);
  }
  body:has(.site-header.is-hidden) .gift-summary { inset-block-start: var(--space-m); }
  .gift-summary__inner {
    max-block-size: calc(100svh - var(--header-h) - var(--space-l));
    overflow-y: auto;
    scrollbar-width: thin;
  }
  body:has(.site-header.is-hidden) .gift-summary__inner { max-block-size: calc(100svh - var(--space-xl)); }
}
.gift-summary__title {
  font-size: var(--step--2);
  font-family: var(--f-text);
  font-weight: 500;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--accent);
  margin-block-start: var(--space-2xs);
}
.gift-summary__title:lang(ar) { font-size: var(--step--1); text-transform: none; }

.gift-progress ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin: 0; padding: 0; }
.gift-progress a {
  position: relative;
  display: grid;
  gap: .1rem;
  min-block-size: 2.75rem;
  padding-block: .55rem .2rem;
  border-block-start: 2px solid var(--line);
  color: var(--fg-muted);
  text-decoration: none;
  transition: border-color var(--dur-3) var(--ease-out), color var(--dur-2);
}
.gift-progress a.is-done { border-color: var(--c-gold); color: var(--fg-soft); }
.gift-progress a[aria-current="step"] { border-color: var(--fg); color: var(--fg); }
@media (hover: hover) { .gift-progress a:hover { color: var(--fg); } }
.gift-progress__num { font-family: var(--f-latin-text); font-size: .625rem; font-weight: 500; letter-spacing: var(--track-caps); color: var(--accent); }
.gift-progress__text { font-size: var(--step--1); line-height: 1.3; }

/* The composition: the chosen box, its objects and the card laid beside it */
.gift-stage {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  border-radius: var(--radius-s);
  background: var(--c-beige);
}
@media (min-width: 64em) and (max-height: 52em) { .gift-stage { aspect-ratio: 2 / 1; } }
.gift-stage::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(to top, rgb(23 20 16 / .38), rgb(23 20 16 / 0));
  pointer-events: none;
}
.gift-stage__box {
  position: absolute;
  inset: 0;
  opacity: 0;
  scale: 1.05;
  transition: opacity var(--dur-3) var(--ease-out), scale 1.4s var(--ease-out);
}
.gift-stage__box.is-active { opacity: 1; scale: 1; }
.gift-stage__box img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.gift-stage__extras {
  position: absolute;
  z-index: 1;
  inset-inline-end: .75rem;
  inset-block-end: .75rem;
  display: flex;
  align-items: flex-end;
  gap: .45rem;
}
.gift-stage__object {
  display: none;
  inline-size: 3.25rem;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 2px;
  background: var(--c-beige);
  box-shadow: 0 0 0 2px var(--c-ivory), 0 10px 18px -10px rgb(0 0 0 / .55);
}
.gift-stage__object img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.gift-stage__object.is-active { display: block; animation: gift-place var(--dur-3) var(--ease-out) both; }
.gift-stage__card {
  position: relative;
  display: grid;
  place-items: center;
  inline-size: 4.25rem;
  aspect-ratio: 7 / 5;
  background: #FBF7EF;
  box-shadow: 0 10px 18px -10px rgb(0 0 0 / .55);
  rotate: -5deg;
  transition: rotate var(--dur-3) var(--ease-out);
}
.gift-stage__card::before { content: ""; position: absolute; inset: 3px; border: 1px solid rgb(184 144 74 / .35); }
.gift-stage__card-branch .brand-svg { block-size: .95rem; color: #B58D46; }
.gift-stage__card .gift-wax { display: none; }
.gift-stage__card--seal .gift-stage__card-branch { display: none; }
.gift-stage__card--seal .gift-wax { display: grid; }
.gift-stage__card-lines {
  position: absolute;
  inset-inline: 22%;
  inset-block-end: 18%;
  block-size: 5px;
  background: repeating-linear-gradient(to bottom, rgb(59 48 38 / .35) 0 1px, transparent 1px 4px);
  opacity: 0;
  transition: opacity var(--dur-3);
}
.gift-stage__card.is-written .gift-stage__card-lines { opacity: 1; }
.gift-stage__card.is-written { rotate: -2deg; }
@keyframes gift-place { from { opacity: 0; translate: 0 .6rem; scale: .9; } }

.gift-lines { display: grid; margin: 0; }
.gift-lines__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding-block: .5rem;
  border-block-end: 1px solid var(--line);
  font-size: var(--step--1);
  line-height: 1.45;
}
.gift-lines__row dt { color: var(--fg); min-inline-size: 0; }
.gift-lines__row dd { margin: 0; color: var(--fg); white-space: nowrap; font-variant-numeric: tabular-nums lining-nums; }
.gift-lines__row--quiet dt, .gift-lines__row--quiet dd { color: var(--fg-muted); }
.gift-lines__row:not([hidden]) { animation: gift-row var(--dur-2) var(--ease-out); }
@keyframes gift-row { from { opacity: 0; } }

.gift-total { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-block: .25rem .35rem; }
.gift-total__label { font-size: var(--step--1); color: var(--fg-soft); }
.gift-total__value { font-family: var(--f-display); font-size: var(--step-3); line-height: 1.1; color: var(--fg); }
.gift-total__value.is-bumped { animation: gift-bump var(--dur-3) var(--ease-out); }
@keyframes gift-bump { 35% { color: var(--c-gold-ink); } }
.gift-summary__submit { white-space: normal; }
.gift-summary__nojs { display: none; font-size: var(--step--1); color: var(--fg-muted); }
/* Without JavaScript nothing keeps the progress, the composition, the lines or
   the total in step with the visitor's choices, so rather than show the opening
   suggestion as if it were their gift, the summary says the bag confirms it. */
@media (scripting: none) {
  .gift-progress, .gift-stage, .gift-lines, .gift-total { display: none; }
  .gift-summary__nojs { display: block; }
}
.gift-summary__notes { display: grid; gap: .35rem; margin: .25rem 0 0; padding: 0; list-style: none; font-size: var(--step--2); line-height: 1.5; color: var(--fg-muted); }
.gift-summary__notes:lang(ar) { font-size: .8125rem; }
.gift-summary__notes li { display: flex; gap: .55rem; align-items: baseline; }
.gift-summary__notes .icon { --icon-size: .95rem; color: var(--accent); translate: 0 .15em; }

/* Small screens: the total follows you down the steps */
.gift-bar {
  position: sticky;
  z-index: 5;
  inset-block-end: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-s);
  margin-inline: calc(-1 * var(--gutter));
  padding: .65rem var(--gutter) max(.65rem, env(safe-area-inset-bottom));
  border-block-start: 1px solid var(--line);
  background: rgb(246 241 232 / .94);
  -webkit-backdrop-filter: saturate(1.3) blur(12px);
  backdrop-filter: saturate(1.3) blur(12px);
  transition: translate var(--dur-3) var(--ease-out), opacity var(--dur-2);
}
.gift-bar__total { display: grid; line-height: 1.25; }
.gift-bar__label { font-size: var(--step--2); letter-spacing: var(--track-index); text-transform: uppercase; color: var(--fg-muted); }
.gift-bar__label:lang(ar) { font-size: var(--step--1); text-transform: none; }
.gift-bar__total .num { font-family: var(--f-display); font-size: var(--step-2); color: var(--fg); }
.gift-bar__btn { flex: none; }
.gift-bar__btn .icon { --icon-size: 1.05rem; }
.gift-studio__steps:has(input[type="text"]:focus, textarea:focus) .gift-bar { translate: 0 110%; opacity: 0; pointer-events: none; }
@media (scripting: none) { .gift-bar { display: none; } } /* its total would never change */
@media (min-width: 64em) { .gift-bar { display: none; } }
/* While the bar can be pinned, core keeps a focused field and the toasts clear of it. */
@media (scripting: enabled) and (max-width: 63.99em) {
  html:has(.gift-bar) { --sticky-bar-h: calc(4.25rem + env(safe-area-inset-bottom)); }
}

/* ═════════════════════════════════════════════════════════════════════════════
   05 · WHAT'S INSIDE — four details on olive, and the thank-you line
   ═════════════════════════════════════════════════════════════════════════════ */
.gift-inside__head { display: grid; gap: var(--space-s); margin-block-end: var(--space-xl); max-inline-size: 40rem; }
.gift-inside__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-l) var(--space-s);
  margin: 0;
  padding: 0;
}
@media (min-width: 64em) { .gift-inside__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-m); } }
.gift-inside__figure { margin: 0; }
.gift-inside__media { position: relative; overflow: hidden; aspect-ratio: 1; border-radius: var(--radius-s); background: #2B2418; }
.gift-inside__img { inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform 1.8s var(--ease-out); }
@media (hover: hover) { .gift-inside__item:hover .gift-inside__img { transform: scale(1.04); } }
.gift-inside__caption { display: grid; gap: .2rem; margin-block-start: var(--space-s); padding-block-start: var(--space-s); border-block-start: 1px solid var(--line); }
.gift-inside__index { font-size: var(--step--2); font-weight: 500; letter-spacing: var(--track-caps); color: var(--c-gold); }
.gift-inside__name { font-family: var(--f-display); font-size: var(--step-2); line-height: 1.2; color: var(--fg); }
.gift-inside__name:lang(ar) { line-height: 1.5; }
.gift-inside__echo { font-size: var(--step--2); color: var(--fg-muted); }
.gift-inside__echo:lang(en) { letter-spacing: var(--track-label); text-transform: uppercase; }
.gift-inside__echo:lang(ar) { font-family: var(--f-arabic-display); font-size: var(--step-0); line-height: 1.4; }
.gift-inside__text { margin-block-start: .35rem; font-size: var(--step--1); line-height: 1.6; color: var(--fg-soft); }
.gift-inside__text:lang(ar) { line-height: 1.85; }

.gift-thanks {
  display: grid;
  justify-items: center;
  gap: var(--space-s);
  max-inline-size: 46rem;
  margin: var(--space-3xl) auto 0;
  text-align: center;
}
.gift-thanks__mark { display: block; block-size: 5.5rem; color: var(--c-gold); }
.gift-thanks__mark .brand-svg { block-size: 100%; inline-size: auto; --line-weight: 2.2; }
.gift-thanks__quote p {
  font-family: var(--f-display);
  font-size: var(--step-5);
  font-weight: var(--w-display);
  line-height: 1.1;
  letter-spacing: var(--track-display);
  color: var(--c-ivory);
  text-wrap: balance;
}
.gift-thanks__quote p:lang(en) { font-style: italic; }
.gift-thanks__quote p:lang(ar) { line-height: 1.45; }
.gift-thanks__echo { font-size: var(--step--1); color: var(--fg-muted); }
.gift-thanks__echo:lang(en) { letter-spacing: var(--track-label); text-transform: uppercase; font-size: var(--step--2); }
.gift-thanks__echo:lang(ar) { font-family: var(--f-arabic-display); font-size: var(--step-2); line-height: 1.5; }
.gift-thanks__caption { font-size: var(--step--2); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--c-gold); }
.gift-thanks__caption:lang(ar) { font-size: var(--step--1); text-transform: none; }

/* ═════════════════════════════════════════════════════════════════════════════
   06 · OCCASIONS
   ═════════════════════════════════════════════════════════════════════════════ */
.gift-occasions__layout { display: grid; gap: var(--space-xl); align-items: start; }
@media (min-width: 56em) {
  .gift-occasions__layout { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-2xl); }
  .gift-occasions__media { position: sticky; inset-block-start: calc(var(--header-h) + var(--space-l)); }
}
.gift-occasions__media { position: relative; overflow: hidden; aspect-ratio: 4 / 5; border-radius: var(--radius-s); background: #69563E; }
@media (max-width: 55.99em) { .gift-occasions__media { aspect-ratio: 5 / 4; } }
.gift-occasions__img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.gift-occasions__body { display: grid; gap: var(--space-m); align-content: start; }
.gift-occasions__lede { color: var(--fg-soft); font-size: var(--step-1); line-height: 1.6; max-inline-size: 34em; }
.gift-occasions__lede:lang(ar) { line-height: 1.9; }
.gift-occasions__list { margin: var(--space-s) 0 0; padding: 0; border-block-start: 1px solid var(--line); }
.gift-occasion {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .35rem var(--space-m);
  padding-block: var(--space-m);
  border-block-end: 1px solid var(--line);
}
.gift-occasion__seal { --seal-size: 3.25rem; grid-row: span 2; align-self: start; }
@media (min-width: 40em) { .gift-occasion__seal { grid-row: auto; align-self: center; } }
.gift-occasion__body { display: grid; gap: .2rem; min-inline-size: 0; }
.gift-occasion__title { font-size: var(--step-3); line-height: 1.15; }
.gift-occasion__title:lang(ar) { line-height: 1.45; }
.gift-occasion__line { font-size: var(--step--1); line-height: 1.6; color: var(--fg-muted); max-inline-size: 34em; }
.gift-occasion__line:lang(ar) { line-height: 1.85; }
.gift-occasion__link { justify-self: start; white-space: nowrap; }
@media (min-width: 40em) {
  .gift-occasion { grid-template-columns: auto minmax(0, 1fr) auto; }
}
@media (hover: hover) { .gift-occasion:hover .gift-occasion__seal { transform: rotate(-8deg); } }

/* ═════════════════════════════════════════════════════════════════════════════
   07 · CORPORATE TEASER
   ═════════════════════════════════════════════════════════════════════════════ */
.gift-corporate__layout { display: grid; gap: var(--space-xl); align-items: center; }
@media (min-width: 56em) { .gift-corporate__layout { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--space-2xl); } }
.gift-corporate__media { position: relative; overflow: hidden; margin: 0; aspect-ratio: 4 / 3; border-radius: var(--radius-s); background: #42372A; }
.gift-corporate__img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.gift-corporate__body { display: grid; gap: var(--space-m); justify-items: start; }
.gift-corporate__text { color: var(--fg-soft); max-inline-size: 32em; }
.gift-corporate__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.5rem), 1fr));
  gap: var(--space-s) var(--space-m);
  inline-size: 100%;
  margin: 0;
  padding: var(--space-s) 0;
  border-block: 1px solid var(--line);
  list-style: none;
}
.gift-corporate__facts li { display: grid; gap: .15rem; font-size: var(--step--1); line-height: 1.45; }
.gift-corporate__facts .label { color: var(--fg-muted); }

/* ═════════════════════════════════════════════════════════════════════════════
   08 · CORPORATE PAGE
   ═════════════════════════════════════════════════════════════════════════════ */
.corp-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: calc(var(--header-h) + var(--space-l)) var(--space-2xl);
  background-color: var(--c-olive-deep);
  background-image: var(--grain);
  background-size: 220px 220px;
}
.corp-hero__inner { display: grid; gap: var(--space-xl); align-items: center; }
@media (min-width: 56em) {
  .corp-hero { padding-block-end: var(--space-3xl); }
  .corp-hero__inner { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-l) var(--space-2xl); }
}
.corp-hero__text { display: grid; gap: var(--space-m); justify-items: start; }
.corp-hero .breadcrumbs ol { color: rgb(246 241 232 / .7); }
.corp-hero .breadcrumbs [aria-current="page"] { color: var(--c-ivory); }
.corp-hero__title { color: var(--c-ivory); max-inline-size: 10em; }
.corp-hero__title:lang(ar) { line-height: 1.3; }
.corp-hero__lede { font-family: var(--f-display); font-size: var(--step-2); line-height: 1.42; color: rgb(246 241 232 / .84); max-inline-size: 28em; }
.corp-hero__lede:lang(en) { font-style: italic; }
.corp-hero__lede:lang(ar) { line-height: 1.8; }
.corp-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-s) var(--space-l); }
.corp-hero__media { position: relative; margin: 0; }
.corp-hero__frame { position: relative; overflow: hidden; aspect-ratio: 1; border-radius: var(--radius-s); background: #69563E; }
@media (min-width: 56em) {
  .corp-hero__media { justify-self: end; inline-size: min(100%, 30rem); }
  .corp-hero__frame { aspect-ratio: 4 / 5; }
}
.corp-hero__img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.corp-hero__media::before {
  content: "";
  position: absolute;
  inset: calc(-1 * var(--space-s));
  inset-inline-start: var(--space-l);
  inset-block-end: var(--space-l);
  border: 1px solid rgb(200 154 74 / .45);
  border-radius: var(--radius-s);
  pointer-events: none;
}
.corp-hero__caption { margin-block-start: var(--space-s); font-size: var(--step--2); letter-spacing: var(--track-index); text-transform: uppercase; color: rgb(246 241 232 / .62); }
.corp-hero__caption:lang(ar) { font-size: var(--step--1); text-transform: none; }
.corp-hero__watermark {
  position: absolute;
  z-index: -1;
  inset-block-end: -6rem;
  inset-inline-start: -4rem;
  block-size: 30rem;
  color: var(--c-gold);
  opacity: .1;
}
.corp-hero__watermark .brand-svg { block-size: 100%; inline-size: auto; --line-weight: 1.4; }

/* Proposition */
.corp-statement { display: grid; justify-items: center; gap: var(--space-l); text-align: center; }
.corp-statement__text {
  max-inline-size: 22em;
  font-family: var(--f-display);
  font-size: var(--step-4);
  line-height: 1.2;
  color: var(--fg);
  text-wrap: balance;
}
.corp-statement__text:lang(ar) { line-height: 1.6; }
.corp-statement__text em { color: var(--accent); }
.corp-pillars { display: grid; gap: var(--space-xl) var(--space-l); margin: var(--space-xl) 0 0; padding: 0; list-style: none; }
@media (min-width: 48em) { .corp-pillars { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.corp-pillar { display: grid; justify-items: center; align-content: start; gap: var(--space-s); text-align: center; }
.corp-pillar__seal { --seal-size: 4.25rem; }
.corp-pillar__title { font-size: var(--step-2); }
.corp-pillar__text { font-size: var(--step--1); line-height: 1.65; color: var(--fg-muted); max-inline-size: 22rem; }
.corp-pillar__text:lang(ar) { line-height: 1.9; }

/* Process — a hairline that runs through four numbered moments */
.corp-process__head { display: grid; gap: var(--space-s); margin-block-end: var(--space-xl); }
.corp-process__list { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.corp-step {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .35rem var(--space-m);
  padding-block: var(--space-m);
  border-block-start: 1px solid var(--line);
}
.corp-step__num {
  grid-row: span 2;
  font-family: var(--f-latin-display);
  font-size: var(--step-5);
  font-weight: 300;
  line-height: .85;
  color: var(--accent);
  min-inline-size: 1.3em;
}
.corp-step__title { display: flex; align-items: center; gap: .6rem; font-size: var(--step-2); line-height: 1.25; }
.corp-step__title .icon { --icon-size: 1.15rem; color: var(--accent); }
.corp-step__text { font-size: var(--step--1); line-height: 1.65; color: var(--fg-muted); max-inline-size: 30em; }
.corp-step__text:lang(ar) { line-height: 1.9; }
@media (min-width: 56em) {
  .corp-process__list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-l); }
  .corp-step { grid-template-columns: minmax(0, 1fr); align-content: start; gap: var(--space-s); padding-block: var(--space-l) 0; border-block-start: 0; }
  .corp-step::before {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline: 0 calc(-1 * var(--space-l));
    block-size: 1px;
    background: var(--line-strong);
  }
  .corp-step:last-child::before { inset-inline-end: 0; }
  .corp-step::after {
    content: "";
    position: absolute;
    inset-block-start: -3px;
    inset-inline-start: 0;
    inline-size: 7px;
    block-size: 7px;
    background: var(--c-gold);
    transform: rotate(45deg);
  }
  .corp-step__num { grid-row: auto; }
}

/* Personalisation */
.corp-personal__head { display: grid; gap: var(--space-s); margin-block-end: var(--space-xl); max-inline-size: 44rem; }
.corp-personal__grid { display: grid; gap: var(--space-l) var(--space-m); margin: 0; padding: 0; list-style: none; }
@media (min-width: 40em) { .corp-personal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 72em) { .corp-personal__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.corp-option { display: grid; gap: var(--space-s); align-content: start; }
.corp-option__media { position: relative; overflow: hidden; aspect-ratio: 4 / 5; border-radius: var(--radius-s); background: #2B2418; }
@media (max-width: 39.99em) { .corp-option__media { aspect-ratio: 3 / 2; } }
.corp-option__img { inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform 1.8s var(--ease-out); }
.corp-option__img--family-corporate { object-position: 0 50%; } /* the «YOUR LOGO» box stands at the photo's left */
@media (hover: hover) { .corp-option:hover .corp-option__img { transform: scale(1.04); } }
.corp-option__index { font-size: var(--step--2); font-weight: 500; letter-spacing: var(--track-caps); color: var(--accent); }
.corp-option__title { font-size: var(--step-2); line-height: 1.25; }
.corp-option__title:lang(ar) { line-height: 1.5; }
.corp-option__text { font-size: var(--step--1); line-height: 1.65; color: var(--fg-muted); }
.corp-option__text:lang(ar) { line-height: 1.9; }
.corp-option--map .corp-option__media {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: var(--space-s);
  padding: var(--space-m);
  background-color: var(--c-olive-deep);
  background-image: var(--grain);
  background-size: 220px 220px;
  color: var(--c-ivory);
  text-align: center;
}
.corp-map__seal { --seal-size: 3.5rem; color: var(--c-gold); }
.corp-map__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .15rem .75rem;
  inline-size: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: var(--f-display);
  font-size: var(--step-1);
  line-height: 1.5;
  color: rgb(246 241 232 / .9);
}
.corp-map__list:lang(ar) { font-size: var(--step-2); line-height: 1.6; }
.corp-map__list li { white-space: nowrap; }

/* Inquiry */
.corp-inquiry__layout { display: grid; gap: var(--space-2xl); align-items: start; }
@media (min-width: 64em) { .corp-inquiry__layout { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); gap: clamp(3rem, 6vw, 7rem); } }
.corp-inquiry__aside { display: grid; gap: var(--space-m); align-content: start; }
@media (min-width: 64em) { .corp-inquiry__aside { position: sticky; inset-block-start: calc(var(--header-h) + var(--space-l)); } }
.corp-inquiry__lede { color: var(--fg-soft); }
.corp-contact { display: grid; gap: .1rem; margin: var(--space-xs) 0 0; padding: 0; list-style: none; }
.corp-contact a {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  min-block-size: 2.75rem;
  color: var(--fg);
  text-decoration: none;
  font-size: var(--step--1);
}
.corp-contact a:hover { color: var(--accent); }
.corp-contact .icon { --icon-size: 1.05rem; color: var(--accent); }

.corp-form {
  position: relative;
  display: grid;
  gap: var(--space-l);
  padding: clamp(1.5rem, 1rem + 2.5vw, 3rem);
  border: 1px solid var(--line);
  border-radius: var(--radius-s);
  background: var(--c-ivory);
  background-image: url("../../img/texture/paper.14e96cbe7863.webp");
  background-size: 512px 512px;
  background-blend-mode: multiply;
}
.corp-form__group { min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.corp-form__legend { display: flex; align-items: baseline; gap: .6rem; padding: 0; margin-block-end: var(--space-s); inline-size: 100%; }
.corp-form__legend .section-label { inline-size: 100%; }
.corp-form .field__help { font-size: var(--step--2); }
.corp-form .field__help:lang(ar) { font-size: .8125rem; }
.corp-form .check { inline-size: auto; color: var(--fg); }
.corp-form__actions { display: grid; gap: var(--space-s); justify-items: start; }
.corp-form__note { font-size: var(--step--2); color: var(--fg-muted); }
.corp-form__note:lang(ar) { font-size: .8125rem; }
.corp-form__status:empty { display: none; }
.corp-form__status { font-size: var(--step--1); color: var(--fg-soft); }
.corp-form__status.is-error { color: var(--error); }

.corp-done {
  display: none;
  justify-items: center;
  gap: var(--space-s);
  padding-block: var(--space-xl);
  text-align: center;
}
.corp-done__mark { block-size: 4.5rem; color: var(--c-gold); }
.corp-done__mark .brand-svg { block-size: 100%; inline-size: auto; }
.corp-done__title { font-size: var(--step-3); }
.corp-done__text { max-inline-size: 30em; color: var(--fg-soft); }
.corp-form.is-done > :not(.corp-done) { display: none; }
.corp-form.is-done .corp-done { display: grid; }
