/* EconoWeb Minimal — shared collection skin. Extracted verbatim from the approved landing (SHA b07b2bfa). Collection-specific additions appended below. Do NOT edit the approved landing from here. */
:root{
    --primary:#C13F24; --secondary:#FFD2C4; --ink:#211D1B; --body:#58514C;
    --muted:color-mix(in srgb, var(--body) 58%, #FFFFFF); --paper:#FFFFFF;
    --canvas:color-mix(in srgb, var(--primary) 3.5%, #FFFFFF);
    --canvas-2:color-mix(in srgb, var(--primary) 7%, #FFFFFF);
    --line:color-mix(in srgb, var(--ink) 12%, transparent);
    --line-2:color-mix(in srgb, var(--ink) 22%, transparent);
    --primary-ink:color-mix(in srgb, var(--primary) 84%, #000);
    --sec-surface:color-mix(in srgb, var(--secondary) 42%, #FFFFFF);
    --nav-active:color-mix(in srgb, var(--secondary) 82%, #FFFFFF);
    --r:25px;
    --r-surface:22px;
    --r-input:12px;
    --r-pill:999px;
    --sp:24px;
    --ease:cubic-bezier(0.22,1,0.36,1);
    --dur:180ms;
    --err:#A5231A; --wa:#0C8339; --wa-ink:#0A7332;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  html{overflow-x:clip;}
  body{background:var(--canvas); color:var(--body);
    font-family:'Poppins',system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
    -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;}
  a{color:var(--primary); text-decoration:none;}
  a:hover{color:var(--primary-ink);}
  ::selection{background:color-mix(in srgb, var(--primary) 20%, transparent);}
  img{max-width:100%;}
  h1,h2,h3,p{margin:0; text-wrap:pretty;}
  section[id]{scroll-margin-top:96px;}
  .m-sr{position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;}

  /* ---------- Reveal (single restrained motion) ---------- */
  .m-reveal{opacity:1; transform:none; transition:opacity 620ms var(--ease), transform 680ms var(--ease);}
  html.m-io .m-reveal:not(.is-in){opacity:0; transform:translateY(14px);}
  .m-reveal[data-d="1"]{transition-delay:80ms;} .m-reveal[data-d="2"]{transition-delay:150ms;}
  .m-reveal[data-d="3"]{transition-delay:220ms;} .m-reveal[data-d="4"]{transition-delay:290ms;} .m-reveal[data-d="5"]{transition-delay:360ms;}

  /* ---------- Layout ---------- */
  .m-wrap{max-width:1250px; margin:0 auto; padding:0 32px;}
  .m-sec{padding:88px 0;}
  .m-band{background:var(--canvas-2);}
  .m-band-paper{background:var(--paper);}
  .m-shead{max-width:80%; margin:0 auto; text-align:center;}
  .m-h1{font-size:clamp(41px,5.8vw,72px); font-weight:700; letter-spacing:-0.03em; line-height:0.98; color:var(--ink);}
  .m-h2{font-size:clamp(27px,3vw,37px); font-weight:600; letter-spacing:-0.024em; line-height:1.08; color:var(--ink);}
  .m-lead{margin-top:22px; font-size:clamp(17px,1.4vw,19px); line-height:1.6; color:var(--body); max-width:52ch;}
  .m-intro{margin-top:16px; font-size:17px; line-height:1.62; color:var(--body); max-width:58ch; margin-left:auto; margin-right:auto;}

  /* ---------- Buttons ---------- */
  .m-btn{font-family:inherit; font-size:16px; font-weight:500; line-height:1; border-radius:var(--r); padding:0 22px; min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:9px; cursor:pointer; text-decoration:none; border:1.5px solid transparent; transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);}
  .m-btn--sm{min-height:42px; font-size:15px; padding:0 18px;}
  .m-btn--primary{background:var(--primary); color:#fff; border-color:var(--primary);}
  .m-btn--primary:hover{background:var(--primary-ink); border-color:var(--primary-ink); color:#fff;}
  .m-btn--ghost{background:transparent; color:var(--ink); border-color:var(--line-2);}
  .m-btn--ghost:hover{background:color-mix(in srgb, var(--ink) 5%, transparent); color:var(--ink); border-color:var(--ink);}
  .m-btn--primary:active{background:color-mix(in srgb, var(--primary) 72%, #000); border-color:color-mix(in srgb, var(--primary) 72%, #000);}
  .m-btn--ghost:active{background:color-mix(in srgb, var(--ink) 10%, transparent);}
  .m-btn[disabled],.m-btn[aria-disabled="true"]{opacity:0.55; cursor:default;}
  :focus-visible{outline:2px solid var(--primary); outline-offset:2px;}
  a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary); outline-offset:2px;}

  /* ---------- Header ---------- */
  .m-hdr{position:fixed; top:0; left:0; right:0; z-index:120; background:color-mix(in srgb, var(--canvas) 88%, transparent); -webkit-backdrop-filter:saturate(1.1) blur(8px); backdrop-filter:saturate(1.1) blur(8px); transition:border-color var(--dur) var(--ease); border-bottom:1px solid transparent;}
  .m-hdr.is-stuck{border-bottom-color:var(--line);}
  .m-hdr-in{max-width:1250px; margin:0 auto; padding:16px 32px; display:flex; align-items:center; gap:0;}
  .m-logo{flex:none; display:inline-flex; align-items:center;}
  .m-logo img{height:44px; width:auto; display:block;}
  .m-nav{flex:1 1 auto; display:flex; align-items:center; justify-content:space-around; gap:6px; margin:0 5%;}
  .m-nlink{font-size:17px; font-weight:500; color:var(--ink); padding:9px 18px; border-radius:var(--r-pill); text-decoration:none; transition:color var(--dur) var(--ease), background var(--dur) var(--ease);}
  .m-nlink:hover{color:var(--primary-ink);}
  @media(hover:hover){ .m-nlink:hover{background:color-mix(in srgb, var(--secondary) 38%, transparent);} }
  .m-nlink[aria-current="page"]{color:var(--primary-ink); font-weight:600; background:var(--nav-active);}
  .m-hdr-cta{flex:none;}
  .m-burger{display:none; margin-left:auto; width:44px; height:44px; flex:none; border:1px solid var(--line-2); background:transparent; border-radius:var(--r-input); position:relative; cursor:pointer;}
  .m-burger span{position:absolute; left:12px; width:20px; height:1.6px; background:var(--ink); transition:transform 260ms var(--ease), opacity 160ms var(--ease);}
  .m-burger span:nth-child(1){top:15px;} .m-burger span:nth-child(2){top:21px;} .m-burger span:nth-child(3){top:27px;}
  .m-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .m-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .m-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
  .m-mnav{overflow:hidden; max-height:0; opacity:0; visibility:hidden; border-top:1px solid transparent; transition:max-height 360ms var(--ease), opacity 300ms var(--ease), visibility 0s linear 360ms;}
  .m-mnav[data-open="true"]{max-height:340px; opacity:1; visibility:visible; border-top-color:var(--line); transition:max-height 360ms var(--ease), opacity 300ms var(--ease), visibility 0s linear 0s;}
  .m-mnav > div{overflow:hidden; min-height:0;}
  .m-mnav-in{display:flex; flex-direction:column; gap:2px; padding:25px 20px 33px;}
  .m-mnav-in a{font-size:17px; padding:12px 14px; color:var(--ink);}
  .m-mnav-in a.m-btn--primary{color:#fff;}

  /* ---------- Hero (centered, vertical) ---------- */
  .m-hero{padding:150px 0 96px; text-align:center;}
  .m-hero-copy{display:flex; flex-direction:column; align-items:center;}
  .m-hero .m-h1{margin-top:0; max-width:17ch;}
  .m-hero .m-lead{margin:22px auto 0; max-width:56ch; text-align:center;}
  .m-hero-actions{display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:34px;}
  .m-hero-media{margin-top:72px;}
  .m-hero-figure{position:relative; width:100%; max-width:1136px; margin-left:auto; margin-right:auto; aspect-ratio:16/9; overflow:hidden; background:var(--canvas-2); border-radius:var(--r);}
  .m-hero-figure img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 35%; transition:transform 400ms var(--ease);}
  @media(hover:hover){ .m-hero-figure:hover img{transform:scale(1.03);} }

  /* ---------- Proof (dark band) ---------- */
  .m-proof-band{background:var(--ink);}
  .m-proof-band .m-h2{color:#F7F2F0;}
  .m-proof-band .m-intro{color:rgba(247,242,240,0.74);}
  .m-proof-band .m-proof{border-color:rgba(247,242,240,0.16);}
  .m-proof-band .m-stat + .m-stat{border-left-color:rgba(247,242,240,0.16);}
  .m-proof-band .m-stat-v{color:var(--secondary);}
  .m-proof-band .m-stat-l{color:rgba(247,242,240,0.72);}
  .m-proof{display:grid; grid-template-columns:repeat(4,1fr); margin-top:44px; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .m-stat{padding:28px 26px; text-align:center;}
  .m-stat + .m-stat{border-left:1px solid var(--line);}
  .m-stat-v{font-size:clamp(23px,2.2vw,29px); font-weight:600; letter-spacing:-0.02em; color:var(--ink); line-height:1.1; font-variant-numeric:tabular-nums;}
  .m-stat-l{margin-top:10px; font-size:15px; line-height:1.5; color:var(--body);}

  /* ---------- Benefits ---------- */
  .m-bgrid{margin-top:52px; display:grid; grid-template-columns:repeat(3,1fr); gap:40px 36px;}
  .m-benefit{display:flex; flex-direction:column; align-items:center; text-align:center;}
  .m-benefit-fig{position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--canvas-2); border-radius:var(--r); width:100%;}
  .m-benefit-fig img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .m-idx{position:absolute; top:14px; left:14px; z-index:2; display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:32px; padding:0 12px; border-radius:var(--r-pill); background:var(--secondary); color:var(--ink); font-size:13px; font-weight:700; letter-spacing:0.06em; font-variant-numeric:tabular-nums; transition:transform 220ms var(--ease);}
  .m-benefit-h{margin-top:22px; font-size:20px; font-weight:600; letter-spacing:-0.012em; line-height:1.22; color:var(--ink);}
  .m-benefit-p{margin-top:10px; font-size:15px; line-height:1.62; color:var(--body); max-width:34ch; margin-left:auto; margin-right:auto;}
  @media(hover:hover){ .m-benefit:hover .m-idx{transform:translateY(-4px);} }

  /* ---------- Services ---------- */
  .m-sgrid{margin-top:52px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .m-service{position:relative; aspect-ratio:3/4; padding:15px; display:flex; align-items:flex-end; justify-content:flex-start; background:var(--canvas-2); border-radius:var(--r-surface); overflow:hidden; transition:opacity 620ms var(--ease), transform 520ms var(--ease);}
  .m-service-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
  .m-service-panel{position:relative; z-index:1; width:100%; padding:15px; background:var(--sec-surface); border-radius:var(--r-input); text-align:left;}
  .m-service-h{font-size:18px; font-weight:600; letter-spacing:-0.016em; line-height:1.24; color:var(--ink);}
  .m-service-p{margin-top:8px; font-size:14px; line-height:1.55; color:var(--body);}
  @media(hover:hover){ .m-service:hover{transform:scale(1.02);} }

  /* ---------- Process ---------- */
  .m-proc-wrap{margin-top:52px; position:relative;}
  .m-proc-line{position:absolute; left:0; right:0; top:21px; height:1px; background:var(--line-2);}
  .m-proc{position:relative; display:grid; grid-template-columns:repeat(6,1fr); gap:32px 28px;}
  .m-step{position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center;}
  .m-step::after{content:''; position:absolute; inset:-14px -10px; border-radius:var(--r-input); background:transparent; transition:background var(--dur) var(--ease); z-index:-1;}
  @media(hover:hover){ .m-step:hover::after{background:color-mix(in srgb, var(--secondary) 32%, transparent);} }
  .m-step-n{position:relative; z-index:1; width:44px; height:44px; border-radius:999px; display:flex; align-items:center; justify-content:center; background:var(--primary); color:#fff; font-size:15px; font-weight:600; font-variant-numeric:tabular-nums;}
  .m-step-h{margin-top:18px; font-size:17px; font-weight:600; color:var(--ink);}
  .m-step-p{margin-top:8px; font-size:15px; line-height:1.55; color:var(--body); max-width:28ch;}

  /* ---------- About ---------- */
  .m-about{display:grid; grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr); gap:52px; align-items:stretch; background:var(--sec-surface); border-radius:var(--r-surface); padding:52px;}
  .m-about-fig{position:relative; align-self:stretch; min-height:100%; margin:-28px 0 -28px -28px; overflow:hidden; background:var(--canvas-2); border-radius:var(--r);}
  .m-about-fig img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 28%; transition:transform 400ms var(--ease);}
  @media(hover:hover){ .m-about-fig:hover img{transform:scale(1.03);} }
  .m-about-body{display:flex; flex-direction:column; justify-content:center; align-items:flex-start; text-align:left;}
  .m-about-body p{margin-top:16px; font-size:17px; line-height:1.7; color:var(--body); max-width:56ch;}
  .m-about-body p:first-of-type{margin-top:22px; font-size:19px; line-height:1.62; color:var(--ink);}

  /* ---------- Testimonials ---------- */
  .m-car{margin-top:48px; position:relative;}
  .m-car-vp{display:flex; gap:32px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; -ms-overflow-style:none; padding:4px 0; margin:0; list-style:none;}
  .m-car-vp::-webkit-scrollbar{display:none;}
  .m-car-vp:focus-visible{outline:2px solid var(--primary); outline-offset:4px;}
  .m-car-slide{flex:0 0 calc((100% - 32px) / 2); scroll-snap-align:start; display:flex; align-items:stretch; list-style:none;}
  .m-car-vp>li::marker,.m-car-slide::marker{content:"";}
  .m-tcard{margin:0; position:relative; display:flex; flex-direction:column; width:100%; padding:36px 34px 30px; background:var(--paper); border-radius:var(--r-surface); overflow:hidden;}
  .m-band .m-tcard{background:var(--paper);}
  .m-tcard::before{content:'\201C'; position:absolute; top:8px; left:0; right:0; text-align:center; font-size:74px; line-height:1; color:var(--primary); opacity:0.16; font-weight:700; pointer-events:none;}
  .m-tq{flex:1; margin:0; position:relative; z-index:1; font-size:19px; line-height:1.5; color:var(--ink); letter-spacing:-0.006em; text-align:center;}
  .m-tmeta{display:flex; align-items:center; justify-content:center; gap:14px; margin-top:26px; padding-top:22px;}
  .m-tavatar{width:48px; height:48px; border-radius:999px; object-fit:cover; flex:none;}
  .m-tauth{display:block; font-size:15px; font-weight:600; color:var(--ink);}
  .m-tco{display:block; font-size:14px; color:var(--muted); margin-top:2px;}
  .m-car-bar{display:flex; align-items:center; gap:12px; margin-top:26px;}
  .m-car-nav{width:44px; height:44px; flex:none; border:0; background:color-mix(in srgb, var(--ink) 6%, transparent); border-radius:var(--r-pill); color:var(--ink); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:color var(--dur) var(--ease), background var(--dur) var(--ease);}
  .m-car-nav:hover:not([disabled]){background:var(--nav-active); color:var(--primary-ink);}
  .m-car-nav[disabled]{opacity:0.35; cursor:default;}
  .m-car-nav svg{width:16px; height:16px; fill:currentColor;}
  .m-dots{display:flex; align-items:center; gap:6px; margin-left:auto;}
  .m-dot{width:32px; height:32px; padding:0; border:0; background:transparent; cursor:pointer; display:inline-flex; align-items:center; justify-content:center;}
  .m-dot::after{content:''; width:8px; height:8px; border-radius:999px; background:var(--line-2); transition:background var(--dur) var(--ease), transform var(--dur) var(--ease);}
  .m-dot[aria-current="true"]::after{background:var(--primary); transform:scale(1.4);}
  .m-dot:hover:not([aria-current="true"])::after{background:var(--muted);}

  /* ---------- FAQ ---------- */
  .m-faq{margin-top:44px; max-width:860px; margin-left:auto; margin-right:auto; border-top:1px solid var(--line);}
  .m-faq-item{border-bottom:1px solid var(--line);}
  .m-faq-btn{width:100%; font-family:inherit; text-align:left; background:transparent; border:0; padding:22px 4px; cursor:pointer; display:flex; align-items:center; gap:24px; color:var(--ink); transition:color var(--dur) var(--ease);}
  .m-faq-btn:hover{color:var(--primary);}
  .m-faq-q{font-size:18px; font-weight:600; line-height:1.4; letter-spacing:-0.01em;}
  .m-faq-sign{margin-left:auto; flex:none; position:relative; width:16px; height:16px; color:var(--primary);}
  .m-faq-sign::before,.m-faq-sign::after{content:''; position:absolute; background:currentColor; border-radius:1px; transition:transform 420ms var(--ease), opacity 360ms var(--ease);}
  .m-faq-sign::before{top:7px; left:0; width:16px; height:2px;}
  .m-faq-sign::after{left:7px; top:0; width:2px; height:16px;}
  .m-faq-btn[aria-expanded="true"] .m-faq-sign::after{transform:scaleY(0); opacity:0;}
  .m-faq-ans{display:grid; grid-template-rows:0fr; transition:grid-template-rows 420ms var(--ease);}
  .m-faq-ans[data-open="true"]{grid-template-rows:1fr;}
  .m-faq-ans > div{overflow:hidden; min-height:0;}
  .m-faq-atext{padding:0 56px 24px 4px; font-size:16px; line-height:1.65; color:var(--body); max-width:72ch;}

  /* ---------- Contact ---------- */
  .m-contact{margin-top:52px;}
  .m-form{display:flex; flex-direction:column; gap:26px; width:100%; max-width:720px; margin-left:auto; margin-right:auto;}
  .m-fgrid{display:grid; grid-template-columns:1fr 1fr; gap:26px 24px;}
  .m-field{display:flex; flex-direction:column; gap:8px;}
  .m-field label{font-size:14px; font-weight:600; letter-spacing:0.01em; color:var(--ink);}
  .m-opt{font-weight:400; color:var(--muted);}
  .m-req{color:var(--primary); margin-left:1px;}
  .m-input{font-family:inherit; font-size:16px; color:var(--ink); background:transparent; border:0; border-bottom:1.5px solid var(--line-2); border-radius:0; padding:11px 2px; min-height:44px; width:100%; transition:border-color var(--dur) var(--ease);}
  .m-input::placeholder{color:var(--muted);}
  .m-input:focus{outline:none; border-bottom-color:var(--primary); border-bottom-width:2px;}
  textarea.m-input{resize:vertical; min-height:120px; line-height:1.6;}
  .m-input[aria-invalid="true"]{border-bottom-color:var(--err);}
  .m-check{display:flex; align-items:flex-start; gap:12px; min-height:44px;}
  .m-check input{flex:none; width:20px; height:20px; margin:2px 0 0; accent-color:var(--primary);}
  .m-check label{font-size:15.5px; line-height:1.5; color:var(--body); font-weight:400;}
  .m-form-foot{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
  .m-form-status{display:flex; align-items:center; gap:10px; font-size:15px; color:var(--ink); min-height:48px;}
  .m-form-status::before{content:''; width:9px; height:9px; border-radius:999px; background:var(--primary); flex:none;}
  .m-cinfo{display:grid; grid-template-columns:repeat(5,1fr); margin-top:52px; text-align:left;}
  .m-cinfo-item{padding:2px 24px;}
  .m-cinfo-item + .m-cinfo-item{border-left:1px solid var(--line);}
  .m-cinfo-item:first-child{padding-left:0;}
  .m-cinfo-item:last-child{padding-right:0;}
  .m-clabel{display:block; font-size:12px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted);}
  .m-cval{display:block; margin-top:8px; font-size:16px; line-height:1.55; color:var(--ink); overflow-wrap:anywhere;}
  .m-map{margin-top:32px;}
  .m-mapframe{border-radius:var(--r); overflow:hidden;}
  .m-mapframe iframe{display:block; width:100%; height:400px; border:0;}
  .m-extph{position:relative; overflow:hidden; border-radius:var(--r); background:var(--canvas-2); padding:40px 32px; display:flex; flex-direction:column; align-items:flex-start; gap:14px; min-height:240px; justify-content:center;}
  .m-extph::before{content:''; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--ink) 5%, transparent) 0 8px, transparent 8px 18px);}
  .m-extph > *{position:relative; z-index:1;}
  .m-extph-h{font-size:19px; font-weight:600; color:var(--ink); letter-spacing:-0.01em;}
  .m-extph-p{font-size:16px; line-height:1.55; color:var(--body); max-width:56ch;}
  .m-extph-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:4px;}

  /* ---------- Footer ---------- */
  .m-foot{background:var(--sec-surface); padding:72px 0 44px;}
  .m-foot-grid{display:flex; flex-direction:column; gap:52px;}
  .m-foot-brand{display:flex; flex-direction:column; align-items:center; gap:20px; text-align:center;}
  .m-foot-cols{display:grid; grid-template-columns:repeat(3,1fr); gap:40px;}
  .m-foot-logo{height:48px; width:auto; display:block;}
  .m-foot-socials{display:flex; justify-content:center; gap:10px; margin-top:0;}
  .m-social{width:42px; height:42px; flex:none; border:0; background:color-mix(in srgb, var(--ink) 6%, transparent); border-radius:var(--r-pill); display:inline-flex; align-items:center; justify-content:center; color:var(--ink); transition:color var(--dur) var(--ease), background var(--dur) var(--ease);}
  .m-social:hover{color:var(--primary); background:var(--nav-active);}
  .m-social svg{width:20px; height:20px; fill:currentColor;}
  .m-foot-h{font-size:17px; font-weight:600; letter-spacing:-0.01em; color:var(--ink); text-align:center;}
  .m-foot-col{display:flex; flex-direction:column; align-items:center; text-align:center;}
  .m-foot-links{display:flex; flex-direction:column; align-items:center; gap:3px; margin-top:18px;}
  .m-flink{font-size:15px; color:var(--body); text-decoration:none; padding:6px 0; background:transparent; border:0; text-align:center; font-family:inherit; cursor:pointer; transition:color var(--dur) var(--ease);}
  .m-flink:hover{color:var(--primary);}
  .m-cgroup{display:flex; flex-direction:column; align-items:center; gap:14px; margin-top:18px; text-align:center;}
  .m-cgroup > div span:first-child{display:block; font-size:10px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; color:var(--muted);}
  .m-cgroup > div span:last-child{display:block; margin-top:3px; font-size:15px; color:var(--body); line-height:1.45;}
  .m-lrbtn{margin-top:22px; align-self:center;}
  .m-lrbtn svg{width:16px; height:16px; fill:currentColor;}
  .m-sign{margin-top:52px; font-size:11px; line-height:1.7; color:var(--muted); text-align:center;}
  .m-sign a{color:var(--body); font-weight:500;}

  /* ---------- Legal / Complaints ---------- */
  .m-legal-sec{padding:150px 0 90px;}
  .m-legal{max-width:76ch; margin:0 auto;}
  .m-legal h1{font-size:clamp(30px,3.6vw,42px); font-weight:600; letter-spacing:-0.025em; line-height:1.06; color:var(--ink);}
  .m-legal h1:focus-visible{outline:2px solid var(--primary); outline-offset:6px;}
  .m-lnote{margin-top:22px; padding:16px 18px; background:var(--canvas-2); border-radius:var(--r-input); font-size:15px; line-height:1.6; color:var(--body);}
  .m-lbody{margin-top:34px;}
  .m-lbody h2{margin-top:38px; font-size:22px; font-weight:600; letter-spacing:-0.012em; line-height:1.25; color:var(--ink);}
  .m-lbody h3{margin-top:26px; font-size:17px; font-weight:600; color:var(--ink);}
  .m-lbody p{margin-top:14px; font-size:17px; line-height:1.72; color:var(--body);}
  .m-lbody ul,.m-lbody ol{margin-top:14px; padding-left:22px; display:flex; flex-direction:column; gap:8px;}
  .m-lbody li{font-size:17px; line-height:1.65; color:var(--body);}
  .m-lbody strong{color:var(--ink); font-weight:600;}
  .m-lbody a{text-decoration:underline; text-underline-offset:2px;}
  .m-cbgroup{margin-top:34px;}
  .m-cbgroup > h2{font-size:20px; font-weight:600; color:var(--ink); letter-spacing:-0.01em;}
  .m-cbgrid{display:grid; grid-template-columns:1fr 1fr; gap:22px 24px; margin-top:16px;}
  .m-cbsummary{margin-top:22px; padding:16px 18px; background:color-mix(in srgb, var(--err) 8%, transparent); border-left:2px solid var(--err); border-radius:var(--r-input);}
  .m-cbsummary strong{display:block; font-size:16px; color:var(--err);}
  .m-cbsummary ul{margin:10px 0 0; padding-left:20px; display:flex; flex-direction:column; gap:6px; font-size:15px;}
  .m-cbsummary a{color:var(--err);}
  .m-cberr{font-size:14px; color:var(--err); font-weight:500;}
  .m-cbradios{display:flex; flex-wrap:wrap; gap:12px; margin-top:12px;}
  .m-cbradio{display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:0 16px; border:1px solid var(--line-2); border-radius:var(--r); font-size:16px; color:var(--ink); cursor:pointer;}
  .m-cbradio input{width:18px; height:18px; accent-color:var(--primary);}
  .m-cbradio:focus-within{outline:2px solid var(--primary); outline-offset:2px;}
  .m-turnstile{margin-top:22px; padding:18px; border:1px dashed var(--line-2); border-radius:var(--r-input); background:var(--canvas-2); font-size:14.5px; line-height:1.5; color:var(--muted); text-align:center;}
  .m-cbstate{margin-top:24px; padding:26px 28px; background:var(--canvas-2); border-radius:var(--r-surface);}
  .m-cbstate h2{font-size:21px; font-weight:600; color:var(--ink);}
  .m-cbstate p{margin-top:12px; font-size:16.5px; line-height:1.65; color:var(--body);}
  .m-cbcode{display:inline-block; margin-top:14px; padding:10px 14px; background:var(--paper); border-radius:var(--r-input); font-family:ui-monospace,'SF Mono',Menlo,monospace; font-size:17px; font-weight:600; letter-spacing:0.03em; color:var(--ink);}
  .m-req-note{margin-top:8px; font-size:14.5px; color:var(--muted);}

  /* ---------- Consent ---------- */
  .m-consent{position:fixed; left:50%; bottom:24px; transform:translateX(-50%); width:calc(100% - 48px); max-width:680px; z-index:190; background:var(--paper); border-radius:var(--r-surface); box-shadow:0 12px 40px -12px rgba(33,29,27,0.28); padding:24px 26px;}
  .m-consent-h{font-size:18px; font-weight:600; color:var(--ink); letter-spacing:-0.01em;}
  .m-consent-p{margin-top:10px; font-size:15.5px; line-height:1.6; color:var(--body);}
  .m-consent-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
  .m-consent-actions .m-btn{flex:1 1 auto; min-width:170px;}
  .m-consent-link{margin-top:14px; font-size:15px;}
  .m-prefs-backdrop{position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(33,29,27,0.4);}
  .m-prefs{width:100%; max-width:540px; max-height:calc(100dvh - 48px); display:flex; flex-direction:column; background:var(--paper); border-radius:var(--r-surface); overflow:hidden;}
  .m-prefs-head{padding:26px 28px 4px; display:flex; align-items:flex-start; justify-content:space-between; gap:16px;}
  .m-prefs-head h2{font-size:21px; font-weight:600; color:var(--ink); letter-spacing:-0.012em;}
  .m-prefs-head p{margin-top:9px; font-size:15.5px; line-height:1.6; color:var(--body);}
  .m-prefs-close{flex:none; width:42px; height:42px; border:0; background:transparent; color:var(--body); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--r);}
  .m-prefs-close:hover{background:color-mix(in srgb, var(--ink) 6%, transparent); color:var(--ink);}
  .m-prefs-body{padding:8px 28px; overflow-y:auto;}
  .m-cat{display:flex; gap:18px; align-items:flex-start; justify-content:space-between; padding:18px 0;}
  .m-cat + .m-cat{border-top:1px solid var(--line);}
  .m-cat-h{font-size:16px; font-weight:600; color:var(--ink);}
  .m-cat-d{margin-top:5px; font-size:15px; line-height:1.5; color:var(--body); max-width:44ch;}
  .m-cat-note{margin-top:7px; font-size:14px; font-weight:600; color:var(--ink);}
  .m-switch{flex:none; position:relative; width:52px; height:44px; padding:0; border:0; background:transparent; cursor:pointer;}
  .m-switch::before{content:''; position:absolute; left:0; top:9px; width:48px; height:26px; border-radius:999px; background:var(--line-2); transition:background var(--dur) var(--ease);}
  .m-switch::after{content:''; position:absolute; left:4px; top:13px; width:18px; height:18px; border-radius:999px; background:#fff; transition:transform var(--dur) var(--ease);}
  .m-switch[aria-checked="true"]::before{background:var(--primary);}
  .m-switch[aria-checked="true"]::after{transform:translateX(22px);}
  .m-switch[aria-disabled="true"]{cursor:default;}
  .m-prefs-foot{padding:18px 28px 24px; display:flex; justify-content:flex-end;}

  /* ---------- WhatsApp FAB (independent treatment) ---------- */
  .m-fabwrap{position:fixed; right:24px; bottom:24px; z-index:110; display:inline-flex;}
  .m-fab{width:56px; height:56px; flex:none; border-radius:999px; border:0; padding:0; display:inline-flex; align-items:center; justify-content:center; background:#0C8339; color:#fff; text-decoration:none; cursor:pointer; transition:background 140ms var(--ease), transform 120ms var(--ease);}
  .m-fab:hover{background:#0A7332; color:#fff;}
  .m-fab:active{background:#095E29; color:#fff;}
  .m-fab svg{width:30px; height:30px; fill:currentColor;}
  .m-fabtip{position:absolute; right:calc(100% + 12px); top:50%; transform:translateY(-50%); white-space:nowrap; background:var(--ink); color:#fff; font-size:13px; font-weight:500; padding:7px 11px; border-radius:10px; opacity:0; visibility:hidden; transition:opacity 140ms var(--ease);}
  .m-fabwrap:hover .m-fabtip,.m-fab:focus-visible + .m-fabtip{opacity:1; visibility:visible;}
  @media(pointer:coarse){ .m-fabtip{display:none !important;} }

  .m-car-nav,.m-social,.m-prefs-close{transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),background var(--dur) var(--ease);}
  @media(hover:hover){ .m-car-nav:active:not([disabled]){background:var(--nav-active);} .m-social:active,.m-prefs-close:active{background:color-mix(in srgb, var(--ink) 10%, transparent);} }
  @keyframes none-x{from{}to{}}
  /* ---------- Responsive ---------- */
  @media(max-width:1000px){
    .m-nav,.m-hdr-cta{display:none !important;}
    .m-burger{display:block;}
    .m-bgrid,.m-sgrid{grid-template-columns:repeat(2,1fr);}
    .m-proc{grid-template-columns:repeat(3,1fr); row-gap:36px;}
    .m-proc-line{display:none;}
    .m-about{grid-template-columns:1fr; gap:32px; padding:40px; align-items:stretch;}
    .m-about-fig{margin:0; aspect-ratio:4/3; min-height:0;}
    .m-car-slide{flex-basis:calc((100% - 32px) / 2);}
  }
  @media(max-width:820px){
    .m-sec{padding:68px 0;}
    .m-hero{padding:104px 0 72px;}
    .m-hero .m-h1{max-width:20ch;}
    .m-hero-media{margin-top:48px;}
    .m-proof{grid-template-columns:repeat(2,1fr);}
    .m-stat:nth-child(2){border-left:1px solid var(--line);}
    .m-stat:nth-child(3){border-left:0; border-top:1px solid var(--line);}
    .m-stat:nth-child(4){border-top:1px solid var(--line);}
    .m-contact{grid-template-columns:1fr; gap:44px;}
    .m-car-slide{flex-basis:100%;}
    .m-mapframe iframe{height:340px;}
    .m-cinfo{grid-template-columns:1fr;}
    .m-cinfo-item{padding:16px 0;}
    .m-cinfo-item + .m-cinfo-item{border-left:0; border-top:1px solid var(--line);}
    .m-cinfo-item:first-child{padding-top:0;}
    .m-cinfo-item:last-child{padding-bottom:0;}
  }
  @media(max-width:600px){
    .m-wrap,.m-hero-head,.m-hdr-in{padding-left:20px; padding-right:20px;}
    .m-hero{padding:96px 0 64px;}
    .m-hero-media{margin-top:40px;}
    .m-bgrid{grid-template-columns:1fr; gap:36px;}
    .m-sgrid{grid-template-columns:1fr; gap:20px;}
    .m-proc{grid-template-columns:1fr 1fr;}
    .m-proof{grid-template-columns:1fr;}
    .m-stat + .m-stat{border-left:0; border-top:1px solid var(--line);}
    .m-fgrid{grid-template-columns:1fr;}
    .m-foot-cols{grid-template-columns:1fr; gap:36px;}
    .m-consent{left:16px; right:16px; transform:none; width:auto; bottom:16px;}
    .m-consent-actions .m-btn{flex:1 1 100%;}
    .m-cbgrid{grid-template-columns:1fr;}
    .m-faq-atext{padding-right:20px;}
    .m-about{padding:24px; gap:26px;}
    .m-mapframe iframe{height:300px;}
  }
  @media(prefers-reduced-motion:reduce){
    *,*::before,*::after{transition:none !important; animation:none !important;}
    .m-reveal{opacity:1 !important; transform:none !important;}
    .m-hero-figure:hover img,.m-about-fig:hover img,.m-benefit:hover .m-idx,.m-service:hover{transform:none !important;}
    .m-car-vp{scroll-behavior:auto;}
  }
  html.m-force-rm *,html.m-force-rm *::before,html.m-force-rm *::after{transition:none !important; animation:none !important; scroll-behavior:auto !important;}
  html.m-force-rm .m-reveal{opacity:1 !important; transform:none !important;}
  html.m-force-rm .m-hero-figure:hover img,html.m-force-rm .m-about-fig:hover img,html.m-force-rm .m-benefit:hover .m-idx,html.m-force-rm .m-service:hover{transform:none !important;}
  @media(forced-colors:active){
    .m-benefit-fig,.m-service,.m-about-fig,.m-tcard,.m-hero-figure{border:1px solid CanvasText;}
  }
  @media(max-width:820px){
    .m-proof-band .m-stat:nth-child(2){border-left-color:rgba(247,242,240,0.16);}
    .m-proof-band .m-stat:nth-child(3),.m-proof-band .m-stat:nth-child(4){border-top-color:rgba(247,242,240,0.16);}
  }
  @media(max-width:600px){
    .m-proof-band .m-stat + .m-stat{border-top-color:rgba(247,242,240,0.16);}
  }


/* ==================== COLLECTION ADDITIONS (interior pages, cards, cart, filters, detail) ==================== */
.mc-crumbs{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;width:fit-content;max-width:100%;margin:0 auto 26px;padding:9px 18px;font-size:13px;color:var(--muted);border:1px solid var(--line-2);border-radius:var(--r-pill);background:color-mix(in srgb,var(--paper) 70%,transparent);}
.mc-crumbs a{color:var(--muted);}
.mc-crumbs a:hover{color:var(--primary);}
.mc-crumbs .sep{opacity:.5;}
.mc-crumbs b{color:var(--ink);font-weight:600;}

/* Interior page header (centered, like landing shead) */
.mc-phead{max-width:80%;margin:0 auto 8px;text-align:center;}
.mc-phead .m-h2{margin:0 auto;}
.mc-phead .m-intro{margin-left:auto;margin-right:auto;}
.mc-phimg{margin:36px auto 0;max-width:1136px;border-radius:var(--r);overflow:hidden;aspect-ratio:16/9;background:var(--canvas-2);}
.mc-phimg img{width:100%;height:100%;object-fit:cover;display:block;}

/* Card grid */
.mc-grid{margin-top:40px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.mc-grid--3{grid-template-columns:repeat(3,1fr);}
.mc-grid--2{grid-template-columns:repeat(2,1fr);}
.mc-card{display:flex;flex-direction:column;background:var(--paper);border-radius:var(--r-surface);overflow:hidden;text-align:left;}
.mc-card-fig{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--canvas-2);}
.mc-card-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 500ms var(--ease);}
@media(hover:hover){.mc-card:hover .mc-card-fig img{transform:scale(1.04);}}
.mc-card-body{flex:1;display:flex;flex-direction:column;padding:18px 18px 20px;}
.mc-card-kick{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--primary);}
.mc-card-h{margin-top:6px;font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--ink);}
.mc-card-meta{margin-top:6px;font-size:13.5px;color:var(--muted);line-height:1.45;}
.mc-card-p{margin-top:8px;font-size:14px;line-height:1.55;color:var(--body);}
.mc-card-foot{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.mc-price{font-size:17px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;}
.mc-price s{color:var(--muted);font-weight:400;font-size:14px;margin-right:6px;}
.mc-price .from{font-size:12px;color:var(--muted);font-weight:500;margin-right:4px;}
.mc-price--ask{font-size:14px;font-weight:600;color:var(--primary);}

/* Availability / status badges */
.mc-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:var(--r-pill);font-size:12px;font-weight:600;letter-spacing:.01em;}
.mc-badge::before{content:'';width:7px;height:7px;border-radius:999px;background:currentColor;}
.mc-badge--ok{background:color-mix(in srgb,var(--wa) 14%,#fff);color:var(--wa);}
.mc-badge--req{background:var(--sec-surface);color:var(--primary-ink);}
.mc-badge--off{background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.04em;font-weight:700;}
.mc-badge--off::before{width:9px;height:9px;border:2px solid #fff;background:transparent;box-sizing:border-box;}
.mc-badge--warn{background:color-mix(in srgb,var(--err) 10%,#fff);color:var(--err);}
.mc-fig-badge{position:absolute;top:12px;left:12px;z-index:2;}

/* Equal-height cards: stretch card to tallest in its grid/carousel row, actions pinned to foot */
.mc-card{height:100%;}
.mc-grid>*{display:flex;}
.mc-grid>*>.mc-card,.mc-grid .mc-card{width:100%;}
.mc-featcar .m-car-slide>*{flex:1 1 100%;min-width:0;display:flex;}
.mc-featcar .m-car-slide .mc-card{width:100%;}

/* MenuCard (restaurant) — stacked foot, single action, no diet pills */
.mc-foot--stack{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:11px;margin-top:auto;padding-top:14px;}
.mc-card-h--link{display:block;margin-top:6px;font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--ink);text-decoration:none;transition:color var(--dur) var(--ease);}
@media(hover:hover){.mc-card-h--link:hover{color:var(--primary);}}
.mc-card-state{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.mc-pact{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.mc-pact .m-btn{flex:1 1 auto;justify-content:center;}
.mc-qty--sm{flex:0 0 auto;}
.mc-qty--sm button{width:34px;height:34px;}
.mc-qty--sm input{width:34px;}

/* Buttons: icon-in-button glyph follows text color already via currentColor */
.mc-btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.m-btn--wa{background:var(--wa);border-color:var(--wa);color:#fff;}
.m-btn--wa:hover{background:var(--wa-ink);border-color:var(--wa-ink);color:#fff;}
.m-btn svg{width:18px;height:18px;fill:currentColor;flex:none;}
.mc-iconbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--r);border:0;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease);}
.mc-iconbtn:hover{background:var(--nav-active);color:var(--primary-ink);}
.mc-iconbtn svg{width:16px;height:16px;fill:currentColor;}

/* Filters bar */
.mc-filters{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.mc-filttoggle{display:none;}
@media(max-width:820px){
  .mc-filttoggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:28px;min-height:50px;padding:0 20px;border:0;border-radius:var(--r-pill);background:var(--paper);color:var(--ink);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;}
  .mc-filttoggle-l{display:inline-flex;align-items:center;gap:10px;}
  .mc-filttoggle-l svg{width:18px;height:18px;}
  .mc-filttoggle-c{color:var(--muted);font-weight:500;font-size:14px;display:inline-flex;align-items:center;gap:10px;}
  .mc-filttoggle-c::after{content:'';width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform var(--dur) var(--ease);}
  .mc-filttoggle[aria-expanded="true"] .mc-filttoggle-c::after{transform:rotate(-135deg);}
  .mc-filters{margin-top:14px;}
  .mc-filters[data-open="false"]{display:none;}
}
.mc-search{flex:1 1 240px;min-width:200px;display:flex;align-items:center;gap:10px;background:var(--paper);border-radius:var(--r-pill);padding:0 18px;min-height:48px;}
.mc-search svg{width:18px;height:18px;fill:var(--muted);flex:none;}
.mc-search input{border:0;background:transparent;font-family:inherit;font-size:15px;color:var(--ink);width:100%;min-height:46px;}
.mc-search input:focus{outline:none;}
.mc-select{position:relative;}
.mc-select select{appearance:none;font-family:inherit;font-size:14px;color:var(--ink);background:var(--paper);border:0;border-radius:var(--r-pill);padding:0 40px 0 18px;min-height:48px;cursor:pointer;transition:background var(--dur) var(--ease);}
.mc-select select:hover{background:var(--nav-active);}
.mc-select::after{content:'';position:absolute;right:16px;top:50%;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-70%) rotate(45deg);pointer-events:none;}
.mc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.mc-chip{display:inline-flex;align-items:center;gap:7px;padding:0 15px;min-height:40px;border-radius:var(--r-pill);border:0;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);font-family:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease);}
.mc-chip:hover{background:var(--nav-active);color:var(--primary-ink);}
.mc-chip[aria-pressed="true"]{background:var(--primary);color:#fff;}
.mc-resline{margin-top:22px;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;color:var(--muted);font-size:14px;}
.mc-empty{margin-top:40px;text-align:center;padding:56px 24px;background:var(--paper);border-radius:var(--r-surface);}
.mc-empty h3{font-size:20px;font-weight:600;color:var(--ink);}
.mc-empty p{margin-top:8px;color:var(--body);font-size:15px;}

/* Pager */
.mc-pager{margin-top:36px;display:flex;justify-content:center;align-items:center;gap:8px;}
.mc-pager button{min-width:44px;min-height:44px;border:0;border-radius:var(--r-pill);background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease);}
.mc-pager button:hover:not([disabled]){background:var(--nav-active);color:var(--primary-ink);}
.mc-pager button[aria-current="true"]{background:var(--primary);color:#fff;}
.mc-pager button[disabled]{opacity:.4;cursor:default;}

/* Detail layout */
.mc-detail{margin-top:8px;display:grid;grid-template-columns:minmax(0,1fr) 358px;gap:44px;align-items:start;}
.mc-detail-main{min-width:0;}
.mc-detail-side{position:sticky;top:96px;}
.mc-priceform{background:var(--sec-surface);border-radius:var(--r-surface);padding:24px;}
.mc-priceform .mc-dprice{margin-top:0;}
.mc-consult-h{margin:18px 0 14px;font-weight:600;color:var(--ink);}
.mc-form-col{display:flex;flex-direction:column;gap:16px;}
.mc-form-col .m-input{width:100%;}
.mc-form-col textarea.m-input{min-height:76px;}
.mc-dhead{margin-top:26px;}
.mc-dhead h1{font-size:clamp(26px,3vw,34px);font-weight:700;letter-spacing:-.02em;line-height:1.12;color:var(--ink);margin-top:10px;}
.mc-gallery{display:flex;flex-direction:column;gap:12px;}
.mc-gallery-main{position:relative;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--canvas-2);}
.mc-gallery-main img{width:100%;height:100%;object-fit:cover;display:block;}
.mc-thumbs{display:flex;gap:10px;flex-wrap:wrap;}
.mc-thumb{width:76px;height:60px;border-radius:12px;overflow:hidden;border:0;padding:0;cursor:pointer;background:var(--canvas-2);opacity:.6;transition:opacity var(--dur) var(--ease);}
.mc-thumb img{width:100%;height:100%;object-fit:cover;}
.mc-thumb[aria-current="true"]{opacity:1;outline:2px solid var(--primary);outline-offset:2px;}
.mc-thumb:hover{opacity:1;}
.mc-dinfo h1{font-size:clamp(26px,3vw,34px);font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--ink);}
.mc-dmeta{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.mc-dprice{margin-top:20px;font-size:26px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;}
.mc-dprice s{font-size:17px;color:var(--muted);font-weight:400;margin-right:8px;}
.mc-dsub{margin-top:16px;font-size:16px;line-height:1.6;color:var(--body);}
.mc-panel{background:var(--sec-surface);border-radius:var(--r-surface);padding:22px 22px 24px;margin-top:22px;}
.mc-qty{display:inline-flex;align-items:center;border-radius:var(--r-pill);background:var(--paper);overflow:hidden;}
.mc-qty button{width:44px;height:44px;border:0;background:transparent;color:var(--ink);font-size:20px;cursor:pointer;line-height:1;}
.mc-qty button:hover{background:var(--nav-active);color:var(--primary-ink);}
.mc-qty input{width:44px;text-align:center;border:0;background:transparent;font-family:inherit;font-size:16px;font-weight:600;color:var(--ink);}
.mc-field-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;}
.mc-vopts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}

/* Long-form body (markdown-ish) */
.mc-body{margin-top:26px;font-size:16px;line-height:1.72;color:var(--body);max-width:70ch;}
.mc-body h2{margin-top:30px;font-size:22px;font-weight:600;color:var(--ink);letter-spacing:-.01em;}
.mc-body h3{margin-top:22px;font-size:17px;font-weight:600;color:var(--ink);padding-left:20px;position:relative;}
.mc-body h3::before{content:'';position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:50%;background:var(--primary);}
.mc-body p{margin-top:12px;}
.mc-body ul{margin-top:12px;padding-left:20px;display:flex;flex-direction:column;gap:7px;}
.mc-sec-h{margin-top:36px;font-size:20px;font-weight:600;letter-spacing:-.012em;color:var(--ink);max-width:70ch;}

/* Feature / amenity / spec grids */
.mc-feats{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px 18px;}
.mc-feat{display:flex;align-items:center;gap:11px;font-size:14.5px;color:var(--ink);}
.mc-feat svg{width:22px;height:22px;fill:none;stroke:var(--primary);stroke-width:1.6;flex:none;}
.mc-feat b{font-weight:600;}
.mc-feat span{color:var(--body);}
.mc-card .mc-feats{display:flex;flex-wrap:wrap;gap:8px 16px;}
/* Detail: group specs on a soft surface with stacked label/value */
.mc-detail-main .mc-feats{background:var(--canvas-2);border-radius:var(--r-surface);padding:18px 20px;gap:16px 20px;}
.mc-detail-main .mc-feat{flex-direction:column;align-items:flex-start;gap:3px;}
.mc-detail-main .mc-feat b{font-size:16px;letter-spacing:-.01em;}
.mc-detail-main .mc-card-meta{color:var(--body);font-size:15px;}
.mc-taglist{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.mc-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--secondary) 32%,#fff);color:var(--ink);font-size:13px;font-weight:500;}
.mc-tag--diet{background:color-mix(in srgb,var(--wa) 12%,#fff);color:var(--wa-ink);}

/* Media viewer / video facade */
.mc-video{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--ink);margin-top:14px;cursor:pointer;}
.mc-video img{width:100%;height:100%;object-fit:cover;opacity:.82;}
.mc-video-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.mc-video-play span{width:70px;height:70px;border-radius:999px;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;transition:background var(--dur) var(--ease);}
.mc-video:hover .mc-video-play span{background:#fff;}
.mc-video-play svg{width:26px;height:26px;fill:var(--primary);margin-left:4px;}

/* Lightbox */
.mc-lightbox{position:fixed;inset:0;z-index:210;background:rgba(20,17,15,.88);display:flex;align-items:center;justify-content:center;padding:32px;}
.mc-lightbox img{max-width:100%;max-height:100%;border-radius:12px;object-fit:contain;}
.mc-lightbox-cap{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);max-width:calc(100% - 48px);padding:9px 16px;background:rgba(20,17,15,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--r-pill);color:#fff;font-size:14px;line-height:1.4;text-align:center;}
.mc-lightbox-x{position:absolute;top:20px;right:24px;width:46px;height:46px;border:0;border-radius:999px;background:rgba(255,255,255,.15);color:#fff;font-size:22px;cursor:pointer;}

/* Gallery page grid */
.mc-gal{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.mc-gal figure{margin:0;border-radius:var(--r);overflow:hidden;background:var(--canvas-2);}
.mc-gal button{display:block;width:100%;border:0;padding:0;background:none;cursor:pointer;aspect-ratio:4/3;overflow:hidden;}
.mc-gal img{display:block;width:100%;height:100%;object-fit:cover;transform-origin:center center;transition:transform 500ms var(--ease);}
@media(hover:hover){.mc-gal button:hover img{transform:scale(1.04);}}
.mc-gal figcaption{padding:12px 14px;font-size:13.5px;color:var(--body);}

/* Cart drawer */
.mc-cartbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:0;border-radius:var(--r-pill);background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);cursor:pointer;flex:none;transition:background var(--dur) var(--ease);}
.mc-cartbtn:hover{background:var(--nav-active);color:var(--primary-ink);}
.mc-cartbtn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;}
.mc-cartcount{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--primary);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.mc-drawer-back{position:fixed;inset:0;z-index:200;background:rgba(33,29,27,.4);display:flex;justify-content:flex-end;}
.mc-drawer{width:100%;max-width:420px;height:100%;background:var(--canvas);display:flex;flex-direction:column;}
.mc-drawer-head{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;}
.mc-drawer-head h2{font-size:19px;font-weight:600;color:var(--ink);}
.mc-drawer-body{flex:1;overflow-y:auto;padding:0 24px;}
.mc-line{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);}
.mc-line img{width:64px;height:64px;border-radius:14px;object-fit:cover;flex:none;background:var(--canvas-2);}
.mc-line-main{flex:1;min-width:0;}
.mc-line-h{font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.3;}
.mc-line-v{font-size:12.5px;color:var(--muted);margin-top:3px;}
.mc-line-foot{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.mc-line-rm{border:0;background:none;color:var(--muted);font-size:12.5px;cursor:pointer;text-decoration:underline;}
.mc-line-rm:hover{color:var(--err);}
.mc-drawer-foot{padding:20px 24px;border-top:1px solid var(--line);}
.mc-drawer-total{display:flex;justify-content:space-between;font-size:16px;font-weight:600;color:var(--ink);margin-bottom:14px;}
.mc-drawer-note{font-size:12.5px;color:var(--muted);margin-top:12px;text-align:center;line-height:1.5;}

/* Header submenu */
.m-nav-has{position:relative;}
.m-submenu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(6px);min-width:210px;background:var(--paper);border-radius:var(--r-surface);padding:8px;opacity:0;visibility:hidden;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);display:flex;flex-direction:column;gap:2px;box-shadow:0 12px 40px -18px rgba(33,29,27,.3);z-index:5;}
.m-nav-has:hover .m-submenu,.m-nav-has:focus-within .m-submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.m-submenu a{padding:10px 14px;border-radius:12px;font-size:14.5px;color:var(--ink);text-align:left;}
.m-submenu a:hover{background:var(--nav-active);color:var(--primary-ink);}

/* Hero search (tourism) — full container width, single row on desktop */
.mc-hsearch{margin:32px auto 0;width:100%;max-width:none;background:var(--paper);border-radius:var(--r-surface);padding:18px;display:flex;flex-wrap:wrap;gap:14px;align-items:end;text-align:left;}
.mc-hsearch>div{flex:1 1 160px;min-width:0;}
.mc-hsearch>div:first-child{flex:2.4 1 260px;}
.mc-hsearch>div:last-child{flex:0 0 auto;}
.mc-hsearch label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em;}
.mc-hsearch input,.mc-hsearch select{width:100%;border:0;background:var(--canvas-2);border-radius:12px;min-height:48px;padding:0 14px;font-family:inherit;font-size:15px;color:var(--ink);}
.mc-hsearch .m-btn{min-height:48px;white-space:nowrap;}
.mc-hs-range{display:flex;align-items:center;gap:8px;}
.mc-hs-range input{min-height:48px;border:0;background:var(--canvas-2);border-radius:12px;padding:0 12px;font-family:inherit;font-size:15px;color:var(--ink);width:100%;min-width:0;-moz-appearance:textfield;}
.mc-hs-range input::-webkit-outer-spin-button,.mc-hs-range input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.mc-hs-range span{color:var(--muted);flex:0 0 auto;}

/* Explore price range — single pill matching the selects */
.mc-range{display:flex;align-items:center;padding:0 6px;background:var(--paper);border-radius:var(--r-pill);min-height:48px;}
.mc-range input{border:0;background:transparent;font-family:inherit;font-size:14px;color:var(--ink);width:96px;min-width:0;min-height:46px;padding:0 12px;-moz-appearance:textfield;}
.mc-range input:focus{outline:none;}
.mc-range input:first-child{border-right:1px solid color-mix(in srgb,var(--ink) 12%,transparent);}
.mc-range input::-webkit-outer-spin-button,.mc-range input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

/* Explore by type — icon cards, no photos */
.mc-typegrid{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.mc-typecard{display:flex;align-items:center;gap:18px;padding:22px 24px;background:var(--paper);border-radius:var(--r-surface);text-align:left;text-decoration:none;transition:background var(--dur) var(--ease);}
@media(hover:hover){.mc-typecard:hover{background:var(--nav-active);}}
.mc-typeicon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:15px;background:var(--sec-surface);color:var(--primary);}
.mc-typeicon svg{width:26px;height:26px;}
.mc-typemeta{display:flex;flex-direction:column;gap:3px;min-width:0;}
.mc-typename{font-size:18px;font-weight:600;letter-spacing:-0.016em;color:var(--ink);}
.mc-typecount{font-size:13px;font-weight:500;color:var(--muted);}

/* Service visual variants (icon / none) */
.m-service--icon,.m-service--none{justify-content:flex-start;align-items:flex-start;gap:16px;background:var(--canvas-2);}
.m-service--none{padding:25px;}
.m-service--icon .m-service-panel,.m-service--none .m-service-panel{position:relative;background:transparent;padding:0;}
.m-service-icon{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:16px;background:var(--sec-surface);color:var(--primary);}
.m-service-icon svg{width:29px;height:29px;}

/* Video facade — poster derived from main image */
.mc-videofacade{position:relative;display:block;width:100%;aspect-ratio:16/9;margin-top:20px;border:0;padding:0;border-radius:var(--r-surface);overflow:hidden;background-size:cover;background-position:center;background-color:var(--canvas-2);cursor:pointer;}
.mc-videofacade::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.30);}
.mc-playbtn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;width:74px;height:74px;border-radius:999px;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;color:var(--ink);box-shadow:0 8px 24px rgba(0,0,0,.22);}
.mc-playbtn svg{width:30px;height:30px;margin-left:3px;}

