:root{--ink:#2f2925;--wine:#6e2733;--rose:#b68183;--blush:#f0dfd8;--ivory:#fbf8f2;--cream:#f3eee5;--line:#d8cdc2;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--ivory);font-family:var(--sans);font-size:16px;line-height:1.65}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.skip-link{position:fixed;left:1rem;top:-100px;background:#fff;padding:.7rem 1rem;z-index:100}.skip-link:focus{top:1rem}.topbar{height:32px;background:var(--wine);color:#fff;text-align:center;font-size:10px;letter-spacing:.21em;display:flex;align-items:center;justify-content:center}.topbar span{margin:0 12px;color:#d9a2a7}.site-header{height:86px;display:flex;align-items:center;padding:0 5vw;border-bottom:1px solid rgba(87,67,58,.12);background:rgba(251,248,242,.95);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.brand{font-family:var(--serif);font-size:24px;line-height:1}.brand span{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.38em;margin-bottom:5px}.site-header nav{display:flex;gap:2.2rem;margin:auto;font-size:13px}.site-header nav a{position:relative}.site-header nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--wine);transition:.25s}.site-header nav a:hover:after{right:0}.button{border:0;background:var(--wine);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:1.6rem;min-height:52px;padding:0 24px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:.25s}.button:hover{background:#55202a;transform:translateY(-2px);box-shadow:0 10px 30px rgba(77,36,43,.16)}.button-small{min-height:42px;padding:0 20px}.menu-toggle{display:none;background:none;border:0;font:inherit}.hero{min-height:calc(100vh - 118px);display:grid;grid-template-columns:47% 53%;grid-template-rows:1fr auto;position:relative;background:#f4ede4}.hero-copy{padding:9vh 5vw 6vh 7vw;display:flex;flex-direction:column;justify-content:center}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:600;color:var(--wine);margin:0 0 20px}.pulse{width:6px;height:6px;border-radius:50%;background:#77916a;display:inline-block;margin-right:8px;box-shadow:0 0 0 5px rgba(119,145,106,.13)}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;margin:0}h1{font-size:clamp(3.2rem,5.2vw,6.25rem);letter-spacing:-.035em}h1 em,h2 em{font-weight:400;color:var(--rose)}.hero-text{max-width:620px;font-size:15px;color:#645b55;margin:30px 0}.hero-actions{display:flex;align-items:center;gap:28px}.text-link{font-size:12px;font-weight:600;border-bottom:1px solid #b6aaa0;padding:8px 0}.text-link span{margin-left:18px}.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:34px;font-size:11px;color:#6f6660}.trust-grid span::first-letter{color:var(--rose)}.hero-visual{position:relative;min-height:590px}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,237,228,.2),transparent 28%)}.hero-note{position:absolute;right:5%;bottom:5%;z-index:2;width:145px;height:145px;border-radius:50%;background:rgba(255,252,246,.92);display:flex;align-items:center;justify-content:center;gap:10px;font-size:10px;letter-spacing:.08em;transform:rotate(-7deg);box-shadow:0 15px 40px rgba(44,33,29,.13)}.hero-note strong{font-family:var(--serif);font-size:18px}.flower-mark{font-size:24px;color:var(--rose)}.worldwide{grid-column:1/-1;margin:0;padding:14px 5vw;text-align:center;background:#fff;font-size:11px;letter-spacing:.06em}.worldwide span{margin-left:12px;color:#8d8179}.section{padding:110px 7vw}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:48px}.section-head h2,.center-head h2,.about h2,.delivery h2,.order h2,.gesture h2{font-size:clamp(2.7rem,4.4vw,5.3rem)}.section-head>p{max-width:480px;color:#716761;font-size:14px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 18px}.product{background:#fff;transition:.3s}.product:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(75,55,46,.1)}.product-image{height:390px;position:relative;overflow:hidden;background:#eadbd0}.product-image img{transition:.6s}.product:hover img{transform:scale(1.035)}.product-image span{position:absolute;top:15px;left:15px;background:#fff8;padding:7px 12px;border-radius:20px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;backdrop-filter:blur(6px)}.product:nth-child(2) img,.product:nth-child(7) img{object-position:50% 58%}.product:nth-child(3) img,.product:nth-child(5) img,.product:nth-child(6) img,.product:nth-child(8) img{object-position:50% 55%}.product-copy{padding:22px}.product h3{font-size:28px}.product p{font-size:12px;color:#776c65;min-height:42px}.product a{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);padding-bottom:5px}.gesture{display:grid;grid-template-columns:1fr 1fr;background:#52313a;color:#fff}.gesture-image{height:720px}.gesture-copy{padding:9vw;display:flex;flex-direction:column;justify-content:center}.gesture .kicker{color:#dab0b2}.gesture h2{color:#fff}.gesture-copy>p:not(.kicker){max-width:520px;color:#e7dcda;font-size:15px}.button-light{background:#fff;color:#5f2d38;margin-top:20px;align-self:flex-start}.button-light:hover{background:#f6e9e5}.center-head{text-align:center;max-width:820px;margin:0 auto 48px}.center-head>p:last-child{color:#756c65}.occasion-list{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:1050px;margin:auto}.occasion-list span{background:#fff;border:1px solid var(--line);border-radius:50px;padding:13px 23px;font-family:var(--serif);font-size:20px}.how{background:#eee6dc}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cfc1b5;border:1px solid #cfc1b5}.steps article{background:#f7f2eb;padding:48px}.steps span{font-family:var(--serif);color:var(--rose);font-size:48px}.steps h3{font-size:29px;margin:16px 0}.steps p{font-size:13px;color:#756c65}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9vw}.about-copy>p:not(.kicker){color:#6f655f;max-width:560px}.about-image{height:680px;position:relative}.about-image span{position:absolute;right:-35px;bottom:45px;background:var(--wine);color:#fff;width:145px;height:145px;border-radius:50%;display:grid;place-content:center;text-align:center;font-family:var(--serif);font-size:18px;transform:rotate(7deg)}.why{background:#322a27;color:#fff}.light .kicker{color:#d1a2a5}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #665a54}.why-grid article{padding:45px 34px;border-right:1px solid #665a54}.why-grid article:last-child{border:0}.why-grid b{font-family:var(--serif);color:#c9999c;font-size:33px;font-weight:400}.why-grid h3{font-size:27px;margin:32px 0 12px}.why-grid p{font-size:12px;color:#c7beb8}.delivery{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.delivery p{color:#6f655f;max-width:560px}.delivery .button{margin-top:20px}.areas{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2.6rem);line-height:1.55;color:#7e6461}.testimonials{background:#f1e9e1}.review-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.review-grid blockquote{margin:0;background:#fff;padding:32px;min-height:270px;display:flex;flex-direction:column}.review-grid blockquote div{color:#a66f72;letter-spacing:.2em;font-size:11px}.review-grid blockquote p{font-family:var(--serif);font-size:20px;line-height:1.45}.review-grid footer{font-size:11px;margin-top:auto;color:#81746c}.payments{text-align:center;padding:40px 5vw;background:#fff;border-block:1px solid var(--line)}.payments p{text-transform:uppercase;font-size:9px;letter-spacing:.2em;color:#8b7e76}.payments div{font-family:var(--serif);font-size:18px;word-spacing:8px}.payments span{color:#c4aba7}.order{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:#f2e8e1}.order-intro>p:not(.kicker){color:#6e635d;max-width:440px}.contact-card{margin-top:40px;border-left:2px solid var(--rose);padding:10px 20px;display:flex;flex-direction:column}.contact-card span,.contact-card small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#8b7c74}.contact-card strong{font-family:var(--serif);font-size:26px;font-weight:400}.order form{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#fff;padding:45px;box-shadow:0 24px 60px rgba(70,48,40,.08)}.field{display:flex;flex-direction:column}.full{grid-column:1/-1}.field label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:7px}.field input,.field select,.field textarea{font:inherit;font-size:13px;color:var(--ink);background:#fcfaf7;border:1px solid #d7cbc2;padding:14px;border-radius:0;min-width:0}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #c49b9d;outline-offset:1px}.submit{width:100%;margin-top:5px}.form-note{text-align:center;color:#8d8179;font-size:10px;margin:0}.faq-list{max-width:920px;margin:auto;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:25px 5px;font-family:var(--serif);font-size:21px;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{font-family:var(--sans);font-weight:300;transition:.2s}details[open] summary span{transform:rotate(45deg)}details p{color:#6d645e;margin:0;padding:0 40px 25px 5px;font-size:13px}.footer{background:#292321;color:#fff;padding:70px 7vw 25px;text-align:center}.footer-brand{font-size:34px}.footer>p{color:#bfb5af;font-size:12px}.footer-links{display:flex;justify-content:center;gap:28px;font-size:12px;margin:30px}.footer-bottom{border-top:1px solid #514844;padding-top:22px;display:flex;justify-content:space-between;color:#9f958f;font-size:10px}.mobile-whatsapp{display:none}.fade-up{opacity:0;transform:translateY(20px);transition:.7s ease}.fade-up.visible{opacity:1;transform:none}
@media(max-width:1000px){.site-header nav{gap:1.2rem}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding-left:5vw}.product-grid{grid-template-columns:repeat(2,1fr)}.why-grid,.review-grid{grid-template-columns:1fr 1fr}.why-grid article:nth-child(2){border-right:0}.order{grid-template-columns:1fr}.about{gap:5vw}}
@media(max-width:720px){body{padding-bottom:66px}.topbar{font-size:8px;letter-spacing:.12em}.site-header{height:70px;padding:0 20px}.menu-toggle{display:block;margin-left:auto}.header-cta{display:none}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--ivory);padding:22px;flex-direction:column;box-shadow:0 15px 20px #0001}.site-header nav.open{display:flex}.hero{display:flex;flex-direction:column}.hero-copy{padding:70px 24px 45px}.hero h1{font-size:3.5rem}.hero-text{font-size:13px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.trust-grid{grid-template-columns:1fr;margin-top:28px}.hero-visual{min-height:440px}.worldwide span{display:block;margin:3px 0 0}.section{padding:75px 22px}.section-head{display:block}.section-head>p{margin-top:20px}.product-grid{grid-template-columns:1fr 1fr;gap:12px}.product-image{height:245px}.product-copy{padding:15px}.product h3{font-size:22px}.product p{font-size:10px;line-height:1.5;min-height:48px}.product a{font-size:8px}.gesture{grid-template-columns:1fr}.gesture-image{height:470px}.gesture-copy{padding:75px 24px}.occasion-list{gap:8px}.occasion-list span{font-size:15px;padding:9px 15px}.steps{grid-template-columns:1fr}.steps article{padding:35px}.about{grid-template-columns:1fr}.about-image{height:500px;margin-top:20px}.about-image span{right:-10px;width:120px;height:120px}.why-grid,.review-grid{grid-template-columns:1fr}.why-grid article{border-right:0;border-bottom:1px solid #665a54}.delivery{grid-template-columns:1fr}.areas{margin-top:15px}.order form{grid-template-columns:1fr;padding:24px}.field{grid-column:1/-1}.payments div{font-size:15px}.footer-links,.footer-bottom{flex-direction:column;gap:12px}.mobile-whatsapp{display:flex;position:fixed;z-index:30;bottom:0;left:0;right:0;height:66px;background:#245b45;color:#fff;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:600;box-shadow:0 -10px 30px #0002}}
@media(max-width:420px){.product-grid{grid-template-columns:1fr}.product-image{height:390px}.topbar{white-space:nowrap;overflow:hidden}.hero h1{font-size:3.05rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.fade-up{opacity:1;transform:none}}

/* Consolidated performance-safe overrides from w3forms.css */
.form-botcheck {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  pointer-events: none !important;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.form-status {
  min-height: 22px;
  margin: 0;
  color: #756c65;
  font-size: 12px;
  text-align: center;
}

.form-status:empty { display: none; }
.form-status.success { color: #2f6f4e; }
.form-status.error { color: #9b2f3f; }

.submit:disabled {
  opacity: .65;
  cursor: wait;
  transform: none;
  box-shadow: none;
}

.whatsapp-icon {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}

.header-whatsapp {
  width: 42px;
  height: 42px;
  margin-right: 10px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: #fff;
  background: #128c4f;
  transition: transform .25s, box-shadow .25s, background .25s;
}

.header-whatsapp:hover {
  background: #0f7a45;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(37, 211, 102, .25);
}

/* Accessibility contrast refinements: same luxury palette, stronger WCAG AA text contrast */
:root {
  --ink: #2f2926;
  --wine: #7a2438;
  --rose: #8a4f58;
  --line: #cdbeb3;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid #8a6a3e;
  outline-offset: 4px;
}

.skip-link {
  color: #2f2926;
  box-shadow: 0 8px 24px rgba(47, 41, 38, .18);
}

.topbar {
  background: #7a2438;
  color: #fff;
}

.topbar span {
  color: #f2c9ce;
}

.brand,
.site-header nav a,
summary {
  color: #2f2926;
}

h1 em,
h2 em,
.flower-mark {
  color: #8a4f58;
}

.hero-text,
.section-head > p,
.center-head > p:last-child,
.product p,
.steps p,
.about-copy > p:not(.kicker),
.delivery p,
details p,
.order-intro > p:not(.kicker),
.form-status,
.form-note {
  color: #5f5650;
}

.eyebrow,
.kicker,
.product a,
.text-link {
  color: #7a2438;
}

.text-link {
  border-bottom-color: #8a6a3e;
}

.trust-grid {
  color: #5f5650;
}

.trust-grid span span,
.review-grid blockquote div,
.payments span {
  color: #76572e;
}

.worldwide {
  color: #5f5650;
}

.worldwide span {
  color: #5f5650;
}

.hero-note {
  color: #2f2926;
}

.product-image span {
  color: #2f2926;
  background: rgba(255, 255, 255, .88);
}

.button {
  background: #7a2438;
  color: #fff;
}

.button:hover {
  background: #5f1c2b;
}

.button-light {
  background: #fff;
  color: #5f1c2b;
}

.button-light:hover {
  background: #f7eee9;
}

.gesture .kicker,
.light .kicker,
.why-grid b {
  color: #efc1c6;
}

.gesture h2 em {
  color: #efc1c6;
}

.gesture-copy > p:not(.kicker),
.why-grid p {
  color: #f0e6e1;
}

.areas {
  color: #6f4f4c;
}

.review-grid footer,
.payments p,
.contact-card span,
.contact-card small {
  color: #5f5650;
}

.field label {
  color: #2f2926;
}

.field input,
.field select,
.field textarea {
  color: #2f2926;
  border-color: #b9aaa0;
}

.field input::placeholder,
.field textarea::placeholder {
  color: #6f665f;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  outline-color: #8a6a3e;
}

.footer > p,
.footer-bottom {
  color: #ddd2cc;
}

.footer .brand {
  color: #fff;
}

.footer .brand span {
  color: #ddd2cc;
}

.footer-links a {
  color: #fff;
}

.mobile-whatsapp {
  background: #1f5a43;
  color: #fff;
}

/* Responsive and rendering improvements */
html {
  scroll-padding-top: 100px;
}

body {
  overflow-x: clip;
}

img {
  max-width: 100%;
}

section[id] {
  scroll-margin-top: 100px;
}

.contact-card strong,
.footer-links a {
  overflow-wrap: anywhere;
}

.menu-toggle {
  min-width: 44px;
  min-height: 44px;
  padding: 0 10px;
  cursor: pointer;
}

.catalog,
.occasions,
.how,
.about,
.why,
.delivery,
.testimonials,
.payments,
.order,
.faq {
  content-visibility: auto;
  contain-intrinsic-size: auto 800px;
}

@media (max-width: 1180px) {
  .site-header {
    padding-inline: 3vw;
  }

  .site-header nav {
    gap: 1.15rem;
  }

  .header-cta {
    padding-inline: 16px;
  }
}

@media (max-width: 900px) {
  .site-header {
    height: 74px;
    padding-inline: 20px;
    backdrop-filter: none;
  }

  .menu-toggle {
    display: block;
    margin-left: auto;
  }

  .header-cta {
    display: none;
  }

  .site-header nav {
    display: none;
    position: absolute;
    top: 74px;
    left: 0;
    right: 0;
    max-height: calc(100vh - 74px);
    overflow-y: auto;
    padding: 22px;
    flex-direction: column;
    gap: 1rem;
    background: var(--ivory);
    border-top: 1px solid var(--line);
    box-shadow: 0 15px 25px rgba(47, 41, 37, .1);
  }

  .site-header nav.open {
    display: flex;
  }

  .header-whatsapp {
    width: 40px;
    height: 40px;
    margin-right: 0;
    margin-left: 8px;
  }
}

@media (min-width: 721px) and (max-width: 820px) {
  .hero {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }

  .hero-copy {
    padding: 72px 8vw 54px;
  }

  .hero-visual {
    min-height: 520px;
  }

  .worldwide {
    grid-column: 1;
  }
}

@media (max-width: 720px) {
  body {
    padding-bottom: calc(66px + env(safe-area-inset-bottom));
  }

  .site-header {
    height: 70px;
  }

  .site-header nav {
    top: 70px;
    max-height: calc(100vh - 70px);
  }

  .brand {
    font-size: 22px;
  }

  .hero-copy {
    padding: 58px 20px 40px;
  }

  .hero h1 {
    font-size: clamp(2.65rem, 12.5vw, 3.5rem);
  }

  .hero-text {
    margin-block: 24px;
    font-size: 14px;
  }

  .hero-visual {
    min-height: 0;
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .hero-note {
    width: 112px;
    height: 112px;
    right: 14px;
    bottom: 14px;
  }

  .section {
    padding: 64px 20px;
  }

  .section-head,
  .center-head {
    margin-bottom: 34px;
  }

  .section-head h2,
  .center-head h2,
  .about h2,
  .delivery h2,
  .order h2,
  .gesture h2 {
    font-size: clamp(2.35rem, 11vw, 3.4rem);
  }

  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-image {
    height: auto;
    aspect-ratio: 4 / 5;
  }

  .product-copy {
    padding: 14px;
  }

  .product h3 {
    font-size: clamp(1.2rem, 5.2vw, 1.5rem);
  }

  .product p {
    min-height: 0;
  }

  .product a {
    display: inline-block;
    margin-top: 4px;
    line-height: 1.5;
  }

  .gesture-image,
  .about-image {
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 5;
  }

  .gesture-copy {
    padding: 64px 24px;
  }

  .about-image span {
    right: 12px;
    bottom: 12px;
  }

  .steps article,
  .why-grid article,
  .review-grid blockquote {
    padding: 28px 24px;
  }

  .review-grid blockquote {
    min-height: 0;
  }

  .order {
    gap: 38px;
  }

  .order form {
    gap: 16px;
    padding: 22px 18px;
  }

  .contact-card strong {
    font-size: clamp(1.2rem, 6vw, 1.6rem);
  }

  summary {
    padding-block: 21px;
    font-size: 19px;
  }

  .mobile-whatsapp {
    min-height: 66px;
    height: auto;
    padding: 14px 20px calc(14px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 520px) {
  .product-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .product-image {
    aspect-ratio: 4 / 5;
  }

  .product-copy {
    padding: 18px;
  }

  .product h3 {
    font-size: 1.65rem;
  }

  .topbar {
    padding-inline: 12px;
    white-space: nowrap;
    overflow: hidden;
  }

  .hero-actions .button {
    width: 100%;
  }

  .occasion-list span {
    font-size: 14px;
  }

  .payments {
    padding-inline: 20px;
  }

  .payments div {
    word-spacing: 3px;
  }
}

@media (max-width: 360px) {
  .site-header {
    padding-inline: 14px;
  }

  .brand {
    font-size: 20px;
  }

  .brand span {
    letter-spacing: .28em;
  }

  .header-whatsapp {
    width: 38px;
    height: 38px;
    margin-left: 4px;
  }

  .menu-toggle {
    min-width: 40px;
    padding-inline: 6px;
  }

  .hero-copy,
  .section {
    padding-inline: 16px;
  }
}

@media (min-width: 1600px) {
  .site-header {
    padding-inline: max(5vw, calc((100vw - 1600px) / 2));
  }

  .section {
    padding-inline: max(7vw, calc((100vw - 1600px) / 2));
  }

  .hero-copy {
    padding-left: max(7vw, calc((100vw - 1600px) / 2));
  }
}

@media (hover: none) {
  .button:hover,
  .product:hover,
  .product:hover img,
  .header-whatsapp:hover {
    transform: none;
    box-shadow: none;
  }
}

/* Localized language switcher and Arabic RTL support */
.language-switcher{display:inline-flex;align-items:center;gap:.45rem;margin-left:.8rem;font-size:11px;letter-spacing:.08em}
.language-switcher a{padding:.2rem .35rem;border-bottom:1px solid transparent;color:#5f5650}
.language-switcher a[aria-current="page"]{color:#7a2438;border-bottom-color:#8a6a3e}
html[dir="rtl"] body{text-align:right}
html[dir="rtl"] .hero-copy,html[dir="rtl"] .product-copy,html[dir="rtl"] .gesture-copy,html[dir="rtl"] .about-copy,html[dir="rtl"] .delivery,html[dir="rtl"] .order-intro,html[dir="rtl"] .faq-list,html[dir="rtl"] .field{text-align:right}
html[dir="rtl"] .section-head,html[dir="rtl"] .hero-actions,html[dir="rtl"] .footer-bottom,html[dir="rtl"] .footer-links{direction:rtl}
html[dir="rtl"] .field input,html[dir="rtl"] .field textarea,html[dir="rtl"] .field select{text-align:right}
html[dir="rtl"] input[type="email"],html[dir="rtl"] input[type="tel"]{direction:ltr;text-align:left}
@media(max-width:900px){.language-switcher{margin-left:0;margin-top:.35rem}}
/* Mobile horizontal overflow lock */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overscroll-behavior-x: none;
}

body {
  position: relative;
}

.topbar,
.site-header,
main,
section,
.hero,
.gesture,
.order,
.footer,
.mobile-whatsapp {
  max-width: 100%;
}

button,
.button,
.text-link,
.field input,
.field select,
.field textarea,
.contact-card,
.footer-links a {
  max-width: 100%;
}

@media (max-width: 720px) {
  .topbar {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    padding-inline: 12px;
    text-overflow: ellipsis;
  }

  .site-header,
  .site-header nav,
  .hero,
  .section,
  .gesture,
  .order,
  .payments,
  .footer {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .site-header nav,
  .language-switcher,
  .hero-actions,
  .footer-links,
  .footer-bottom {
    min-width: 0;
  }

  .language-switcher {
    flex-wrap: wrap;
  }

  .button {
    white-space: normal;
    text-align: center;
  }

  .mobile-whatsapp {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
  }
}

/* Premium simplified order form */
.order{align-items:start}
.order-intro>p:not(.kicker){max-width:470px}
.contact-card{
  margin-top:34px;
  padding:18px 22px;
  border:1px solid rgba(138,106,62,.2);
  border-left:0;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,252,248,.96));
  box-shadow:0 18px 40px rgba(80,58,49,.06)
}
.order form{
  position:relative;
  gap:18px;
  padding:34px;
  border:1px solid rgba(138,106,62,.16);
  border-radius:30px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(252,248,243,.96));
  box-shadow:0 26px 70px rgba(70,48,40,.09)
}
.field label{
  margin-bottom:9px;
  color:#5f5650;
  letter-spacing:.14em
}
.field input,
.field select,
.field textarea{
  min-height:56px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid #d7cbc2;
  background:#fffdfa;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 10px 24px rgba(74,49,43,.03);
  transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease,transform .22s ease
}
.field textarea{
  min-height:132px;
  resize:vertical
}
.field input::placeholder,
.field textarea::placeholder{
  color:#998c84
}
.field input:hover,
.field select:hover,
.field textarea:hover{
  border-color:#c8b7ad;
  background:#fff
}
.field input:focus,
.field select:focus,
.field textarea:focus{
  outline:none;
  border-color:#9a5f68;
  background:#fff;
  box-shadow:0 0 0 4px rgba(154,95,104,.12),0 16px 34px rgba(85,52,58,.08)
}
.submit{
  min-height:58px;
  margin-top:8px;
  box-shadow:0 16px 34px rgba(110,39,51,.18)
}
.submit:hover{box-shadow:0 20px 40px rgba(110,39,51,.22)}
.form-status{
  padding-inline:4px;
  font-size:12px
}
.form-note{
  color:#756b64;
  font-size:11px;
  text-align:left
}
html[dir="rtl"] .form-note{text-align:right}
@media (max-width:1000px){
  .order form{padding:30px}
}
@media (max-width:720px){
  .contact-card{
    margin-top:28px;
    padding:16px 18px;
    border-radius:20px
  }
  .order form{
    gap:16px;
    padding:22px;
    border-radius:24px
  }
  .field input,
  .field select,
  .field textarea{
    min-height:54px;
    border-radius:16px
  }
  .field textarea{min-height:124px}
}
/* SVG CTA arrows */
.cta-arrow{
  flex:0 0 auto;
  display:inline-block;
  vertical-align:middle;
  width:14px;
  height:14px
}
.button .cta-arrow,
.button-small .cta-arrow,
.submit .cta-arrow{
  color:currentColor
}
.text-link .cta-arrow,
.footer-bottom a .cta-arrow{
  margin-left:18px
}
html[dir="rtl"] .text-link .cta-arrow,
html[dir="rtl"] .footer-bottom a .cta-arrow{
  margin-left:0;
  margin-right:18px
}

/* Typography readability tuning */
body{
  font-size:17px;
  line-height:1.72
}
.eyebrow,
.kicker{
  font-size:11px
}
.button{
  font-size:15px
}
.button-small{
  font-size:14px
}
.text-link{
  font-size:14px
}
.hero-text,
.section-head>p,
.center-head>p:last-child,
.gesture-copy>p:not(.kicker),
.about-copy>p:not(.kicker),
.delivery p,
.order-intro>p:not(.kicker),
.steps p,
.why-grid p,
.product p,
details p,
.footer>p{
  font-size:16px;
  line-height:1.78
}
.worldwide,
.footer-links a,
.review-grid footer,
.form-note,
.form-status{
  font-size:13px
}
.payments p,
.contact-card span,
.contact-card small,
.field label{
  font-size:13px
}
.field input,
.field select,
.field textarea{
  font-size:16px;
  line-height:1.6
}
.product h3{
  font-size:31px
}
.product p{
  min-height:76px
}
.product a{
  font-size:13px
}
.steps h3,
.why-grid h3{
  line-height:1.18
}
summary{
  font-size:24px
}
html[lang="ar"] body{
  line-height:1.8
}
html[lang="ar"] .hero-text,
html[lang="ar"] .section-head>p,
html[lang="ar"] .center-head>p:last-child,
html[lang="ar"] .gesture-copy>p:not(.kicker),
html[lang="ar"] .about-copy>p:not(.kicker),
html[lang="ar"] .delivery p,
html[lang="ar"] .order-intro>p:not(.kicker),
html[lang="ar"] .steps p,
html[lang="ar"] .why-grid p,
html[lang="ar"] .product p,
html[lang="ar"] details p{
  font-size:17px;
  line-height:1.9
}
html[lang="ar"] .button,
html[lang="ar"] .text-link,
html[lang="ar"] .field label,
html[lang="ar"] .field input,
html[lang="ar"] .field select,
html[lang="ar"] .field textarea,
html[lang="ar"] .product a,
html[lang="ar"] .footer-links a,
html[lang="ar"] .worldwide{
  font-size:16px
}
@media (max-width:1000px){
  body{
    font-size:16.5px
  }
  .button,
  html[lang="ar"] .button{
    font-size:15px
  }
  .hero-text,
  .section-head>p,
  .center-head>p:last-child,
  .gesture-copy>p:not(.kicker),
  .about-copy>p:not(.kicker),
  .delivery p,
  .order-intro>p:not(.kicker),
  .steps p,
  .why-grid p,
  .product p,
  details p{
    font-size:15.5px
  }
  .field label,
  .payments p,
  .contact-card span,
  .contact-card small{
    font-size:12.5px
  }
}
@media (max-width:720px){
  body{
    font-size:16px;
    line-height:1.7
  }
  .eyebrow,
  .kicker{
    font-size:11px
  }
  .button,
  .button-small,
  .text-link{
    font-size:15px
  }
  .hero-text,
  .section-head>p,
  .center-head>p:last-child,
  .gesture-copy>p:not(.kicker),
  .about-copy>p:not(.kicker),
  .delivery p,
  .order-intro>p:not(.kicker),
  .steps p,
  .why-grid p,
  .product p,
  details p,
  .footer>p{
    font-size:16px;
    line-height:1.75
  }
  .worldwide,
  .footer-links a,
  .review-grid footer,
  .form-note,
  .form-status,
  .field label{
    font-size:13px
  }
  .field input,
  .field select,
  .field textarea{
    font-size:16px
  }
  .product h3{
    font-size:24px
  }
  .product p{
    min-height:0
  }
  .product a{
    font-size:12px
  }
  summary{
    font-size:22px
  }
  html[lang="ar"] body{
    line-height:1.82
  }
  html[lang="ar"] .hero-text,
  html[lang="ar"] .section-head>p,
  html[lang="ar"] .center-head>p:last-child,
  html[lang="ar"] .gesture-copy>p:not(.kicker),
  html[lang="ar"] .about-copy>p:not(.kicker),
  html[lang="ar"] .delivery p,
  html[lang="ar"] .order-intro>p:not(.kicker),
  html[lang="ar"] .steps p,
  html[lang="ar"] .why-grid p,
  html[lang="ar"] .product p,
  html[lang="ar"] details p,
  html[lang="ar"] .button,
  html[lang="ar"] .text-link,
  html[lang="ar"] .field label,
  html[lang="ar"] .field input,
  html[lang="ar"] .field select,
  html[lang="ar"] .field textarea{
    font-size:16px
  }
}

/* Custom 404 page */
.not-found-body{
  min-height:100vh;
  background:linear-gradient(180deg,#fbf8f2 0%,#f5ede5 100%)
}
.simple-header{
  justify-content:space-between
}
.simple-header .language-switcher{
  margin-left:auto
}
.not-found-page{
  min-height:calc(100vh - 118px);
  padding:54px 22px 72px
}
.not-found-shell{
  max-width:1240px;
  margin:0 auto
}
.not-found-card{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  align-items:center;
  gap:36px;
  background:rgba(255,252,248,.92);
  border:1px solid rgba(138,106,62,.14);
  border-radius:34px;
  padding:32px;
  box-shadow:0 28px 80px rgba(66,44,38,.08)
}
.not-found-copy{
  padding:22px 20px 22px 12px
}
.not-found-copy h1{
  font-size:clamp(3.1rem,5vw,5.4rem);
  margin-bottom:22px
}
.not-found-subheadline{
  font-family:var(--serif);
  font-size:clamp(1.4rem,2vw,2.15rem);
  line-height:1.42;
  color:#8a4f58;
  margin:0 0 18px
}
.not-found-copy p:not(.kicker):not(.not-found-subheadline):not(.not-found-help){
  max-width:620px;
  color:#5f5650
}
.not-found-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin:30px 0 20px
}
.not-found-secondary{
  background:#fff;
  color:#7a2438;
  border:1px solid rgba(122,36,56,.16)
}
.not-found-secondary:hover{
  background:#f7ede9
}
.not-found-help{
  margin:0 0 10px;
  color:#756b64
}
.not-found-whatsapp{
  display:inline-flex;
  align-items:center
}
.not-found-visual{
  position:relative;
  min-height:520px;
  overflow:hidden;
  border-radius:28px;
  background:#eadfd6
}
.not-found-visual::after{
  content:'404';
  position:absolute;
  inset:auto 24px 18px auto;
  font-family:var(--serif);
  font-size:clamp(4rem,8vw,6.8rem);
  line-height:1;
  color:rgba(255,255,255,.72);
  text-shadow:0 12px 32px rgba(94,61,52,.14)
}
@media (max-width:1000px){
  .not-found-card{
    grid-template-columns:1fr;
    padding:24px
  }
  .not-found-copy{
    padding:10px 6px 0
  }
  .not-found-visual{
    min-height:440px;
    order:-1
  }
}
@media (max-width:720px){
  .not-found-page{
    padding:26px 16px 84px
  }
  .not-found-card{
    padding:16px;
    gap:20px;
    border-radius:26px
  }
  .not-found-copy h1{
    font-size:clamp(2.45rem,12vw,3.4rem)
  }
  .not-found-subheadline{
    font-size:1.45rem
  }
  .not-found-actions{
    flex-direction:column;
    align-items:stretch
  }
  .not-found-actions .button{
    width:100%
  }
  .not-found-visual{
    min-height:320px;
    border-radius:22px
  }
}

/* Announcement bar language consistency */
.topbar,
.topbar a,
.topbar span{
  font-size:13px;
  line-height:1.4;
  letter-spacing:.12em;
  font-weight:600
}
.topbar{
  min-height:32px;
  height:auto;
  padding:7px 18px
}
html[lang="ar"] .topbar,
html[lang="ar"] .topbar a,
html[lang="ar"] .topbar span{
  font-size:13.5px;
  letter-spacing:.04em;
  line-height:1.5
}
@media (max-width:720px){
  .topbar,
  .topbar a,
  .topbar span{
    font-size:14px;
    line-height:1.4
  }
  html[lang="ar"] .topbar,
  html[lang="ar"] .topbar a,
  html[lang="ar"] .topbar span{
    font-size:14px;
    letter-spacing:.04em;
    line-height:1.5
  }
}

/* Rebuilt mobile navigation overlay */
@media (max-width:720px){
  .site-header{
    overflow:visible;
    z-index:80
  }
  .menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    margin-left:auto;
    padding:0 6px;
    background:transparent;
    border:0;
    color:#7A2438;
    font:inherit;
    font-size:14px;
    font-weight:600;
    letter-spacing:.04em;
    text-decoration:none;
    cursor:pointer;
    -webkit-appearance:none;
    appearance:none
  }
  .menu-toggle:visited,
  .menu-toggle:hover,
  .menu-toggle:focus,
  .menu-toggle:active{
    color:#7A2438;
    text-decoration:none
  }
  .menu-toggle:focus-visible{
    outline:2px solid #8A6A3E;
    outline-offset:4px
  }
  .site-header nav{
    display:none;
    position:absolute;
    top:calc(100% + 10px);
    left:16px;
    right:16px;
    max-width:calc(100vw - 32px);
    margin:0;
    padding:18px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:rgba(251,248,242,.98);
    border:1px solid rgba(138,106,62,.22);
    box-shadow:0 24px 60px rgba(47,41,38,.18);
    z-index:90;
    backdrop-filter:blur(16px)
  }
  .site-header nav.open{
    display:flex
  }
  .site-header nav a{
    display:block;
    padding:13px 4px;
    color:#5F5650;
    font-size:15px;
    font-weight:600;
    border-bottom:1px solid rgba(216,205,194,.72)
  }
  .site-header nav a:last-child{
    border-bottom:0
  }
  .site-header nav a:after{
    display:none
  }
  .site-header nav .language-switcher{
    margin:14px 0 0;
    padding-top:14px;
    justify-content:flex-start;
    gap:14px;
    border-top:1px solid rgba(138,106,62,.22)
  }
  .site-header nav .language-switcher a{
    border:0;
    padding:7px 0;
    color:#7A2438;
    font-size:13px
  }
  html[dir="rtl"] .menu-toggle{
    margin-left:0;
    margin-right:auto
  }
  html[dir="rtl"] .site-header nav{
    text-align:right
  }
  html[dir="rtl"] .site-header nav .language-switcher{
    justify-content:flex-end
  }
}

/* Flowers Tangier coastal-luxury refresh */
:root{
  --ink:#29323a;
  --wine:#356f83;
  --rose:#a98248;
  --blush:#e8f3f5;
  --ivory:#fffdf7;
  --cream:#f5efe4;
  --line:#d8cbb7;
  --serif:'Italiana',Georgia,serif;
  --sans:'DM Sans',Arial,sans-serif
}
html[dir="rtl"]{
  --serif:'Tajawal',Arial,sans-serif;
  --sans:'Tajawal',Arial,sans-serif
}
body{
  background:var(--ivory);
  color:var(--ink)
}
h1,h2,h3{
  letter-spacing:0
}
h1{
  font-size:5.35rem
}
.section-head h2,
.center-head h2,
.about h2,
.delivery h2,
.order h2,
.gesture h2{
  font-size:4.55rem
}
.topbar{
  background:#5f8fa3;
  color:#fff
}
.topbar span{
  color:#f5dfb8
}
.site-header{
  background:rgba(255,253,247,.95);
  border-bottom:1px solid rgba(92,128,141,.18)
}
.brand,
.site-header nav a,
summary{
  color:#29323a
}
.site-header nav a:after{
  background:#a98248
}
.hero{
  min-height:calc(100svh - 118px);
  background:linear-gradient(180deg,#f7fbfb 0%,#eef6f7 100%)
}
.hero-copy{
  padding-top:6vh;
  padding-bottom:5vh
}
.hero-visual:after{
  background:linear-gradient(90deg,rgba(238,246,247,.34),transparent 30%)
}
.eyebrow,
.kicker,
.product a,
.text-link{
  color:#356f83
}
h1 em,
h2 em,
.flower-mark{
  color:#a98248
}
.button{
  background:#356f83;
  color:#fff
}
.button:hover{
  background:#285d70;
  box-shadow:0 12px 30px rgba(53,111,131,.2)
}
.button-light{
  background:#fffdf7;
  color:#285d70
}
.button-light:hover{
  background:#f5efe4
}
.header-whatsapp,
.mobile-whatsapp{
  background:#128c4f
}
.header-whatsapp:hover{
  background:#0f7a45
}
.pulse{
  background:#c59a4d;
  box-shadow:0 0 0 5px rgba(197,154,77,.16)
}
.trust-grid{
  grid-template-columns:1fr 1fr;
  color:#52606a
}
.trust-grid span span,
.review-grid blockquote div,
.payments span{
  color:#8a672f
}
.worldwide{
  background:#fffdf7;
  border-top:1px solid rgba(216,203,183,.55)
}
.product{
  border:1px solid rgba(216,203,183,.58)
}
.product-image{
  background:#edf6f7
}
.gesture{
  background:#477f90;
  color:#fff
}
.gesture .kicker,
.gesture h2 em{
  color:#f2d59f
}
.gesture-copy>p:not(.kicker){
  color:#f5fbfb
}
.how{
  background:#eef6f7
}
.steps{
  grid-template-columns:repeat(4,1fr);
  background:#d2c4aa;
  border-color:#d2c4aa
}
.steps article{
  background:#fffdf7
}
.about-image span{
  background:#356f83
}
.why{
  background:#f5efe4;
  color:#29323a
}
.why-grid{
  border-top:1px solid rgba(128,103,67,.25)
}
.why-grid article{
  border-right:1px solid rgba(128,103,67,.25)
}
.why-grid b{
  color:#a98248
}
.why-grid p{
  color:#52606a
}
.light .kicker{
  color:#356f83
}
.areas{
  color:#4c7380
}
.international{
  background:#f7fbfb
}
.country-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  max-width:980px;
  margin:auto
}
.country-list span{
  border:1px solid rgba(169,130,72,.34);
  background:#fffdf7;
  border-radius:999px;
  padding:10px 18px;
  color:#42525c;
  font-size:13px;
  font-weight:600
}
.testimonials{
  background:#f5efe4
}
.payments{
  background:#fffdf7
}
.order{
  background:#edf6f7
}
.order form{
  box-shadow:0 24px 60px rgba(53,111,131,.12)
}
.contact-card{
  border-left-color:#a98248
}
html[dir="rtl"] .contact-card{
  border-left:0;
  border-right:2px solid #a98248
}
.field input,
.field select,
.field textarea{
  background:#fffdf7;
  border-color:#d8cbb7
}
.field input:focus,
.field select:focus,
.field textarea:focus{
  outline-color:#a98248
}
.footer{
  background:#29323a
}
.not-found-card{
  background:#fffdf7
}
.not-found-secondary{
  color:#285d70;
  border-color:rgba(53,111,131,.22)
}
.not-found-secondary:hover{
  background:#edf6f7
}
.not-found-visual{
  background:#edf6f7
}
@media(max-width:1000px){
  .steps{
    grid-template-columns:repeat(2,1fr)
  }
}
@media(max-width:720px){
  h1{
    font-size:3.45rem
  }
  .section-head h2,
  .center-head h2,
  .about h2,
  .delivery h2,
  .order h2,
  .gesture h2{
    font-size:2.95rem
  }
  .menu-toggle,
  .menu-toggle:visited,
  .menu-toggle:hover,
  .menu-toggle:focus,
  .menu-toggle:active,
  .site-header nav .language-switcher a{
    color:#356f83
  }
  .site-header nav{
    background:rgba(255,253,247,.98);
    border-color:rgba(169,130,72,.26)
  }
  .hero-copy{
    padding-top:52px
  }
  .steps{
    grid-template-columns:1fr
  }
  .why-grid article{
    border-right:0;
    border-bottom:1px solid rgba(128,103,67,.25)
  }
  .country-list{
    justify-content:flex-start
  }
}
@media(max-width:420px){
  h1{
    font-size:3rem
  }
  .section-head h2,
  .center-head h2,
  .about h2,
  .delivery h2,
  .order h2,
  .gesture h2{
    font-size:2.55rem
  }
}

@media(max-width:720px){
  .topbar{
    min-height:32px;
    height:auto;
    padding:6px 14px;
    flex-wrap:wrap;
    row-gap:2px;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    text-align:center;
    font-size:9px;
    line-height:1.45;
    letter-spacing:.11em
  }
  .topbar span{
    margin:0 7px;
    font-size:inherit;
    line-height:inherit;
    letter-spacing:inherit
  }
}

