/* v20m - "crafted wood" pass (owner review of v20L). Loaded LAST on every page.
   Quality bar = the #investment tier cards (v20k.css) and the team cards: every card is a wooden object
   (real wood texture, gold trim, depth, shadow); every section announces itself and is separated by a rope/wood-trim band.
   Display face: Ultra (Astigmatic, Apache-2.0), self-hosted latin subset, 15 KB. Nothing here changes prices, codes or copy. */
@font-face{font-family:"Ultra";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/ultra-latin-400.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--m-g1:#fbe6b4;--m-g2:#f0cf92;--m-g3:#d9b778;--m-g4:#b8904f;--m-g5:#8a6a35;--m-cream:#f7ead0;--m-body:#efe3cb;--m-ink:#1a120b;
  --m-display:"Ultra","Rockwell Extra Bold","Rockwell","Georgia",serif;--m-serif:"Cormorant Garamond",Georgia,serif;--m-label:"Barlow Condensed","Arial Narrow",sans-serif;
  --m-rope:linear-gradient(180deg,rgba(255,238,196,.62),rgba(255,238,196,0) 38%,rgba(0,0,0,0) 58%,rgba(38,18,4,.62)),repeating-linear-gradient(118deg,#e2b56a 0 5px,#b98040 5px 8.5px,#6d4518 8.5px 10px);
  --m-wood-card:radial-gradient(120% 60% at 50% 0%,rgba(240,207,146,.18),rgba(240,207,146,0) 62%),linear-gradient(180deg,rgba(43,27,16,.74) 0%,rgba(29,19,12,.88) 42%,rgba(22,16,11,.94) 100%),url("ranch-wood-real.webp") center/cover,#1b120b;
  --m-wood-shadow:inset 0 0 0 5px rgba(23,19,15,.55),inset 0 0 0 6px rgba(217,183,120,.34),0 26px 48px -22px rgba(0,0,0,.82),0 0 32px -10px rgba(217,183,120,.30)}

/* ------------------------------------------------------------------ 1. dividers between sections: wood trim + rope + medallion */
.m-divide{position:relative;z-index:3;display:block;height:46px;margin:0;overflow:visible;
  background:linear-gradient(180deg,#f0cf92 0 1px,#8a6a35 1px 3px,rgba(0,0,0,0) 3px calc(100% - 3px),#8a6a35 calc(100% - 3px) calc(100% - 1px),#f0cf92 calc(100% - 1px)),
             linear-gradient(180deg,rgba(12,8,5,.55),rgba(12,8,5,.72)),url("ranch-wood-seamless.webp") center/1124px 720px repeat,#24160d;
  box-shadow:0 10px 18px -8px rgba(0,0,0,.7),0 -10px 18px -8px rgba(0,0,0,.45)}
.m-divide::before{content:"";position:absolute;left:0;right:0;top:50%;height:12px;margin-top:-6px;border-radius:99px;background:var(--m-rope);
  box-shadow:0 3px 5px rgba(0,0,0,.55)}
.m-divide::after{content:"";position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;
  background:url("ranch-mark-clear.webp") center/112% no-repeat,#3a2410;border:2px solid #f0cf92;
  box-shadow:0 0 0 3px #3b2410,0 0 0 4px #b8904f,0 6px 14px rgba(0,0,0,.65),0 0 18px rgba(240,207,146,.45)}

/* ------------------------------------------------------------------ 2. section header row: rope instead of a hairline */
.m-home #main .section-head i,.m-home main .section-head i{height:9px!important;border-radius:99px;background:var(--m-rope)!important;box-shadow:0 2px 4px rgba(0,0,0,.45)!important;opacity:1}

/* ------------------------------------------------------------------ 3. display titles (section h2) */
.m-home #main>section:not(#top):not(#inquire) h2:not(.m-keep),.m-home #main .m-title{font-family:var(--m-display)!important;font-weight:400!important;letter-spacing:.005em!important;line-height:1.02!important;
  font-size:clamp(2.15rem,4vw,3.9rem)!important;text-wrap:balance;color:#f2d59a;
  background:linear-gradient(180deg,#fff4d8 0%,#f7dea4 34%,#dcae5f 64%,#f4d895 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 0 #3b2208) drop-shadow(0 7px 12px rgba(0,0,0,.5))}
.m-home #main>section:not(#top):not(#inquire) h2:not(.m-keep) em,.m-home #main .m-title em{display:block;margin-top:.12em;font-family:var(--m-serif)!important;font-style:italic;font-weight:500!important;letter-spacing:-.01em;
  font-size:1.14em;line-height:.98;color:#f0cb85;-webkit-text-fill-color:#f0cb85;background:none}
/* light (day-theme parchment) sections: dark bronze instead of gold, still dimensional */
html:not([data-theme="night"]) .m-home #main>section:not(#top):not(#inquire):is(#experience,#paths,#como-funciona,#investment,#gallery,#prints,#services,#como-llegar) h2:not(.m-keep){
  color:#3a230e;background:linear-gradient(180deg,#5e3c16 0%,#3b240e 55%,#23150a 100%);-webkit-background-clip:text;background-clip:text;
  filter:drop-shadow(0 1px 0 rgba(255,240,205,.95)) drop-shadow(0 4px 8px rgba(80,50,15,.28))}
html:not([data-theme="night"]) .m-home #main>section:not(#top):not(#inquire):is(#experience,#paths,#como-funciona,#investment,#gallery,#prints,#services,#como-llegar) h2:not(.m-keep) em{color:#6e4614;-webkit-text-fill-color:#6e4614}
/* inside a wooden card the title is always gold */
.m-home #main .m-wood h2:not(.m-keep){color:#f2d59a!important;background:linear-gradient(180deg,#fff4d8 0%,#f7dea4 34%,#dcae5f 64%,#f4d895 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;
  filter:drop-shadow(0 2px 0 #3b2208) drop-shadow(0 6px 10px rgba(0,0,0,.5))!important}
.m-home #main .m-wood h2:not(.m-keep) em{color:#f0cb85!important;-webkit-text-fill-color:#f0cb85!important}
@media (max-width:620px){.m-home #main>section:not(#top):not(#inquire) h2:not(.m-keep),.m-home #main .m-title{font-size:clamp(1.85rem,8.6vw,2.6rem)!important}}

/* ------------------------------------------------------------------ 4. the wooden card (shared by every card on the site) */
.m-wood,
.m-home #main .fit-grid article,.m-home #main .journey article,.m-home #main .how-step,.m-home #main .print-list>div,.m-home #main .service-showcase__grid article,.m-home #main .signature-grid article,
.m-home #main .experience-grid>div:first-child{position:relative;border:1px solid var(--m-g3)!important;border-radius:16px!important;color:var(--m-body)!important;
  background:var(--m-wood-card)!important;box-shadow:var(--m-wood-shadow)!important;transform:none;rotate:none;outline:0}
/* four brass tacks in the corners */
.m-tacks{position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:radial-gradient(circle at 16px 16px,#fff1c8 0 1.5px,#d9b778 2px 4px,#6b4a1e 4.6px,rgba(0,0,0,0) 5.5px),radial-gradient(circle at calc(100% - 16px) 16px,#fff1c8 0 1.5px,#d9b778 2px 4px,#6b4a1e 4.6px,rgba(0,0,0,0) 5.5px),
             radial-gradient(circle at 16px calc(100% - 16px),#fff1c8 0 1.5px,#d9b778 2px 4px,#6b4a1e 4.6px,rgba(0,0,0,0) 5.5px),radial-gradient(circle at calc(100% - 16px) calc(100% - 16px),#fff1c8 0 1.5px,#d9b778 2px 4px,#6b4a1e 4.6px,rgba(0,0,0,0) 5.5px)}
.m-wood :is(h3,strong){color:#f7e6c4}
.m-kicker{display:flex;align-items:center;gap:12px;margin:0 0 10px;font:600 .8rem/1.2 var(--m-label);letter-spacing:.3em;text-transform:uppercase;color:var(--m-g2)}
.m-kicker::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(217,183,120,.8),rgba(217,183,120,0))}
.m-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 24px;border-radius:8px;border:1px solid #f7dca0;
  background:linear-gradient(180deg,#f3d496 0%,#dcb46e 55%,#c29a55 100%);color:#17130f!important;font:700 1rem/1.2 var(--m-label);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;
  box-shadow:0 12px 24px -12px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.55);transition:filter .25s,box-shadow .25s,transform .25s}
.m-btn:hover,.m-btn:focus-visible{filter:brightness(1.07);box-shadow:0 16px 28px -12px rgba(0,0,0,.9),0 0 18px rgba(240,207,146,.45),inset 0 1px 0 rgba(255,255,255,.6)}
.m-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media (hover:hover) and (pointer:fine){
  .m-home #main :is(.fit-grid article,.how-step,.print-list>div,.service-showcase__grid article,.signature-grid article){transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}
  .m-home #main :is(.fit-grid article,.how-step,.print-list>div,.service-showcase__grid article,.signature-grid article):hover{transform:translateY(-6px)}
}

/* ------------------------------------------------------------------ 5. fit strip  ("¿Es este tu tipo de momento?") */
.m-home #main .fit-strip{background:linear-gradient(180deg,rgba(14,9,6,.78),rgba(20,13,8,.86)),url("ranch-wood-seamless.webp") center/1124px 720px repeat,#1b120b!important;padding-block:clamp(70px,8vw,120px)}
.m-home #main .fit-strip h2{margin-bottom:clamp(34px,4vw,52px)!important}
.m-home #main .fit-grid{gap:clamp(18px,2.4vw,32px)!important;align-items:stretch}
.m-home #main .fit-grid article{padding:clamp(28px,3vw,42px) clamp(26px,3vw,44px) clamp(30px,3vw,40px) clamp(96px,8vw,118px)!important;min-height:0}
.m-home #main .fit-grid article>span{display:block;margin:0 0 12px!important;font:400 clamp(1.25rem,1.7vw,1.6rem)/1.15 var(--m-display)!important;letter-spacing:.02em!important;text-transform:none!important;color:var(--m-g2)!important}
.m-home #main .fit-grid article p{margin:0;font-size:clamp(1rem,1.1vw,1.1rem)!important;line-height:1.65!important;color:var(--m-body)!important}
.m-home #main .fit-grid article .m-badge{position:absolute;left:clamp(24px,2.4vw,34px);top:clamp(28px,3vw,40px);width:clamp(52px,4.6vw,62px);height:clamp(52px,4.6vw,62px);border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 30%,#fff1c8,#e6c27f 40%,#9c7436 75%,#5a3d16);box-shadow:0 0 0 3px #2a190c,0 0 0 4px #d9b778,0 10px 18px rgba(0,0,0,.6)}
.m-home #main .fit-grid article .m-badge svg{width:56%;height:56%;fill:none;stroke:#2a190c;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.m-home #main .fit-grid article:nth-child(2){--m-g3:#c98f5a}
@media (max-width:620px){.m-home #main .fit-grid article{padding:92px 24px 28px!important}.m-home #main .fit-grid article .m-badge{left:24px;top:24px}}

/* ------------------------------------------------------------------ 6. 01 · La experiencia: wooden sign + framed photo + journey cards */
.m-home #main .experience-grid{align-items:center!important;gap:clamp(28px,5vw,80px)!important}
.m-home #main .experience-grid>div:first-child{padding:clamp(30px,4vw,56px)!important}
.m-home #main .experience-grid>div:first-child .eyebrow{color:var(--m-g2)!important}
.m-home #main .experience-grid>div:first-child .body-copy{color:var(--m-body)!important;font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.7;margin-bottom:0}
.m-home #main .experience-grid figure{padding:12px!important;border-radius:6px;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.45)),url("ranch-wood-real.webp") center/cover,#3a2410!important;
  border:1px solid #d9b778!important;box-shadow:inset 0 0 0 2px #1d120a,inset 0 0 0 3px rgba(240,207,146,.55),0 30px 50px -24px rgba(0,0,0,.85)!important;transform:rotate(1.2deg)}
.m-home #main .experience-grid figure img{border:1px solid rgba(240,207,146,.6);border-radius:2px}
.m-home #main .journey{gap:clamp(16px,2vw,26px)!important;margin-top:clamp(60px,7vw,100px)!important}
.m-home #main .journey article{padding:clamp(26px,2.4vw,34px) clamp(22px,2vw,28px) clamp(28px,2.4vw,34px)!important;transform:none!important}
.m-home #main .journey article::before,.m-home #main .journey article::after{display:none!important}
.m-home #main .journey article>span{display:inline-grid!important;place-items:center;width:52px;height:52px;margin:0 0 18px!important;border-radius:50%;font:400 1.15rem/1 var(--m-display)!important;color:#2a190c!important;
  background:radial-gradient(circle at 35% 30%,#fff1c8,#e6c27f 42%,#a57b3a 78%,#5a3d16)!important;box-shadow:0 0 0 3px #2a190c,0 0 0 4px #d9b778,0 8px 14px rgba(0,0,0,.55)!important}
.m-home #main .journey article h3{color:#f7e6c4!important;font:400 1.08rem/1.25 var(--m-display)!important;letter-spacing:.03em!important;margin:0 0 10px!important}
.m-home #main .journey article p{color:var(--m-body)!important;font-size:.98rem!important;line-height:1.6!important}

/* ------------------------------------------------------------------ 7. the trail ahead: own section with the 3D horse */
.m-trail{position:relative;overflow:hidden;padding:clamp(70px,8vw,120px) clamp(20px,6vw,104px)!important;color:var(--m-body);
  background:radial-gradient(60% 70% at 72% 50%,rgba(240,207,146,.16),rgba(240,207,146,0) 70%),linear-gradient(180deg,rgba(10,7,5,.8),rgba(18,12,8,.9)),url("ranch-wood-seamless.webp") center/1124px 720px repeat,#140d08}
.m-trail__card{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);align-items:center;gap:clamp(24px,4vw,60px);max-width:1280px;margin:0 auto;padding:clamp(26px,4vw,56px);
  text-decoration:none;color:inherit;cursor:pointer}
.m-trail__card:focus-visible{outline:3px solid #fff;outline-offset:6px}
.m-trail__copy .eyebrow{color:var(--m-g2)!important;margin-bottom:14px}
.m-trail__copy p.m-trail__lead{margin:18px 0 26px;max-width:520px;font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.7;color:var(--m-body)}
.m-trail__stage{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;border:1px solid #d9b778;
  background:radial-gradient(70% 60% at 50% 70%,rgba(240,207,146,.35),rgba(240,207,146,0) 70%),linear-gradient(180deg,#2a1a0f,#140d08);
  box-shadow:inset 0 0 0 4px rgba(23,19,15,.6),inset 0 0 0 5px rgba(240,207,146,.4),0 24px 44px -20px rgba(0,0,0,.85)}
.m-trail__stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform-origin:50% 88%;animation:m-rock 4.6s ease-in-out infinite}
.m-trail__stage canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.m-trail__stage.is-live img{visibility:hidden}
.m-trail__stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,rgba(20,13,8,0),rgba(20,13,8,.55));pointer-events:none}
.m-trail__tag{position:absolute;z-index:2;left:16px;bottom:14px;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid #d9b778;background:rgba(20,13,8,.82);
  font:700 .78rem/1 var(--m-label);letter-spacing:.2em;text-transform:uppercase;color:var(--m-g2)}
.m-trail__tag::before{content:"";width:8px;height:8px;border-radius:50%;background:#f0cf92;box-shadow:0 0 10px #f0cf92}
@keyframes m-rock{0%,100%{transform:rotate(-2.2deg) translateY(0)}50%{transform:rotate(2.2deg) translateY(-6px)}}
@media (hover:hover) and (pointer:fine){.m-trail__card{transition:transform .45s cubic-bezier(.2,.7,.2,1)}.m-trail__card:hover{transform:translateY(-6px)}}
@media (max-width:860px){.m-trail__card{grid-template-columns:minmax(0,1fr)}.m-trail__stage{order:-1}}

/* ------------------------------------------------------------------ 8. 02 · Retratos con caballos */
.m-home #main .portrait-heading{display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr);align-items:end;gap:clamp(24px,5vw,80px)!important;margin-bottom:clamp(36px,4vw,56px)!important}
.m-home #main .portrait-heading h2{max-width:none!important}
.m-home #main .portrait-heading .m-plaque{max-width:none!important;margin:0!important;padding:clamp(22px,2.4vw,32px);font-size:clamp(1.05rem,1.25vw,1.2rem)!important;line-height:1.7!important;color:var(--m-body)!important}
.m-home #main .portrait-collage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.32fr);grid-template-rows:1fr 1fr;gap:clamp(14px,1.8vw,24px);max-width:1280px;margin:0 auto}
.m-home #main .portrait-collage figure{position:relative;margin:0;min-height:0;padding:10px;border-radius:6px;overflow:hidden;
  background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.45)),url("ranch-wood-real.webp") center/cover,#3a2410;border:1px solid #d9b778;
  box-shadow:inset 0 0 0 2px #1d120a,inset 0 0 0 3px rgba(240,207,146,.5),0 24px 44px -22px rgba(0,0,0,.85);transform:none!important;rotate:none!important}
.m-home #main .portrait-collage figure img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px;border:1px solid rgba(240,207,146,.55)}
.m-home #main .portrait-collage figure:nth-child(1) img{object-position:50% 30%}
.m-home #main .portrait-collage figure:nth-child(2) img{object-position:50% 40%}
.m-home #main .portrait-collage figure:nth-child(3){grid-column:2;grid-row:1 / span 2;aspect-ratio:4/5}
.m-home #main .portrait-collage figure:nth-child(3) img{object-position:50% 18%}
.m-home #main .portrait-collage figcaption{position:absolute;left:10px;right:10px;bottom:10px;display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:30px 16px 12px;
  background:linear-gradient(180deg,rgba(15,10,6,0),rgba(15,10,6,.88) 55%);border-radius:0 0 2px 2px}
.m-home #main .portrait-collage figcaption span:first-child{font:700 .78rem/1.2 var(--m-label);letter-spacing:.16em;text-transform:uppercase;color:#f7e6c4}
.m-home #main .portrait-collage figcaption span+span{font:italic 500 1.05rem/1.2 var(--m-serif);color:#f0cb85}
.m-home #main .portrait-cta{display:flex!important;justify-content:center!important;margin:clamp(34px,4vw,54px) 0 0!important}
.m-home #main .portrait-cta a{display:inline-flex!important;align-items:center;justify-content:center;min-height:54px;padding:15px 34px!important;border-radius:8px!important;border:1px solid #f7dca0!important;
  background:linear-gradient(180deg,#f3d496 0%,#dcb46e 55%,#c29a55 100%)!important;color:#17130f!important;font:700 1.04rem/1.2 var(--m-label)!important;letter-spacing:.1em!important;
  box-shadow:0 14px 26px -12px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.55)!important;width:auto!important;max-width:100%;text-align:center}
@media (max-width:760px){
  .m-home #main .portrait-heading{grid-template-columns:minmax(0,1fr)}
  .m-home #main .portrait-collage{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}
  .m-home #main .portrait-collage figure:nth-child(3){grid-column:1 / span 2;grid-row:1;aspect-ratio:4/5}
  .m-home #main .portrait-collage figure:nth-child(1),.m-home #main .portrait-collage figure:nth-child(2){grid-row:2;aspect-ratio:4/5}
  .m-home #main .portrait-collage figcaption{flex-direction:column;gap:2px;padding:24px 10px 10px}
  .m-home #main .portrait-collage figcaption span+span{font-size:.95rem}
  .m-home #main .portrait-cta a{width:100%!important}
}

/* ------------------------------------------------------------------ 9. ¿Cómo funciona? wooden cards on a lasso */
.m-home #main .how-works{background:linear-gradient(180deg,rgba(12,8,5,.74),rgba(18,12,8,.84)),url("ranch-wood-seamless.webp") center/1124px 720px repeat,#1a110b!important}
html:not([data-theme="night"]) .m-home #main .how-works{background:radial-gradient(90% 70% at 50% 0%,#f6ead2,#e6d3b0)!important}
.m-home #main .how-works .section-head{color:var(--m-g2)!important}
html:not([data-theme="night"]) .m-home #main .how-works .section-head{color:#5a3a14!important}
html:not([data-theme="night"]) .m-home #main .how-works .eyebrow{color:#6e4614!important}
.m-home #main .how-lasso{position:relative;margin-top:clamp(40px,5vw,70px)}
.m-home #main .how-steps{position:relative;z-index:2;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:clamp(22px,3vw,46px)!important;padding-top:34px!important}
.m-home #main .how-step{padding:clamp(34px,3vw,42px) clamp(20px,1.8vw,26px) clamp(26px,2.4vw,32px)!important;text-align:center}
.m-home #main .how-step::before,.m-home #main .how-step::after{display:none!important}
.m-home #main .how-step h3{color:#f7e6c4!important;font:400 clamp(1.08rem,1.3vw,1.28rem)/1.2 var(--m-display)!important;letter-spacing:.01em!important}
.m-home #main .how-step p{color:var(--m-body)!important}
.m-home #main .how-shoe svg .how-shoe__iron{fill:none;stroke:#f0cf92}
.m-home #main .how-shoe b{color:#f7e6c4!important}
.m-home #main .how-step .m-ring{position:absolute;z-index:3;left:50%;top:-15px;width:30px;height:30px;margin-left:-15px;border-radius:50%;
  border:5px solid #e0b76c;box-shadow:inset 0 0 0 1px #6b4518,0 0 0 1px #6b4518,0 5px 8px rgba(0,0,0,.55);background:transparent}
.m-home #main .how-step .m-ring::after{content:"";position:absolute;left:50%;top:16px;width:8px;height:14px;margin-left:-4px;border-radius:2px;background:linear-gradient(90deg,#8a6a35,#f0cf92,#8a6a35)}
.m-home #main .m-rope{position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.m-home #main .m-rope .r-shadow{stroke:rgba(0,0,0,.45);stroke-width:11;fill:none;transform:translateY(4px)}
.m-home #main .m-rope .r-base{stroke:#5b3a17;stroke-width:10;fill:none;stroke-linecap:round}
.m-home #main .m-rope .r-body{stroke:#d6a45a;stroke-width:7.5;fill:none;stroke-linecap:round}
.m-home #main .m-rope .r-twist{stroke:#8a5a24;stroke-width:7.5;fill:none;stroke-dasharray:2.2 5;stroke-linecap:butt}
.m-home #main .m-rope .r-hi{stroke:#fbe6b4;stroke-width:1.6;fill:none;stroke-dasharray:3 4.2;opacity:.8;transform:translateY(-2px)}
.m-home #main .m-rope.is-drawing .r-draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:m-draw 1.8s cubic-bezier(.3,.6,.2,1) forwards}
@keyframes m-draw{to{stroke-dashoffset:0}}
@media (max-width:900px){
  .m-home #main .how-steps{grid-template-columns:minmax(0,1fr)!important;gap:30px!important;padding:0 0 0 46px!important}
  .m-home #main .how-step{text-align:left}
  .m-home #main .how-step .m-ring{left:-15px;top:50%;margin:-15px 0 0 0}
  .m-home #main .how-step .m-ring::after{left:16px;top:50%;width:14px;height:8px;margin:-4px 0 0 0;background:linear-gradient(180deg,#8a6a35,#f0cf92,#8a6a35)}
  .m-home #main .how-shoe{margin-inline:0!important}
}

/* ------------------------------------------------------------------ 10. monthly promotion banner (data-driven from assets/tiers.json) */
.m-home #main .mgr-monthly-promo.m-promo{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(16px,2.6vw,36px);
  max-width:1120px;margin:0 auto clamp(46px,5vw,70px)!important;padding:clamp(22px,2.6vw,32px) clamp(22px,3vw,40px)!important;border-radius:16px;overflow:hidden;color:var(--m-body);
  border:2px solid transparent;
  background:radial-gradient(90% 120% at 0% 0%,rgba(214,112,38,.34),rgba(214,112,38,0) 60%) padding-box,radial-gradient(70% 120% at 100% 100%,rgba(160,60,20,.32),rgba(160,60,20,0) 60%) padding-box,
             linear-gradient(180deg,rgba(40,22,10,.78),rgba(24,14,8,.92)) padding-box,url("ranch-wood-real.webp") center/cover padding-box,
             linear-gradient(140deg,#fbe6b4 0%,#b8904f 28%,#e8a55a 52%,#8a6a35 76%,#f7dca0 100%) border-box;
  box-shadow:inset 0 0 0 5px rgba(23,19,15,.45),inset 0 0 0 6px rgba(240,190,120,.35),0 26px 48px -22px rgba(0,0,0,.8),0 0 40px -10px rgba(232,150,70,.4)}
.m-home #main .m-promo__seal{width:clamp(72px,7vw,96px);height:clamp(72px,7vw,96px);flex:none;filter:drop-shadow(0 8px 12px rgba(0,0,0,.55))}
.m-home #main .m-promo__body{min-width:0}
.m-home #main .m-promo__kicker{margin:0 0 6px!important;font:700 .82rem/1.3 var(--m-label)!important;letter-spacing:.24em;text-transform:uppercase;color:#f4c27d!important}
.m-home #main .mgr-monthly-promo.m-promo h2.m-promo__title{margin:0!important;font:400 clamp(1.35rem,2.2vw,2.05rem)/1.12 var(--m-display)!important;letter-spacing:.01em!important;color:#fbe3ae!important;
  background:none!important;-webkit-text-fill-color:#fbe3ae!important;filter:drop-shadow(0 2px 0 #3b2208)!important}
.m-home #main .m-promo__dates{margin:10px 0 0!important;font:600 1rem/1.4 "DM Sans","Segoe UI",sans-serif!important;color:#f3e3c2!important}
.m-home #main .m-promo__dates b{color:#f4c27d;font-weight:700}
.m-home #main .m-promo__leaves{display:flex;gap:6px;align-self:stretch;align-items:center}
.m-home #main .m-promo__leaves svg{width:clamp(34px,3.4vw,46px);height:auto;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))}
.m-home #main .mgr-monthly-promo.m-promo[hidden]{display:none!important}
@media (max-width:700px){.m-home #main .mgr-monthly-promo.m-promo{grid-template-columns:auto minmax(0,1fr);text-align:left}.m-home #main .m-promo__leaves{display:none}}
@media (max-width:1000px){.m-home #main .mgr-tier-grid{margin-top:0}}

/* ------------------------------------------------------------------ 11. prints: price boards that match the flyer */
.m-home #main .prints-layout{align-items:center!important}
.m-home #main .print-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(14px,1.6vw,22px)!important;margin-top:clamp(26px,3vw,36px)!important;border:0!important;background:none!important}
.m-home #main .print-list>div{display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:0 16px 20px!important;overflow:hidden;min-height:0}
.m-home #main .print-list>div::before,.m-home #main .print-list>div::after{display:none!important}
.m-home #main .print-list>div>span{display:block;align-self:stretch;margin:0 -16px 14px!important;padding:11px 10px 10px;font:400 clamp(1.15rem,1.5vw,1.45rem)/1.1 var(--m-display)!important;letter-spacing:.02em!important;color:#2a190c!important;
  background:linear-gradient(180deg,#fbe6b4 0%,#e6c27f 45%,#c29a55 100%);border-bottom:1px solid #6b4a1e;box-shadow:inset 0 -2px 0 rgba(107,74,30,.35),inset 0 1px 0 rgba(255,255,255,.6);text-transform:none!important}
.m-home #main .print-list>div>strong{display:block;font:600 clamp(2.4rem,3.4vw,3rem)/1 var(--m-serif)!important;color:var(--m-g2)!important;font-variant-numeric:lining-nums;text-shadow:0 0 20px rgba(240,207,146,.25),0 2px 0 rgba(0,0,0,.5)}
.m-home #main .print-list>div>small{display:block;margin-top:8px!important;font:600 .8rem/1.3 var(--m-label)!important;letter-spacing:.16em!important;color:#eadbb9!important}
.m-home #main .print-list>div:nth-child(4){border:2px solid transparent!important;
  background:radial-gradient(130% 55% at 50% 0%,rgba(240,207,146,.3),rgba(240,207,146,0) 62%) padding-box,linear-gradient(180deg,rgba(45,27,14,.78),rgba(20,15,11,.96)) padding-box,url("ranch-wood-real.webp") center/cover padding-box,
             linear-gradient(140deg,#fbe6b4 0%,#b8904f 28%,#f0cf92 52%,#8a6a35 76%,#f7dca0 100%) border-box!important;box-shadow:var(--m-wood-shadow),0 0 40px -6px rgba(240,207,146,.45)!important}
.m-home #main .print-flyer{padding:12px;border-radius:6px;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.45)),url("ranch-wood-real.webp") center/cover,#3a2410!important;border:1px solid #d9b778;
  box-shadow:inset 0 0 0 2px #1d120a,inset 0 0 0 3px rgba(240,207,146,.5),0 30px 50px -24px rgba(0,0,0,.85)!important}
.m-home #main .print-flyer span{color:#f7e6c4!important;background:transparent!important}

/* ------------------------------------------------------------------ 12. services (08): clearly SERVICES, framed photo cards */
.m-home #main .service-showcase__grid{gap:clamp(20px,2.4vw,32px)!important;align-items:stretch!important}
.m-home #main .service-showcase__grid article{display:flex!important;flex-direction:column;padding:12px!important;overflow:hidden;transform:none!important;margin:0!important}
.m-home #main .service-showcase__grid article>img{width:100%;aspect-ratio:4/3!important;height:auto!important;object-fit:cover;border-radius:10px 10px 4px 4px;border:1px solid rgba(240,207,146,.55)}
.m-home #main .service-showcase__grid article>div{flex:1;display:flex;flex-direction:column;padding:22px 14px 14px!important;background:none!important;border:0!important;box-shadow:none!important;color:var(--m-body)!important}
.m-home #main .service-showcase__grid article>div::before,.m-home #main .service-showcase__grid article>div::after{display:none!important}
.m-home #main .service-showcase__grid article>div>span{font:600 .78rem/1.2 var(--m-label)!important;letter-spacing:.22em!important;color:var(--m-g2)!important}
.m-home #main .service-showcase__grid article h3{margin:10px 0 12px!important;font:600 clamp(1.6rem,2vw,2rem)/1.08 var(--m-serif)!important;color:#f7e6c4!important}
.m-home #main .service-showcase__grid article p{color:var(--m-body)!important;font-size:.97rem!important;line-height:1.6!important;margin-bottom:18px!important}
.m-home #main .service-showcase__grid article a{margin-top:auto!important;align-self:flex-start;display:inline-flex!important;align-items:center;min-height:44px;padding:11px 18px!important;border-radius:8px;border:1px solid #f7dca0!important;
  background:linear-gradient(180deg,#f3d496 0%,#dcb46e 55%,#c29a55 100%)!important;color:#17130f!important;font:700 .92rem/1.2 var(--m-label)!important;letter-spacing:.09em!important;text-decoration:none!important;
  box-shadow:0 10px 20px -10px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.55)!important}
.m-home #main .service-showcase__grid article a::after{display:none!important}
.m-home #main .service-showcase__intro>p{color:inherit}

/* ------------------------------------------------------------------ 13. signature services (09): wood, not green */
.m-home #main .signature-services{background:linear-gradient(180deg,rgba(12,8,5,.72),rgba(18,12,8,.84)),url("ranch-wood-seamless.webp") center/1124px 720px repeat,#1a110b!important;color:var(--m-body)!important}
.m-home #main .signature-services .section-head{color:var(--m-g2)!important}
.m-home #main .signature-grid{gap:clamp(20px,2.6vw,34px)!important;background:none!important;border:0!important}
.m-home #main .signature-grid article{padding:clamp(30px,3.4vw,52px)!important;margin:0!important}
.m-home #main .signature-grid article>span{font:600 .82rem/1.2 var(--m-label)!important;letter-spacing:.24em!important;color:var(--m-g2)!important}
.m-home #main .signature-grid article h2{margin:clamp(26px,3vw,40px) 0 18px!important;font-size:clamp(2rem,3.2vw,3.2rem)!important}
.m-home #main .signature-grid article p{color:var(--m-body)!important}
.m-home #main .signature-grid article a{color:var(--m-g2)!important}
.m-home #main .signature-grid article .m-emblem{position:absolute;right:clamp(22px,3vw,40px);top:clamp(22px,3vw,40px);width:clamp(58px,6vw,78px);height:auto;opacity:.95;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}

/* ------------------------------------------------------------------ 14. live from the ranch (Facebook): themed */
.m-home #main .facebook-section{background:radial-gradient(60% 80% at 80% 40%,rgba(240,207,146,.12),rgba(240,207,146,0) 70%),linear-gradient(180deg,rgba(12,8,5,.78),rgba(18,12,8,.88)),url("ranch-wood-seamless.webp") center/1124px 720px repeat,#1a110b!important;color:var(--m-body)!important}
.m-home #main .facebook-section .section-head{color:var(--m-g2)!important}
.m-home #main .facebook-layout>div:first-child{padding:clamp(28px,3.4vw,48px)}
.m-home #main .facebook-layout>div:first-child p{color:var(--m-body)!important}
.m-home #main .facebook-frame-wrap{position:relative;padding:14px 14px 14px!important;border-radius:14px;border:1px solid #d9b778;background:var(--m-wood-card)!important;box-shadow:var(--m-wood-shadow)!important}
.m-home #main .facebook-frame-wrap .m-fb-plate{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:10px 14px;border-radius:8px;
  background:linear-gradient(180deg,#fbe6b4 0%,#e6c27f 45%,#c29a55 100%);color:#2a190c;font:700 .86rem/1.2 var(--m-label);letter-spacing:.16em;text-transform:uppercase;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.m-home #main .facebook-frame-wrap .m-fb-plate b{font:400 .95rem/1 var(--m-display);letter-spacing:.02em;text-transform:none}
.m-home #main .facebook-frame-wrap .m-fb-stage{position:relative;border-radius:6px;overflow:hidden;background:#140d08 url("show-12.webp") center/cover}
.m-home #main .facebook-frame-wrap .m-fb-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,13,8,.35),rgba(20,13,8,.8))}
.m-home #main .facebook-frame-wrap .m-fb-stage iframe{position:relative;z-index:1;display:block;width:100%!important;max-width:100%;border:0;background:transparent}

/* ------------------------------------------------------------------ 15. FAQ: consistent wood rows */
.m-home #main .ranch-faq details{border:1px solid rgba(217,183,120,.7)!important;border-radius:12px!important;background:linear-gradient(180deg,rgba(43,27,16,.72),rgba(24,16,11,.9)),url("ranch-wood-real.webp") center/cover,#1b120b!important;
  box-shadow:inset 0 0 0 4px rgba(23,19,15,.45),inset 0 0 0 5px rgba(217,183,120,.22),0 16px 26px -18px rgba(0,0,0,.8)!important}
.m-home #main .ranch-faq summary{color:#f7e6c4!important}
.m-home #main .ranch-faq details p{color:var(--m-body)!important}

/* ------------------------------------------------------------------ 16. Cómo llegar: the real Google map, framed in wood */
.m-home #main .m-map{position:relative;border-radius:16px;padding:12px;border:1px solid #d9b778;background:var(--m-wood-card);box-shadow:var(--m-wood-shadow)}
.m-home #main .m-map__frame{position:relative;aspect-ratio:16/11;border-radius:8px;overflow:hidden;border:1px solid rgba(240,207,146,.6);background:#e8e2d6}
.m-home #main .m-map__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.m-home #main .m-map__card{position:absolute;z-index:2;left:26px;top:26px;display:flex;align-items:center;gap:12px;max-width:calc(100% - 52px);padding:10px 16px 10px 10px;border-radius:12px;border:1px solid #d9b778;
  background:linear-gradient(180deg,rgba(43,27,16,.94),rgba(24,16,11,.96)),url("ranch-wood-real.webp") center/cover;box-shadow:0 12px 24px -10px rgba(0,0,0,.8),inset 0 0 0 3px rgba(23,19,15,.5),inset 0 0 0 4px rgba(217,183,120,.3);pointer-events:none}
.m-home #main .m-map__card img{width:46px;height:46px;border-radius:50%;border:2px solid #f0cf92;box-shadow:0 0 0 2px #3b2410,0 0 14px rgba(240,207,146,.5);flex:none}
.m-home #main .m-map__card strong{display:block;font:400 .98rem/1.15 var(--m-display);color:#fbe3ae;letter-spacing:.01em}
.m-home #main .m-map__card span{display:block;margin-top:3px;font:500 .84rem/1.3 "DM Sans",sans-serif;color:#efe3cb}
.m-home #main .m-map__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.m-home #main .m-map__actions .m-btn{flex:1 1 220px}
.m-home #main .m-map__note{margin:10px 2px 0;font-size:.82rem;line-height:1.5;color:inherit;opacity:.95}
@media (max-width:620px){.m-home #main .m-map__frame{aspect-ratio:4/5}.m-home #main .m-map__card{left:18px;top:18px;right:18px;max-width:none}}

/* ------------------------------------------------------------------ 17. héctor never cropped (object-position map, v20m) */
/* hero-hector-v20m.mp4 (710x540, child-free real segment): frame starts at the top so his hat clears the fixed header */
#top .hero-media video{object-position:50% 0}
@media (max-width:620px){#top .hero-media video{object-position:10% 0}} /* round 2: keeps Héctor's hat and face inside 360-620 px in every frame (head spans 10-33% of the clip width) */

/* ------------------------------------------------------------------ reduced motion */
@media (prefers-reduced-motion:reduce){
  .m-trail__stage img{animation:none}
  .m-home #main .m-rope.is-drawing .r-draw{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
  .m-home #main :is(.fit-grid article,.how-step,.print-list>div,.service-showcase__grid article,.signature-grid article,.m-trail__card){transition:none!important;transform:none!important}
}

/* ================================================================== v20m round 2 fixes */
.m-home #main section h2 em+br{display:none}
.m-home #main .portraits>*{position:relative;z-index:1}
.m-home #main .m-plaque p{max-width:none!important;margin:0!important;font-size:inherit!important;line-height:inherit!important;color:var(--m-body)!important}
.m-home #main .portrait-collage figure img{position:absolute;inset:10px;width:calc(100% - 20px)!important;height:calc(100% - 20px)!important}
.m-home #main .portrait-collage figure:nth-child(1),.m-home #main .portrait-collage figure:nth-child(2){min-height:0}
.m-home #main .journey article{min-height:0!important}
.m-home #main .m-tacks{z-index:3}
/* the lasso sits in front of the cards (rings in front of the rope) */
.m-home #main .how-steps{z-index:auto!important}
.m-home #main .how-steps::before{display:none!important}
.m-home #main .m-rope{z-index:3!important}
.m-home #main .how-step .m-ring{z-index:4}
.m-home #main .how-step p{max-width:none!important;margin-inline:auto}
@media (max-width:620px){.m-home #main .portrait-cta a{font-size:.92rem!important;letter-spacing:.06em!important;padding:14px 16px!important}}
/* sections that were plain / off-theme at night get the ranch wood too */
html[data-theme="night"] .m-home #main :is(.mgr-packages,.directions,.show-gallery,.collection-callout){background:linear-gradient(180deg,rgba(12,8,5,.8),rgba(18,12,8,.88)),url("ranch-wood-seamless.webp") center/1124px 720px repeat,#1a110b!important}
.m-home #main .collection-callout{background:radial-gradient(50% 80% at 18% 50%,rgba(240,207,146,.16),rgba(240,207,146,0) 70%),linear-gradient(180deg,rgba(12,8,5,.78),rgba(18,12,8,.88)),url("ranch-wood-seamless.webp") center/1124px 720px repeat,#1a110b!important}
.m-home #main .collection-callout-copy a{display:inline-flex!important;align-items:center;min-height:48px;padding:13px 24px!important;border-radius:8px;border:1px solid #f7dca0!important;
  background:linear-gradient(180deg,#f3d496 0%,#dcb46e 55%,#c29a55 100%)!important;color:#17130f!important;font:700 .98rem/1.2 var(--m-label)!important;letter-spacing:.1em!important;text-decoration:none!important;box-shadow:0 12px 24px -12px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.55)!important}
/* "¿Estuviste allí?" photo finder call-out: wooden card, display title */
.m-home #main .photo-access{border:1px solid var(--m-g3)!important;border-radius:16px!important;background:var(--m-wood-card)!important;box-shadow:var(--m-wood-shadow)!important;color:var(--m-body)!important}
.m-home #main .photo-access::before,.m-home #main .photo-access::after{display:none!important}
.m-home #main .photo-access h3{font:400 clamp(1.9rem,3.2vw,3.1rem)/1.04 var(--m-display)!important;letter-spacing:.005em!important;color:#f2d59a!important;
  background:linear-gradient(180deg,#fff4d8 0%,#f7dea4 34%,#dcae5f 64%,#f4d895 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 #3b2208) drop-shadow(0 6px 10px rgba(0,0,0,.5))}
.m-home #main .photo-access h3 em{display:block;margin-top:.1em;font:italic 500 1.12em/1 var(--m-serif)!important;color:#f0cb85;-webkit-text-fill-color:#f0cb85}
.m-home #main .photo-access h3 em+br,.m-home #main .photo-access h3 br{display:none}
.m-home #main .photo-access p{color:var(--m-body)!important}
.m-home #main .photo-access__kicker{color:var(--m-g2)!important}
.m-home #main .photo-access>a{border-radius:8px!important;border:1px solid #f7dca0!important;background:linear-gradient(180deg,#f3d496 0%,#dcb46e 55%,#c29a55 100%)!important;color:#17130f!important;box-shadow:0 12px 24px -12px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.55)!important}
/* map: a branded wooden map drawing sits under the Google iframe (seen while it loads or if Google is blocked) */
.m-home #main .m-map__frame{background:linear-gradient(90deg,rgba(0,0,0,0) calc(50% - 3px),#c9a262 calc(50% - 3px) calc(50% + 3px),rgba(0,0,0,0) calc(50% + 3px)),
  linear-gradient(0deg,rgba(0,0,0,0) calc(55% - 3px),#c9a262 calc(55% - 3px) calc(55% + 3px),rgba(0,0,0,0) calc(55% + 3px)),
  repeating-linear-gradient(0deg,rgba(90,60,25,.12) 0 1px,rgba(0,0,0,0) 1px 42px),repeating-linear-gradient(90deg,rgba(90,60,25,.12) 0 1px,rgba(0,0,0,0) 1px 42px),#efe4cc}
.m-home #main .m-map__note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
html[data-theme="night"] .m-home #main .m-map__note{color:#e8dcc0}

/* ================================================================== inner pages (body.m-inner) */
/* shared: section titles in the ranch display face; buttons stay as they are */
.m-inner .m-title-d,.m-inner .board-game__top h2,.m-inner .trail-finish h2,.m-inner .collection-heading h2,.m-inner .story h2,.m-inner .privacy-page h1,
.m-inner .profile-story h2,.m-inner .profile-film h2,.m-inner .profile-contact h2,.m-inner .plan-board legend{font-family:var(--m-display)!important;font-weight:400!important;letter-spacing:.005em!important;line-height:1.04!important}
.m-inner :is(.board-game__top h2,.trail-finish h2,.collection-heading h2,.story h2,.profile-story h2,.profile-film h2,.profile-contact h2) em{display:block;margin-top:.1em;font:italic 500 1.12em/1 var(--m-serif)!important;letter-spacing:-.01em}
.m-inner :is(.board-game__top h2,.trail-finish h2,.collection-heading h2,.story h2,.profile-story h2,.profile-film h2,.profile-contact h2) br{display:none}
.m-inner :is(.board-game__top h2,.trail-finish h2,.collection-heading h2,.story h2){font-size:clamp(2.2rem,4.4vw,4.2rem)!important}

/* ---- people pages: always the dark ranch wood (readable in the day theme too), cards = the team cards */
html body.m-people{background:#1a110b;color:var(--m-body)}
html body.m-people .profile-hero{background:linear-gradient(180deg,rgba(12,8,5,.72),rgba(18,12,8,.86)),url("ranch-wood-seamless.webp") center/1124px 720px repeat,#1a110b}
html body.m-people .profile-hero__image{position:relative;margin:clamp(16px,2.4vw,36px) 0 clamp(16px,2.4vw,36px) clamp(16px,2.4vw,36px);padding:12px;border-radius:8px;border:1px solid #d9b778;
  background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.45)),url("ranch-wood-real.webp") center/cover,#3a2410;box-shadow:inset 0 0 0 2px #1d120a,inset 0 0 0 3px rgba(240,207,146,.5),0 30px 50px -24px rgba(0,0,0,.85)}
html body.m-people .profile-hero__image img{border-radius:3px;border:1px solid rgba(240,207,146,.55);object-position:50% 12%}
html body.m-people .profile-hero__copy{position:relative;margin:clamp(16px,2.4vw,36px);border-radius:16px;border:1px solid var(--m-g3);background:var(--m-wood-card);box-shadow:var(--m-wood-shadow);color:var(--m-body)}
html body.m-people .profile-hero__copy>span,html body.m-people .profile-story span,html body.m-people .profile-film span,html body.m-people .profile-contact>span{color:var(--m-g2)!important}
html body.m-people .profile-hero h1{font-family:var(--m-display);font-weight:400;font-size:clamp(2.6rem,5vw,5rem);line-height:1.02;letter-spacing:.005em;color:#f2d59a;
  background:linear-gradient(180deg,#fff4d8 0%,#f7dea4 34%,#dcae5f 64%,#f4d895 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 #3b2208) drop-shadow(0 7px 12px rgba(0,0,0,.5))}
html body.m-people .profile-hero h1 em{font:italic 500 1.08em/1 var(--m-serif);color:#f0cb85;-webkit-text-fill-color:#f0cb85}
html body.m-people .profile-hero__copy p,html body.m-people .profile-story p,html body.m-people .profile-film p,html body.m-people .profile-contact p{color:var(--m-body)!important}
html body.m-people .profile-story{background:linear-gradient(180deg,rgba(12,8,5,.8),rgba(18,12,8,.9)),url("ranch-wood-seamless.webp") center/1124px 720px repeat,#1a110b;color:var(--m-body);border-block:0;
  box-shadow:inset 0 3px 0 #8a6a35,inset 0 4px 0 #f0cf92,inset 0 -3px 0 #8a6a35,inset 0 -4px 0 #f0cf92}
html body.m-people .profile-story>p{padding:clamp(24px,2.6vw,36px);border-radius:16px;border:1px solid var(--m-g3);background:var(--m-wood-card);box-shadow:var(--m-wood-shadow)}
html body.m-people :is(.profile-story,.profile-film,.profile-contact) h2{color:#f2d59a;font-size:clamp(2.3rem,4.6vw,4.4rem)!important;
  background:linear-gradient(180deg,#fff4d8 0%,#f7dea4 34%,#dcae5f 64%,#f4d895 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 #3b2208) drop-shadow(0 7px 12px rgba(0,0,0,.5))}
html body.m-people :is(.profile-story,.profile-film,.profile-contact) h2 em{color:#f0cb85!important;-webkit-text-fill-color:#f0cb85}
html body.m-people .profile-gallery figure{padding:10px;border-radius:8px;border:1px solid #d9b778;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.45)),url("ranch-wood-real.webp") center/cover,#3a2410;
  box-shadow:inset 0 0 0 2px #1d120a,inset 0 0 0 3px rgba(240,207,146,.5),0 24px 44px -22px rgba(0,0,0,.85)}
html body.m-people .profile-gallery img{border-radius:3px;border:1px solid rgba(240,207,146,.5);object-position:50% 18%}
html body.m-people .profile-gallery figcaption{color:#f7e6c4}
html body.m-people .profile-film{background:linear-gradient(180deg,rgba(12,8,5,.78),rgba(18,12,8,.88)),url("ranch-wood-seamless.webp") center/1124px 720px repeat,#1a110b;border-block:0}
html body.m-people .profile-film video{border:0;border-radius:8px;box-shadow:0 0 0 2px #1d120a,0 0 0 4px #d9b778,0 24px 44px -20px rgba(0,0,0,.85)}
html body.m-people .profile-contact{position:relative;margin:clamp(20px,4vw,64px);border-radius:18px;border:1px solid var(--m-g3);background:var(--m-wood-card);box-shadow:var(--m-wood-shadow);color:var(--m-body)}
html body.m-people .profile-contact__actions>a:last-child{color:var(--m-g2)!important}
html body.m-people .profile-action{border-radius:8px;border:1px solid #f7dca0;background:linear-gradient(180deg,#f3d496 0%,#dcb46e 55%,#c29a55 100%);color:#17130f;box-shadow:0 12px 24px -12px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.55)}
html body.m-people footer{box-shadow:inset 0 3px 0 #8a6a35,inset 0 4px 0 #f0cf92}
@media (max-width:950px){html body.m-people .profile-hero__image{margin:16px 16px 0}}

/* ---- 3D roadmap: the hero copy moves LEFT (the riders and horses are on the right of the photo) */
@media (min-width:941px){
  .m-inner .trail-hero__copy{margin-left:0!important;margin-right:auto;width:52%!important;padding-left:clamp(22px,7vw,120px)!important;padding-right:20px!important}
  .m-inner .trail-hero__shade{background:linear-gradient(90deg,#100e0cf2 0%,#17110cd6 34%,#21160b40 62%,#21160b00 80%),linear-gradient(0deg,#100e0cba,transparent 70%)!important}
  .m-inner .trail-hero__image{background-position:70% 0!important;top:88px!important}
  .m-inner .trail-hero__stamp{left:auto!important;right:6vw!important}
}
.m-inner .board-game__seal{border-radius:12px}
html:not([data-theme="night"]) .m-inner .board-game__top h2{color:#3a230e;background:linear-gradient(180deg,#5e3c16 0%,#3b240e 55%,#23150a 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 rgba(255,240,205,.95))}
html:not([data-theme="night"]) .m-inner .board-game__top h2 em{color:#6e4614!important;-webkit-text-fill-color:#6e4614}
html[data-theme="night"] .m-inner .board-game__top h2,.m-inner .trail-finish h2{color:#f2d59a;background:linear-gradient(180deg,#fff4d8 0%,#f7dea4 34%,#dcae5f 64%,#f4d895 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 #3b2208) drop-shadow(0 6px 10px rgba(0,0,0,.5))}
html[data-theme="night"] .m-inner .board-game__top h2 em,.m-inner .trail-finish h2 em{color:#f0cb85!important;-webkit-text-fill-color:#f0cb85}

/* ---- plan: the booking-trail marker is the gold medallion (subtle shine) instead of the chess knight */
.plan-progress__horse.m-medal-marker{display:grid!important;place-items:center;width:44px!important;height:44px!important;padding:0!important;border-radius:50%;overflow:hidden;font-size:0!important;line-height:0!important;
  border:2px solid #f0cf92;background:#3a2410;box-shadow:0 0 0 2px #3b2410,0 6px 14px rgba(0,0,0,.6),0 0 16px rgba(240,207,146,.55);transform:translate(-50%,-50%)}
.plan-progress__horse.m-medal-marker img{width:118%;height:118%;max-width:none;object-fit:cover}
.plan-progress__horse.m-medal-marker::after{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,rgba(255,255,255,0) 40%,rgba(255,246,214,.75) 50%,rgba(255,255,255,0) 60%);transform:translateX(-120%);animation:m-shine 3.6s ease-in-out infinite}
@keyframes m-shine{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
@media (prefers-reduced-motion:reduce){.plan-progress__horse.m-medal-marker::after{animation:none;opacity:0}}
.m-inner .plan-service-grid label,.m-inner .plan-choice-row label{border-radius:12px}

/* ---- shop + privacy: framed in the same wood/gold language */
html[data-theme="night"] .m-inner .collection{background:linear-gradient(180deg,rgba(12,8,5,.8),rgba(18,12,8,.9)),url("ranch-wood-seamless.webp") center/1124px 720px repeat,#1a110b}
html[data-theme="night"] .m-inner .collection-heading h2{color:#f4e6c8}
.m-inner .empty{border-radius:16px;border-color:var(--m-g3)!important;box-shadow:var(--m-wood-shadow)}
.m-inner .privacy-page article,.m-inner .privacy-doc{border-radius:12px}

/* ================================================================== contrast fixes found by the computed audit (contrast_audit.cjs) */
.m-home #main .collection-callout .eyebrow{color:var(--m-g2)!important}
.m-home #main .collection-callout-copy p{color:var(--m-body)!important}
html:not([data-theme="night"]) .m-inner .board-game__note{color:#4a3218!important}
.m-inner .empty h3,.m-inner .empty p{color:#f7ead0!important}
.m-inner .empty>span{color:var(--m-g2)!important}
.m-inner .plan-intro .eyebrow{display:inline-block;padding:7px 12px;border-radius:6px;background:rgba(20,13,8,.82);color:#f0cf92!important;border:1px solid rgba(217,183,120,.6)}
.m-inner .privacy-card .eyebrow{color:#6e4614!important}
html[data-theme="night"] .m-inner .board-game{background:linear-gradient(180deg,rgba(12,8,5,.82),rgba(18,12,8,.9)),url("ranch-wood-seamless.webp") center/1124px 720px repeat,#140d08!important}
html[data-theme="night"] .m-inner .board-game::before,html[data-theme="night"] .m-inner .board-game::after{display:none!important}
html[data-theme="night"] .m-inner .board-game__top p:not(.eyebrow){color:#efe3cb!important}
html[data-theme="night"] .m-inner .board-game .eyebrow{color:var(--m-g2)!important}
/* roadmap hero stamp clears the floating WhatsApp / call buttons */
@media (min-width:941px){.m-inner .trail-hero__stamp{right:calc(6vw + 96px)!important}}
.m-home #main .experience-grid figure img{inset:12px!important;width:calc(100% - 24px)!important;height:calc(100% - 24px)!important;transform:none!important}
.m-home #main .experience-grid figure figcaption{z-index:2}
.m-inner .plan-board legend{font-size:clamp(1.7rem,4.2vw,3rem)!important;line-height:1.08!important;max-width:100%;overflow-wrap:break-word;padding-right:8px}
.m-inner .privacy-page h1{font-size:clamp(2rem,7.6vw,4.2rem)!important;line-height:1.05!important;overflow-wrap:anywhere}
@media (max-width:620px){.m-inner .plan-board legend{font-size:clamp(1.55rem,7vw,2.1rem)!important}}
/* heads in frame on the 4:3 service photos (Héctor in 01, 03 and 06) */
/* Héctor crop map (41-Photo-Assets/CROP_MAP.json + crop-fixes-hector.css), adapted to v20m's markup */
.m-home #main .service-showcase__grid article>img{object-position:50% 12%}
.m-home #main .service-showcase__grid article:nth-of-type(1)>img{object-position:50% 15%}
.m-home #main .service-showcase__grid article:nth-of-type(3)>img{object-position:50% 0}
.m-home #main .service-showcase__grid article:nth-of-type(6)>img{object-position:69% 0}
html .team-person .team-person__main img[src$="team-hector-main.webp"]{object-position:50% 10%}
.photo-grid button img[src$="gallery-group-v20.webp"]{object-position:58% 50%}
.profile-gallery img[src$="hector-ride-v20.webp"]{object-position:50% 0}
.plan-scene{background-position:0 0,85% 88px}
@media(max-width:620px){.plan-scene{background-position:0 0,92% 70px}}
.plan-sun{right:auto;left:-90px}
input[value="event-media"]+img{object-position:50% 20%}
input[value="dancing-horse"]+img{object-position:50% 25%}
input[value="private-ranch"]+img{object-position:50% 30%}


/* ================================================================== round 2: copy-deck elements */
.m-home #top .hero-trust{margin:10px 0 0;font:600 .86rem/1.4 var(--m-label);letter-spacing:.08em;color:#f3e3c2}
.m-home #main .m-fit-list{margin:0;padding:0;list-style:none}
.m-home #main .m-fit-list li{position:relative;padding:6px 0 6px 22px;color:var(--m-body);font-size:clamp(.98rem,1.05vw,1.06rem);line-height:1.55;border-bottom:1px solid rgba(217,183,120,.16)}
.m-home #main .m-fit-list li:last-child{border-bottom:0}
.m-home #main .m-fit-list li::before{content:"";position:absolute;left:2px;top:.95em;width:8px;height:8px;transform:rotate(45deg);background:linear-gradient(135deg,var(--m-g2),var(--m-g4))}
.m-home #main .m-section-cta{display:flex;justify-content:center;margin:clamp(30px,4vw,48px) 0 0}
.m-home #main .mgr-tier-help{max-width:760px;margin:clamp(28px,3vw,40px) auto 6px;text-align:center;color:inherit;font-size:1rem;line-height:1.6}
.m-home #main .mgr-tier-help a{display:inline-flex;margin-left:8px;font:700 .95rem/1.2 var(--m-label);letter-spacing:.1em;color:#6e4614;text-decoration:underline;text-underline-offset:4px}
html[data-theme="night"] .m-home #main .mgr-tier-help a{color:var(--m-g2)}
.m-home #main .m-promo__cta{margin:12px 0 0!important}
.m-home #main .m-promo__cta .m-btn{min-height:44px;padding:10px 18px;font-size:.9rem}
.m-home #main .prints-referral{margin:18px 0 0;padding:14px 18px;border-radius:12px;border:1px dashed var(--m-g3);color:inherit}
.m-home #main .prints-referral[hidden]{display:none!important}
.m-inner .plan-wa-link{margin:14px 0 0}
.m-inner .plan-wa-link a{color:#f0cf92;font:700 .95rem/1.3 var(--m-label);letter-spacing:.08em;text-decoration:underline;text-underline-offset:4px}

/* ================================================================== round 2: the dark theme keeps every wooden card (owner report on live v20L)
   Older night rules (luxury.css, ranch-v11.css, ranch-v13.css, directions.css, board-v*.css, plan.css) repaint cards flat when
   html[data-theme=night]. The rules below re-assert the wood + gold recipe at higher specificity for BOTH themes. */
html[data-theme] .m-home #main :is(.fit-grid article,.journey article,.how-step,.print-list>div,.service-showcase__grid article,.signature-grid article,.experience-grid>div:first-child,.photo-access,.m-wood,.m-map,.facebook-frame-wrap),
html .m-home #main :is(.paths-grid article,.team-person){background:var(--m-wood-card)!important;box-shadow:var(--m-wood-shadow)!important;border:1px solid var(--m-g3)!important;border-radius:16px!important}
html .m-home #main .paths-grid article{color:var(--m-body)!important;overflow:hidden}
html .m-home #main .paths-grid article :is(h3,p,span,small){color:var(--m-body)!important}
html .m-home #main .paths-grid article h3{color:#f7e6c4!important;font-family:var(--m-display)!important;font-weight:400!important;letter-spacing:.01em!important}
html .m-home #main .paths-grid article a{color:var(--m-g2)!important}
html[data-theme] .m-home #main .print-list>div:nth-child(4){background:radial-gradient(130% 55% at 50% 0%,rgba(240,207,146,.3),rgba(240,207,146,0) 62%) padding-box,linear-gradient(180deg,rgba(45,27,14,.78),rgba(20,15,11,.96)) padding-box,url("ranch-wood-real.webp") center/cover padding-box,linear-gradient(140deg,#fbe6b4 0%,#b8904f 28%,#f0cf92 52%,#8a6a35 76%,#f7dca0 100%) border-box!important;border:2px solid transparent!important}
html[data-theme] .m-home #main .ranch-faq details{background:linear-gradient(180deg,rgba(43,27,16,.72),rgba(24,16,11,.9)),url("ranch-wood-real.webp") center/cover,#1b120b!important}
html[data-theme] .m-home #main .mgr-monthly-promo.m-promo{background:radial-gradient(90% 120% at 0% 0%,rgba(214,112,38,.34),rgba(214,112,38,0) 60%) padding-box,radial-gradient(70% 120% at 100% 100%,rgba(160,60,20,.32),rgba(160,60,20,0) 60%) padding-box,linear-gradient(180deg,rgba(40,22,10,.78),rgba(24,14,8,.92)) padding-box,url("ranch-wood-real.webp") center/cover padding-box,linear-gradient(140deg,#fbe6b4 0%,#b8904f 28%,#e8a55a 52%,#8a6a35 76%,#f7dca0 100%) border-box!important}
/* night: section grounds stay ranch wood (no flat black) */
html[data-theme="night"] .m-home #main :is(.experience,.paths,.how-works,.portraits,.films,.prints,.service-showcase,.signature-services,.facebook-section,.ranch-faq,.directions,.show-gallery,.mgr-packages,.fit-strip,.team-story,.collection-callout){background:linear-gradient(180deg,rgba(10,7,5,.8),rgba(16,11,7,.9)),url("ranch-wood-seamless.webp") center/1124px 720px repeat,#140d08!important}
/* inner pages: the same wood in both themes */
html[data-theme] .m-inner :is(.plan-board,.board-game__table,.board-game__seal,.empty,.privacy-card .privacy-table){background-image:linear-gradient(rgba(24,14,8,.86),rgba(24,14,8,.9)),url("ranch-wood-seamless.webp")!important;background-size:auto,1124px 720px!important}
html[data-theme] .m-inner .plan-service-grid label,html[data-theme] .m-inner .plan-choice-row label{background-image:linear-gradient(180deg,rgba(43,27,16,.74),rgba(22,16,11,.94)),url("ranch-wood-real.webp")!important;background-size:auto,cover!important;border-color:var(--m-g3)!important}

/* round 2: roadmap hero = hector-trainer.webp (child-free swap). The photo starts under the fixed header so both hats clear it; on phones it is framed on Héctor + the trainer */
.m-inner .trail-hero__image{top:70px!important;background-position:66% 0!important}
@media (min-width:941px){.m-inner .trail-hero__image{top:88px!important;background-position:70% 0!important}}

/* round 2: /privacidad/ + /terminos/ - the legal card is a wooden plaque with gold trim in BOTH themes (was cream paper) */
html .m-inner .privacy-page{background:linear-gradient(180deg,rgba(10,7,5,.72),rgba(16,11,7,.86)),url("ranch-wood-seamless.webp") center/1124px 720px repeat,#140d08!important;color:var(--m-body)}
html .m-inner .privacy-card{background:var(--m-wood-card)!important;border:1px solid var(--m-g3)!important;border-radius:16px;box-shadow:var(--m-wood-shadow)!important;color:var(--m-body)}
html .m-inner .privacy-card h1{color:#f7e6c4!important}
html .m-inner .privacy-card h1 em{color:#f0cb85!important}
html .m-inner .privacy-card h2{color:#f2d59a!important}
html .m-inner .privacy-card :is(p,li,dd,dt,td,th,strong,small){color:var(--m-body)!important}
html .m-inner .privacy-card a{color:var(--m-g2)!important}
html .m-inner .privacy-card .eyebrow{color:var(--m-g2)!important}
html .m-inner .privacy-card .privacy-updated{color:#dccbad!important}
html .m-inner .privacy-card :is(.privacy-draft,.terms-legal-note){background:rgba(18,12,8,.72)!important;border-color:var(--m-g3)!important;color:#f3e3c2!important}
html .m-inner .privacy-card .privacy-draft{color:var(--m-g2)!important}
html .m-inner .privacy-card .privacy-table{border-color:var(--m-g4)!important;background-color:rgba(18,12,8,.6)!important}
html .m-inner .privacy-card .privacy-table>div{border-color:rgba(217,183,120,.28)!important}
html .m-inner .privacy-card .privacy-table__head{background:linear-gradient(180deg,#3a2614,#24170c)!important;color:#f5dfbd!important}
html .m-inner .privacy-card .privacy-table>div>span:first-child{color:#f7e6c4!important}
html .m-inner .privacy-card .privacy-table>div:not(.privacy-table__head)>span:nth-child(2){color:#e8d9bc!important}
html .m-inner .privacy-card .privacy-status{border-color:#b8904f!important;color:#e8d9bc!important;background:rgba(0,0,0,.25)!important}
html .m-inner .privacy-card .privacy-status.is-on{border-color:#6fae7d!important;color:#c9efcf!important;background:#173222!important}
html .m-inner .privacy-card .si-optout{background:linear-gradient(180deg,#f3d496,#c29a55)!important;color:#17130f!important;border-color:#f7dca0!important}
html .m-inner .privacy-card .si-optout[aria-pressed="true"]{background:#24170c!important;color:#f5dfbd!important;border-color:var(--m-g3)!important}
/* roadmap: the stop detail card is wood too */
html .m-inner .board-game__detail{background-image:linear-gradient(180deg,rgba(43,27,16,.82),rgba(22,16,11,.95)),url("ranch-wood-real.webp")!important;background-size:auto,cover!important;border-color:var(--m-g3)!important}
/* round 2: the kit's footer disclaimer is a full-width last line; footers that were nowrap flex rows (shop, people) must wrap */
footer:has(> .si-footer-disclaimer){flex-wrap:wrap!important}
/* round 2: people hero copy card - the grid track is the full width, so the card must not add its margins on top (16 px overflow at 360-950 px) */
@media (max-width:950px){html body.m-people .profile-hero__copy{width:auto!important;max-width:none!important;justify-self:stretch}}
/* round 2: the kit's photo protection (.mgr-wm) uses the figure's ::after for its watermark, which replaced the dark fade under the
   team-card captions; the captions now carry their own dark plate (contrast >= 4.5:1 on any photo) */
.m-home #main .team-person__main figcaption{background:rgba(16,11,7,.82)!important;padding:6px 10px!important;border-radius:6px;border:1px solid rgba(217,183,120,.5);color:#fff1d8!important;line-height:1.2}
/* round 2: inline code on the wooden legal card */
html .m-inner .privacy-card code{color:#f7e6c4!important;background:rgba(0,0,0,.4)!important;border:1px solid rgba(217,183,120,.35);border-radius:4px;padding:0 .3em;overflow-wrap:anywhere}

/* =====================================================================================================================
   v20N (owner review of v20M) - appended to assets/v20m.css by the build (RELEASE=v20n)
   1. section headers: one centred, announcing unit (kicker between two ropes, big Ultra title, strong second line)
   2. stronger subtext: second lines in Cormorant Garamond 700 (self-hosted, OFL), larger brighter intro paragraphs
   3. cards: a different wood (cherry-stained vertical planks, varnished) + a gold rim, site-wide, both themes
   ===================================================================================================================== */
@font-face{font-family:"MGR Serif";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/cormorant-garamond-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"MGR Serif";font-style:italic;font-weight:700;font-display:swap;src:url("fonts/cormorant-garamond-latin-700-italic.woff2") format("woff2")}
:root{
  --n-serif:"MGR Serif","Cormorant Garamond",Georgia,serif;
  --n-rim:linear-gradient(140deg,#fbe6b4 0%,#b8904f 26%,#f0cf92 50%,#8a6a35 74%,#f7dca0 100%);
  --n-wood:linear-gradient(115deg,rgba(255,236,200,.13) 0%,rgba(255,236,200,.03) 34%,rgba(255,236,200,0) 52%,rgba(255,226,180,.06) 100%),
           linear-gradient(180deg,rgba(52,20,7,.40) 0%,rgba(34,12,4,.56) 55%,rgba(22,8,3,.70) 100%),
           url("ranch-wood-cherry-v20n.webp") center/cover;
  --n-card:linear-gradient(115deg,rgba(255,236,200,.13) 0%,rgba(255,236,200,.03) 34%,rgba(255,236,200,0) 52%,rgba(255,226,180,.06) 100%) padding-box,
           linear-gradient(180deg,rgba(52,20,7,.40) 0%,rgba(34,12,4,.56) 55%,rgba(22,8,3,.70) 100%) padding-box,
           url("ranch-wood-cherry-v20n.webp") center/cover padding-box,
           var(--n-rim) border-box;
  --n-shadow:inset 0 1px 0 rgba(255,232,190,.22),inset 0 0 0 4px rgba(20,8,3,.38),inset 0 0 0 5px rgba(240,207,146,.42),
             0 22px 44px -18px rgba(0,0,0,.85),0 0 0 1px rgba(0,0,0,.35),0 0 26px -6px rgba(240,207,146,.38);
}

/* ---------------------------------------------------------------- 1. section header row: centred kicker between two ropes */
html body.m-home #main .section-head{display:grid!important;grid-template-columns:minmax(18px,1fr) auto auto minmax(18px,1fr);align-items:center;justify-items:center;
  column-gap:16px;row-gap:8px;padding:0!important;margin:0 auto clamp(26px,3.4vw,40px)!important;border:0!important;opacity:1!important;text-align:center;max-width:1100px}
html body.m-home #main .section-head::before{grid-column:2;grid-row:1;width:30px!important;height:34px!important}
html body.m-home #main .section-head>span:first-child{grid-column:3;grid-row:1;font:700 clamp(.92rem,1.15vw,1.1rem)/1.2 var(--m-label)!important;letter-spacing:.24em!important}
html body.m-home #main .section-head>i{grid-column:4;grid-row:1;justify-self:stretch;width:auto!important;height:10px!important}
html body.m-home #main .section-head::after{content:"";grid-column:1;grid-row:1;justify-self:stretch;height:10px;border-radius:99px;background:var(--m-rope);box-shadow:0 2px 4px rgba(0,0,0,.45);transform:scaleX(-1)}
html body.m-home #main .section-head>span:last-child:not(:first-child){grid-column:2 / 4;grid-row:2;font:600 .8rem/1.2 var(--m-label)!important;letter-spacing:.2em!important;text-align:center!important;opacity:.9}
@media (max-width:620px){
  html body.m-home #main .section-head{column-gap:10px;margin-bottom:24px!important}
  html body.m-home #main .section-head::before{width:22px!important;height:26px!important}
  html body.m-home #main .section-head>span:first-child{font-size:.84rem!important;letter-spacing:.18em!important;max-width:62vw}
}

/* ---------------------------------------------------------------- 1b. centred, bigger title blocks (standalone section titles) */
html body.m-home #main :is(.portrait-heading,.team-story__intro,.service-showcase__intro,.gallery-intro,.films-intro){display:flex!important;flex-direction:column;align-items:center;text-align:center;gap:18px;grid-template-columns:none!important}
html body.m-home #main :is(.paths-heading,.how-intro,.service-showcase__intro>div,.gallery-intro>div){text-align:center;margin-inline:auto;max-width:none;width:100%}
html body.m-home #main :is(.fit-strip,#questions)>h2{text-align:center;margin-inline:auto;max-width:1100px}
/* prints: the title row spans both columns, centred; the price boards and the flyer sit side by side below it */
html body.m-home #main .prints-layout{grid-template-columns:minmax(0,1fr) minmax(0,.66fr)!important;grid-template-rows:none!important;grid-auto-rows:auto!important;align-items:start!important;align-content:start!important;column-gap:clamp(24px,4vw,64px)!important;row-gap:14px!important;min-height:0!important}
html body.m-home #main .prints-layout>div:first-child>:is(.eyebrow,h2,.body-copy){margin-top:0!important;margin-bottom:0!important}
html body.m-home #main .prints-layout>div:first-child{display:contents}
html body.m-home #main .prints-layout>div:first-child>:is(.eyebrow,h2,.body-copy){grid-column:1 / -1;text-align:center;margin-inline:auto}
html body.m-home #main .prints-layout>div:first-child>.print-list{grid-column:1;margin-top:clamp(14px,2vw,26px)}
html body.m-home #main .prints-layout>div:first-child>.prints-referral{grid-column:1}
html body.m-home #main .prints-layout>.print-flyer{grid-column:2;grid-row:4;margin-top:clamp(14px,2vw,26px)}
@media (max-width:900px){
  html body.m-home #main .prints-layout{grid-template-columns:minmax(0,1fr)!important}
  html body.m-home #main .prints-layout>.print-flyer{grid-column:1;grid-row:auto}
}
/* the eyebrows above centred titles */
html body.m-home #main :is(.team-story__intro,.paths-heading,.how-intro,.gallery-intro,.service-showcase__intro,.prints-layout) .eyebrow{text-align:center;margin-inline:auto;font-weight:700!important;letter-spacing:.24em!important;font-size:clamp(.82rem,1vw,.95rem)!important}

/* bigger Ultra titles for the standalone section titles */
html body.m-home #main>section:not(#top):not(#inquire) :is(.fit-strip>h2,#questions>h2,.portrait-heading>h2,.team-story__intro>h2,.paths-heading>h2,.how-intro>h2,.gallery-intro h2,.films-intro>h2,.prints-layout h2,.service-showcase__intro h2):not(.m-keep){
  font-size:clamp(2.4rem,5.9vw,5.4rem)!important;line-height:1!important;text-wrap:balance;margin-inline:auto}
@media (max-width:620px){
  html body.m-home #main>section:not(#top):not(#inquire) :is(.fit-strip>h2,#questions>h2,.portrait-heading>h2,.team-story__intro>h2,.paths-heading>h2,.how-intro>h2,.gallery-intro h2,.films-intro>h2,.prints-layout h2,.service-showcase__intro h2):not(.m-keep){font-size:clamp(1.95rem,9.2vw,2.55rem)!important;overflow-wrap:break-word}
}

/* ---------------------------------------------------------------- 2. stronger subtext */
/* second lines of every display title: upright Cormorant Garamond 700 (no thin italic) */
html body.m-home #main>section:not(#top):not(#inquire) h2:not(.m-keep) em,html body.m-home #main .m-title em{font-family:var(--n-serif)!important;font-style:normal!important;font-weight:700!important;
  font-size:1em!important;line-height:1.02!important;letter-spacing:0!important;margin-top:.12em!important;color:#f3d08f!important;-webkit-text-fill-color:#f3d08f!important;
  text-shadow:0 2px 0 rgba(40,20,6,.85),0 6px 14px rgba(0,0,0,.45)}
html:not([data-theme="night"]) body.m-home #main>section:not(#top):not(#inquire):is(#experience,#paths,#como-funciona,#investment,#gallery,#prints,#services,#como-llegar) h2:not(.m-keep) em{
  color:#5b360c!important;-webkit-text-fill-color:#5b360c!important;text-shadow:0 1px 0 rgba(255,240,205,.9)}
html body.m-home #main .m-wood h2:not(.m-keep) em,
html:not([data-theme="night"]) body.m-home #main>section:not(#top):not(#inquire):is(#experience,#paths,#como-funciona,#investment,#gallery,#prints,#services,#como-llegar) .m-wood h2:not(.m-keep) em{color:#f3d08f!important;-webkit-text-fill-color:#f3d08f!important;text-shadow:0 2px 0 rgba(40,20,6,.85),0 6px 14px rgba(0,0,0,.45)}
html body.m-inner :is(.board-game__top h2,.trail-finish h2,.collection-heading h2,.story h2,.profile-story h2,.profile-film h2,.profile-contact h2,.trail-hero__copy h1,.plan-intro h1) em,
html body.m-people :is(h1,h2) em{font-family:var(--n-serif)!important;font-style:normal!important;font-weight:700!important}
/* intro paragraphs beside / under section titles: larger, medium weight, brighter */
html body.m-home #main :is(.team-story__intro>p,.gallery-intro>p,.films-intro>p,.service-showcase__intro>p,.prints-layout .body-copy,.m-plaque p,.how-intro>p,.paths-heading>p:not(.eyebrow)){
  font-size:clamp(1.06rem,1.25vw,1.2rem)!important;line-height:1.62!important;font-weight:500!important;max-width:62ch;margin-inline:auto;text-align:center}
html[data-theme="night"] body.m-home #main :is(.team-story__intro>p,.gallery-intro>p,.films-intro>p,.service-showcase__intro>p,.prints-layout .body-copy,.how-intro>p){color:#f6ead2!important}
html:not([data-theme="night"]) body.m-home #main :is(#gallery .gallery-intro>p,#prints .body-copy,#services .service-showcase__intro>p,#como-funciona .how-intro>p){color:#2a1a0c!important}
html body.m-home #main .portrait-heading>.m-plaque{margin-inline:auto!important;width:auto!important;max-width:680px!important;justify-self:center;align-self:center}
html body.m-home #main .m-plaque p{color:#f8eedb!important}

/* ---------------------------------------------------------------- 3. cards: cherry-stained varnished planks + gold rim (both themes) */
html[data-theme] body.m-home #main :is(.fit-grid article,.journey article,.how-step,.print-list>div:not(:nth-child(4)),.service-showcase__grid article,.signature-grid article,.experience-grid>div:first-child,.photo-access,.m-wood,.m-map,.facebook-frame-wrap,.paths-grid article,.team-person,.ranch-faq details),
html body.m-home #main :is(.fit-grid article,.journey article,.how-step,.print-list>div:not(:nth-child(4)),.service-showcase__grid article,.signature-grid article,.experience-grid>div:first-child,.photo-access,.m-wood,.m-map,.facebook-frame-wrap,.paths-grid article,.team-person,.ranch-faq details),
html[data-theme] body.m-people :is(.profile-hero__copy,.profile-story>p,.profile-contact,.profile-gallery figure),
html[data-theme] body.m-inner :is(.plan-service-grid label,.plan-choice-row label,.board-game__seal,.board-game__detail,.empty,.privacy-card){
  background:var(--n-card)!important;border:2px solid transparent!important;box-shadow:var(--n-shadow)!important}
/* the print boards keep their gold plate header; the Golden Bundle keeps its VIP border */
html[data-theme] body.m-home #main .print-list>div:nth-child(4){box-shadow:var(--n-shadow)!important}
/* the big boards (plan form board, roadmap table) are furniture, not cards: same cherry wood + rim, darker so forms stay readable */
html[data-theme] body.m-inner :is(.plan-board,.board-game__table){background:linear-gradient(180deg,rgba(30,11,4,.66),rgba(20,7,2,.78)) padding-box,url("ranch-wood-cherry-v20n.webp") center/cover padding-box,var(--n-rim) border-box!important;
  border:2px solid transparent!important;box-shadow:var(--n-shadow)!important}
html[data-theme] body.m-inner :is(.plan-service-grid label,.plan-choice-row label):has(input:checked){box-shadow:var(--n-shadow),0 0 0 3px #f0cf92!important}
/* hover lift for the home cards stays; the rim brightens */
@media (hover:hover) and (pointer:fine){
  html body.m-home #main :is(.fit-grid article,.how-step,.print-list>div,.service-showcase__grid article,.signature-grid article,.paths-grid article):hover{box-shadow:var(--n-shadow),0 0 34px -4px rgba(240,207,146,.55)!important}
}
/* team cards: the photo sits inside the rim */
html body.m-home #main .team-person{overflow:hidden}
/* long legal text: the same cherry wood, stained darker so paragraphs stay calm and readable */
html[data-theme] body.m-inner .privacy-card{background:linear-gradient(180deg,rgba(26,10,4,.80),rgba(16,6,2,.88)) padding-box,url("ranch-wood-cherry-v20n.webp") center/cover padding-box,var(--n-rim) border-box!important}

/* T1 composite swap: pop 0.45 of 1100x800 */
#investment #tier-t1 .mgr-tier-horse{--pp:32.7%;--pq:17.0px}
@media (max-width:1000px){#investment #tier-t1 .mgr-tier-horse{--pq:14.4px}}

/* October offer only. Existing monthly banners and tier cards are untouched. */
.m-home #main .mgr-monthly-promo.m-promo.m-promo--halloween{
  display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:0;
  padding:0!important;border-radius:18px;isolation:isolate;
  background:linear-gradient(110deg,rgba(17,12,10,.96),rgba(35,14,9,.92)),url("ranch-wood-real.webp") center/cover!important;
  border:1px solid #bd8748;box-shadow:0 24px 60px -25px #000,inset 0 0 0 6px #20160d,inset 0 0 0 7px #715134;
}
.m-home #main .m-halloween-copy{padding:clamp(28px,4.4vw,56px);min-width:0;position:relative;z-index:2}
.m-home #main .m-halloween-eyebrow{margin:0 0 15px!important;font:700 .82rem/1.4 var(--m-label);letter-spacing:.22em;text-transform:uppercase;color:#eda550!important}
.m-home #main .m-halloween-eyebrow::before{content:"";display:inline-block;width:7px;height:7px;margin-right:10px;border-radius:50%;background:#ffb653;box-shadow:0 0 18px #e48225}
.m-home #main .mgr-monthly-promo.m-promo h2.m-halloween-title{margin:0 0 18px!important;font:400 clamp(2rem,3.7vw,3.6rem)/1.06 var(--m-display)!important;letter-spacing:-.025em!important;color:#fff0d7!important;-webkit-text-fill-color:#fff0d7!important;filter:none!important;background:none!important}
.m-home #main .m-halloween-title em{font-family:Georgia,serif;font-weight:400;color:#eeb45c;-webkit-text-fill-color:#eeb45c}
.m-home #main .m-halloween-lead{margin:0 0 20px!important;max-width:44ch;font:400 1rem/1.65 "DM Sans","Segoe UI",sans-serif!important;color:#eadcc8!important}
.m-home #main .m-halloween-inclusions{display:flex;gap:9px;flex-wrap:wrap;list-style:none;margin:0 0 26px!important;padding:0}
.m-home #main .m-halloween-inclusions li{border:1px solid #725638;border-radius:5px;background:#392619;padding:7px 10px;color:#f9e8cb;font:600 .8rem/1.4 "DM Sans","Segoe UI",sans-serif}
.m-home #main .m-halloween-offer{display:flex;align-items:center;gap:16px;padding-top:20px;border-top:1px solid #67492e;margin-bottom:19px}
.m-home #main .m-halloween-price{font:400 clamp(2rem,3.2vw,3rem)/1 var(--m-display);color:#ffe1a0;white-space:nowrap}
.m-home #main .m-halloween-offer p{margin:0!important;font:600 .79rem/1.45 "DM Sans","Segoe UI",sans-serif;color:#efdac0!important}
.m-home #main .m-halloween-offer del{display:block;color:#b8a38b;font-size:.78rem;font-weight:400}
.m-home #main .m-halloween-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.m-home #main .m-halloween-actions .m-btn{min-height:48px;padding:14px 20px!important;border:1px solid #ffe2a3;background:linear-gradient(135deg,#f5d18e,#d89b44)!important;color:#27160b!important;font:700 .82rem/1.3 var(--m-label);letter-spacing:.06em;box-shadow:0 6px 20px #0005}
.m-home #main .m-halloween-actions .m-btn:focus-visible,.m-home #main .m-halloween-more:focus-visible{outline:3px solid #fff;outline-offset:5px}
.m-home #main .m-halloween-more{font:600 .78rem/1.4 "DM Sans","Segoe UI",sans-serif;color:#f4deb8;text-decoration:underline;text-underline-offset:4px}
.m-home #main .m-halloween-terms{margin:16px 0 0!important;font:400 .75rem/1.6 "DM Sans","Segoe UI",sans-serif!important;color:#cdb99f!important;max-width:62ch}
.m-home #main .m-halloween-art{position:relative;min-height:560px;overflow:hidden;background:radial-gradient(ellipse at 60% 30%,#733e21 0,#32180f 45%,#140e0a 78%)}
.m-home #main .m-halloween-lantern{position:absolute;width:78%;height:52%;top:2%;right:9%;filter:drop-shadow(0 8px 30px #e1812a45)}
.m-home #main .m-halloween-art::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#170e0c 0,transparent 45%),linear-gradient(90deg,#170f0b,transparent 25%);pointer-events:none}
.m-home #main .m-halloween-art img{position:absolute;bottom:7%;right:-12%;width:125%;height:53%;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 16px 12px #0007)}
.m-home #main .m-halloween-art-label{position:absolute;z-index:1;bottom:26px;left:26px;right:26px;padding-top:14px;border-top:1px solid #ca985670;font:700 .78rem/1.4 var(--m-label);letter-spacing:.16em;text-transform:uppercase;color:#eccc97}
@media(max-width:760px){
  .m-home #main .mgr-monthly-promo.m-promo.m-promo--halloween{grid-template-columns:minmax(0,1fr)}
  .m-home #main .m-halloween-copy{padding:30px 24px}
  .m-home #main .m-halloween-art{min-height:350px;grid-row:1}
  .m-home #main .m-halloween-art img{height:64%;width:87%;right:2%;bottom:0}
  .m-home #main .m-halloween-lantern{width:52%;height:55%;right:0;top:-2%}
  .m-home #main .m-halloween-art::after{background:linear-gradient(0deg,#170e0c,transparent 42%)}
  .m-home #main .m-halloween-art-label{bottom:14px;font-size:.66rem;left:24px;right:24px}
  .m-home #main .m-halloween-actions .m-btn{width:100%;text-align:center;box-sizing:border-box}
}