/* Mission/vision, values, team (informational about) */
.mc-mv{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.mc-mv .mc-panel{margin-top:0;}
.mc-mv h3{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--primary);}
.mc-mv p{margin-top:10px;font-size:16px;line-height:1.65;color:var(--body);}
.mc-team{margin-top:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.mc-team figure{margin:0;text-align:center;}
.mc-team img{width:120px;height:120px;border-radius:999px;object-fit:cover;background:var(--canvas-2);}
.mc-team .nm{margin-top:14px;font-size:16px;font-weight:600;color:var(--ink);}
.mc-team .rl{font-size:13.5px;color:var(--primary);margin-top:2px;}
.mc-team .bio{font-size:13.5px;color:var(--body);line-height:1.55;margin-top:8px;}
.mc-values{margin-top:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.mc-value{text-align:center;}
.mc-value .n{font-size:13px;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums;}
.mc-value h3{margin-top:8px;font-size:17px;font-weight:600;color:var(--ink);}
.mc-value p{margin-top:8px;font-size:14.5px;line-height:1.55;color:var(--body);}

/* View routing helper */
[data-view]{display:none;}
[data-view].is-active{display:block;}

@media(max-width:1000px){
  .mc-grid,.mc-grid--3{grid-template-columns:repeat(2,1fr);}
  .mc-detail{grid-template-columns:1fr;gap:28px;}
  .mc-detail-side{position:static;}
  .mc-team{grid-template-columns:repeat(3,1fr);}
  .mc-gal{grid-template-columns:repeat(2,1fr);}
  .mc-typegrid{grid-template-columns:repeat(3,1fr);gap:16px;}
}
@media(max-width:600px){
  .mc-grid,.mc-grid--3,.mc-grid--2{grid-template-columns:1fr;}
  .mc-phead{max-width:100%;}
  .mc-mv,.mc-values,.mc-team,.mc-gal,.mc-typegrid{grid-template-columns:1fr;}
  .mc-filters{flex-direction:column;align-items:stretch;}
  .mc-search{flex:0 0 auto;min-width:0;width:100%;}
  .mc-select select{width:100%;}
  .mc-range{width:100%;}
  .mc-range input{flex:1 1 0;width:auto;}
  .mc-hsearch>div,.mc-hsearch>div:first-child,.mc-hsearch>div:last-child{flex:1 1 100%;}
}


/* ---------- Collection: home previews, gallery, values, team member ---------- */
.mc-about-prev{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:48px;align-items:center;background:var(--sec-surface);border-radius:var(--r-surface);padding:44px;}
.mc-about-prev-img{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--canvas-2);}
.mc-about-prev-img img{width:100%;height:100%;object-fit:cover;display:block;}
.mc-about-prev-body h2{margin:0;}
.mc-about-prev-body p{margin-top:16px;font-size:17px;line-height:1.7;color:var(--body);max-width:52ch;}
.mc-galprev{margin-top:40px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.mc-galgrid{margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.mc-galcell{margin:0;display:block;text-decoration:none;}
.mc-galprev .mc-galcell img,.mc-galgrid .mc-galcell img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);background:var(--canvas-2);display:block;}
.mc-galcell figcaption{margin-top:10px;font-size:14px;color:var(--body);text-align:center;}
.mc-galgrid .mc-galcell figcaption{color:var(--body);}
.mc-tgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.mc-values{margin-top:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.mc-value{background:var(--sec-surface);border-radius:var(--r-surface);padding:28px 26px;text-align:center;}
.mc-value h3{margin:0;font-size:18px;font-weight:600;color:var(--ink);}
.mc-value p{margin-top:10px;font-size:15px;line-height:1.6;color:var(--body);}
.mc-team{margin-top:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.mc-member{margin:0;text-align:center;}
.mc-member img{width:120px;height:120px;border-radius:999px;object-fit:cover;background:var(--canvas-2);}
.mc-member figcaption{margin-top:14px;}
.mc-member figcaption b{display:block;font-size:16px;font-weight:600;color:var(--ink);}
.mc-member figcaption span{display:block;font-size:13.5px;color:var(--primary);margin-top:2px;}
@media(max-width:900px){
  .mc-about-prev{grid-template-columns:1fr;gap:28px;padding:32px;}
  .mc-galprev{grid-template-columns:repeat(2,1fr);}
  .mc-galgrid{grid-template-columns:repeat(2,1fr);}
  .mc-values{grid-template-columns:1fr;}
  .mc-team{grid-template-columns:repeat(3,1fr);gap:16px;}
  .mc-tgrid{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .mc-galprev{grid-template-columns:1fr 1fr;}
  .mc-galgrid{grid-template-columns:1fr 1fr;}
  .mc-team{grid-template-columns:1fr;}
  .mc-member img{width:96px;height:96px;}
}

/* ==================== INFORMATIONAL CORRECTION PASS ==================== */
/* Interior hero (Nosotros & Servicios): heading + description inside image, via a text panel
   adapted from the approved Landing service card. Not interactive, no service hover. */
.mc-ihero{position:relative;margin-top:8px;border-radius:var(--r);overflow:hidden;aspect-ratio:16/9;display:flex;align-items:flex-end;padding:24px;}
.mc-ihero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.mc-ihero::after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,transparent 34%,rgba(20,17,15,.30));pointer-events:none;}
.mc-ihero-panel{position:relative;z-index:1;max-width:660px;background:var(--sec-surface);border-radius:var(--r-surface);padding:26px 30px;text-align:left;}
.mc-ihero-panel h1{font-size:clamp(26px,3vw,37px);font-weight:700;letter-spacing:-.024em;line-height:1.06;color:var(--ink);}
.mc-ihero-panel p{margin:12px 0 0;font-size:16px;line-height:1.6;color:var(--body);max-width:56ch;}
@media(max-width:600px){.mc-ihero{padding:14px;aspect-ratio:auto;min-height:calc((100vw - 40px)*9/16);}.mc-ihero-panel{padding:20px;}}

/* Footer minimalist rounded-end separator (authorized exception — footer only) */
.m-foot-sep{width:100%;height:2px;margin:44px 0 0;border:0;background:var(--line-2);border-radius:var(--r-pill);}

/* Lightbox navigation (preserve navigation + keyboard) */
.mc-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:0;border-radius:999px;background:rgba(255,255,255,.15);color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--dur) var(--ease);}
.mc-lightbox-nav:hover{background:rgba(255,255,255,.28);}
.mc-lightbox-prev{left:20px;}
.mc-lightbox-next{right:20px;}
@media(max-width:600px){.mc-lightbox-prev{left:10px;}.mc-lightbox-next{right:10px;}.mc-lightbox-nav{width:42px;height:42px;font-size:22px;}}

/* Nosotros: mission/vision emphasis (+40%), centered */
.mc-mv--lg{margin-top:22px;}
.mc-mv--lg .mc-panel{text-align:center;}
.mc-mv--lg h3{font-size:18px;text-align:center;}
.mc-mv--lg p{margin-top:12px;text-align:center;max-width:42ch;margin-left:auto;margin-right:auto;}

/* Contacto page: independent-page rhythm + values 3px smaller (scoped) */
.mc-contactpage .m-cval{font-size:13px;}
.mc-contactpage .m-form{max-width:none;margin:0;}
.mc-contactgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:start;margin-top:44px;}
.mc-cpanel{margin-top:0;padding:28px 30px;align-self:start;}
.mc-cpanel .m-cinfo{display:flex;flex-direction:column;gap:0;margin-top:0;max-width:none;}
.mc-cpanel .m-cinfo-item{padding:16px 0;border-left:0;}
.mc-cpanel .m-cinfo-item + .m-cinfo-item{border-left:0;border-top:1px solid var(--line);}
.mc-cpanel .m-cinfo-item:first-child{padding-top:0;}
.mc-cpanel .m-cinfo-item:last-child{padding-bottom:0;}
.mc-contactpage .m-map{margin-top:32px;max-width:none;}
@media(max-width:900px){.mc-contactgrid{grid-template-columns:1fr;gap:32px;}}

/* Interior first-section top offset (responsive to header height) */
.mc-topsec{padding-top:132px;}
@media(max-width:1000px){.mc-topsec{padding-top:104px;}.m-legal-sec{padding-top:104px;}}
@media(max-width:600px){.mc-topsec{padding-top:92px;}.m-legal-sec{padding-top:92px;}}

/* Home hero: +40px top offset on tablet & mobile (Informational only) */
@media(max-width:820px){.mc-home-hero{padding-top:144px;}}
@media(max-width:600px){.mc-home-hero{padding-top:136px;}}

/* Tablet footer: two columns on top, Legal centered full-width below */
@media(max-width:1000px) and (min-width:601px){
  .m-foot-cols{grid-template-columns:1fr 1fr;}
  .m-foot-cols .m-foot-col:nth-child(3){grid-column:1 / -1;}
}

/* ==================== CATALOG PASS ==================== */
/* Header: clear separation between primary CTA, cart and burger */
.m-hdr .mc-cartbtn{margin-left:16px;}
@media(max-width:1000px){ .m-hdr .mc-cartbtn{margin-left:auto;} .m-hdr .mc-cartbtn + .m-burger{margin-left:14px;} }
/* Submenu caret inside the Catálogo link (not a separate button) */
.m-nav-has > .m-nlink{display:inline-flex;align-items:center;gap:7px;}
.m-nav-caret{width:10px;height:10px;flex:none;fill:currentColor;transition:transform var(--dur) var(--ease);}
.m-nav-has:hover > .m-nlink .m-nav-caret,.m-nav-has:focus-within > .m-nlink .m-nav-caret{transform:rotate(180deg);}
.m-submenu{text-align:center;}
.m-submenu a{text-align:center;justify-content:center;}
.m-nav-has .m-submenu::before{content:'';position:absolute;left:0;right:0;top:-10px;height:12px;}

/* Category carousel (reuses testimonial carousel shell + service card) */
.mc-catcar{margin-top:40px;}
.mc-catcar .m-car-vp{gap:24px;scrollbar-width:none;-ms-overflow-style:none;}
.mc-catcar .m-car-vp::-webkit-scrollbar{display:none;}

/* Mobile-menu accordion (Aero Glass behavior, Minimal skin) */
.m-mnav[data-open="true"]{max-height:calc(100dvh - 64px);}
.m-mnav[data-open="true"] > div{overflow-y:auto;}
.m-mnav-row{display:flex;align-items:center;gap:8px;}
.m-mnav-row .m-nlink{flex:1;}
.m-mnav-toggle{flex:none;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-2);background:transparent;border-radius:var(--r-input);color:var(--ink);cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease);}
.m-mnav-toggle:hover{background:color-mix(in srgb,var(--secondary) 38%,transparent);border-color:var(--ink);}
.m-mnav-caret{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform 260ms var(--ease);}
.m-mnav-toggle[aria-expanded="true"] .m-mnav-caret{transform:rotate(180deg);}
.m-mnav-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows 300ms var(--ease);}
.m-mnav-sub[data-open="true"]{grid-template-rows:1fr;}
.m-mnav-sub > div{overflow:hidden;min-height:0;display:flex;flex-direction:column;}
.m-mnav-sub a{padding-left:30px;}
.mc-featcar{margin-top:40px;}
.mc-featcar .m-car-vp{gap:24px;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:none;}
.mc-featcar .m-car-slide{scroll-snap-align:none;}
.mc-featcar .m-car-vp::-webkit-scrollbar{display:none;}
.mc-featcar .m-car-slide{flex:0 0 calc((100% - 72px)/4);}
.mc-featcar--3 .m-car-slide{flex:0 0 calc((100% - 48px)/3);}
@media(max-width:1000px){ .mc-featcar--3 .m-car-slide{flex-basis:calc((100% - 24px)/2);} }
@media(max-width:600px){ .mc-featcar--3 .m-car-slide{flex-basis:86%;} }
@media(max-width:1000px){ .mc-featcar .m-car-slide{flex-basis:calc((100% - 24px)/2);} }
@media(max-width:600px){ .mc-featcar .m-car-slide{flex-basis:86%;} }
.mc-catcar .m-car-slide{flex:0 0 calc((100% - 48px)/3);}
.mc-catcar .m-service{width:100%;}
@media(max-width:1000px){ .mc-catcar .m-car-slide{flex-basis:calc((100% - 24px)/2);} }
@media(max-width:600px){ .mc-catcar .m-car-slide{flex-basis:84%;} }

/* Product media strictly square; action below price */
.mc-card-fig.mc-sq{aspect-ratio:1/1;}
.mc-card-foot--stack{flex-direction:column;align-items:stretch;gap:12px;}
.mc-card-foot--stack .m-btn{width:100%;}

/* Product detail: square main image + square thumbs; identity meta */
.mc-gallery-main.mc-sq{aspect-ratio:1/1;}
.mc-thumb{width:72px;height:72px;}
.mc-pdmeta{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:var(--body);}
.mc-pdmeta span b{color:var(--ink);font-weight:600;}
.mc-pdfull{margin-top:44px;}

/* Filters bar: integrated product count */
.mc-count{margin-left:auto;align-self:center;color:var(--muted);font-size:14px;white-space:nowrap;}
@media(max-width:600px){ .mc-count{margin-left:0;width:100%;} }

/* Real estate filter — main bar + collapsible panel (AG parity) */
.mc-filterbar{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
.mc-filterbar .mc-search{flex:1 1 240px;}
.mc-filterbar .mc-search input{flex:1;min-width:0;width:auto;}
.mc-search-x{flex:none;border:0;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;padding:4px;border-radius:999px;}
.mc-search-x svg{width:14px;height:14px;}
.mc-search-x:hover{color:var(--ink);}
.mc-sortsel{flex:0 0 auto;}
.mc-fbtn{flex:0 0 auto;display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:0 18px;border:0;border-radius:var(--r-pill);background:var(--paper);color:var(--ink);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease);}
.mc-fbtn svg{width:18px;height:18px;}
.mc-fbtn:hover{background:var(--nav-active);color:var(--primary-ink);}
.mc-fbtn[aria-expanded="true"]{background:var(--nav-active);color:var(--primary-ink);}
.mc-clearlink{flex:0 0 auto;border:0;background:none;color:var(--primary);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;}
.mc-clearlink:hover{text-decoration:underline;}
.mc-filterpanel{overflow:hidden;max-height:0;transition:max-height 340ms var(--ease);}
.mc-filterpanel[data-open="true"]{max-height:1400px;}
.mc-fgrid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 18px;padding-top:20px;}
.mc-fcell{display:flex;flex-direction:column;gap:7px;min-width:0;}
.mc-fcell label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.mc-fcell .mc-select{width:100%;}
.mc-fcell .mc-select select{width:100%;}
.mc-fcell .mc-range{width:100%;}
.mc-fcell .mc-range input{flex:1 1 0;width:auto;}
@media(max-width:820px){ .mc-fgrid4{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .mc-fgrid4{grid-template-columns:1fr;} .mc-filterbar .mc-sortsel{flex:1 1 100%;} .mc-filterbar .mc-sortsel select{width:100%;} }

/* Cart remove: destructive semantic (trash + Quitar), no shrink */
.mc-line-remove{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:13.5px;font-weight:500;color:var(--err);background:color-mix(in srgb,var(--err) 9%,#fff);border:0;border-radius:var(--r-pill);padding:8px 14px;min-height:40px;cursor:pointer;margin-top:10px;transition:background var(--dur) var(--ease),color var(--dur) var(--ease);}
.mc-line-remove svg{width:14px;height:14px;flex:none;fill:currentColor;}
.mc-line-remove:hover{background:color-mix(in srgb,var(--err) 16%,#fff);color:#71180F;}
.mc-line-remove:focus-visible{outline:2px solid var(--err);outline-offset:2px;}

/* ==================== CROSS-CUTTING PASS ==================== */
/* Submenu: width fits content up to 300px, long labels wrap */
.m-submenu{min-width:0;width:max-content;max-width:300px;}
.m-submenu a{white-space:normal;}

/* Category carousel cards: square 1:1 (overrides ServiceCard 3/4 for categories only) */
.mc-catcar .m-service{aspect-ratio:1/1;}

/* Process: equal columns for the real step count, wraps + centers on small screens */
.m-proc{display:flex;flex-wrap:wrap;justify-content:center;grid-template-columns:none;}
.m-proc .m-step{flex:1 1 150px;max-width:300px;}
@media(max-width:600px){ .m-proc .m-step{flex-basis:130px;} }

/* Product identity pills (Marca / SKU) */
.mc-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-pill);background:var(--sec-surface);color:var(--body);font-size:13.5px;line-height:1.3;}
.mc-pill b{color:var(--ink);font-weight:600;}

/* Specification pair table (authorized separators, this table only) */
.mc-spectable{margin-top:16px;border-top:1px solid var(--line);}
.mc-specrow{display:grid;grid-template-columns:minmax(0,34%) minmax(0,1fr);gap:8px 24px;padding:14px 2px;border-bottom:1px solid var(--line);}
.mc-specrow dt{color:var(--muted);font-size:14.5px;}
.mc-specrow dd{margin:0;color:var(--ink);font-size:14.5px;font-weight:500;}
@media(max-width:600px){ .mc-specrow{grid-template-columns:1fr;gap:2px;} }

/* ==================== RESTAURANT MOBILE: two-column products ==================== */
@media(max-width:600px){
  /* Product listings & category pages keep two columns on phones */
  .mc-rest .mc-grid,.mc-rest .mc-grid--3,.mc-rest .mc-grid--2{grid-template-columns:repeat(2,1fr);gap:12px;}
  /* Carousels: two cards visible, scroll + controls preserved */
  .mc-rest .mc-featcar .m-car-slide,.mc-rest .mc-featcar--3 .m-car-slide{flex-basis:calc((100% - 24px)/2);}
  /* Tighter internal spacing so both cards fit without overflow */
  .mc-rest .mc-card-body{padding:14px 13px 16px;}
  .mc-rest .mc-card-h,.mc-rest .mc-card-h--link{font-size:15.5px;}
  .mc-rest .mc-price{font-size:15.5px;}
  .mc-rest .mc-card-p{font-size:13px;}
  .mc-rest .mc-foot--stack{gap:9px;padding-top:12px;}
}
@media(max-width:380px){
  .mc-rest .mc-card-body{padding:12px 11px 14px;}
}

/* Shared tourism filter structure; collection typography, geometry and colours retained. */
.review-tour-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin-top:24px;text-align:left}.review-filter-field{display:flex;flex-direction:column;gap:8px;min-width:0;text-align:left}.review-filter-field label,.review-filter-field>span{font-size:14px;font-weight:600}.review-filter-search{flex:1 1 240px}.review-filter-field input,.review-filter-field select{box-sizing:border-box;min-width:0;width:100%;height:48px;padding:10px 15px}.review-tour-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:20px;padding:24px;background:var(--surface,#fff);border-radius:25px}.review-filter-range{display:flex;gap:8px;align-items:center}.review-tour-toolbar>span{align-self:center;white-space:nowrap}@media(max-width:1000px){.review-tour-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.review-tour-toolbar .review-filter-field{flex:1 1 100%}.review-tour-panel{grid-template-columns:minmax(0,1fr);padding:18px}.review-tour-toolbar{gap:12px}}

.m-service.review-service-compact{aspect-ratio:auto;min-height:220px;padding:25px;display:flex;flex-direction:column;justify-content:flex-start;background:var(--sec-surface)}.m-service.review-service-compact .m-service-panel{position:static;width:100%;padding:15px;background:transparent}.review-service-icon{flex:none;color:var(--primary);margin:0 15px 10px;}

/* Owner correction: distribute the actual process steps across the full desktop row. */
@media(min-width:1025px){.ew-process,.m-proc{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);justify-content:space-between}.m-proc .m-step{max-width:none;min-width:0}}

/* Full-capacity carousel controls retain their native touch targets on narrow screens. */
.m-dots{min-width:0;flex-wrap:wrap;max-width:100%;}


/* Owner standard: one service card geometry for image, icon and no-media modes. */
.m-sgrid .m-service:is(.m-service){aspect-ratio:3/4;min-height:min-content;padding:15px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:0;background:var(--canvas-2)}
.m-sgrid .m-service .m-service-panel{position:relative;z-index:1;width:100%;padding:15px;margin-top:auto;background:var(--sec-surface);border-radius:var(--r-input);text-align:left}
.m-sgrid .m-service :is(.review-service-icon,.m-service-icon){flex:none;align-self:flex-start;margin:15px 15px 24px;color:var(--primary)}
.m-sgrid .m-service .review-service-icon{width:44px;height:44px}
.m-sgrid .m-service:is(.review-service-compact,.m-service--icon,.m-service--none){aspect-ratio:auto;min-height:240px;justify-content:flex-start;background:var(--sec-surface)}
.m-sgrid .m-service:is(.review-service-compact,.m-service--icon,.m-service--none) .m-service-panel{margin-top:0;background:transparent}
.m-sgrid .m-service:is(.review-service-compact,.m-service--icon,.m-service--none) :is(.review-service-icon,.m-service-icon){margin-bottom:0}
