/* Casa Ochoa Events: "Casa" style, Judy's pick (2026-10-13)
   Arches + Talavera in neutral tones. Her words: "Mexican, cultural, neutral and elegant,"
   arches because "we use arches on our backdrops," light brown and khaki instead of pink,
   prices easy to read and not busy. The talavera tile has four navy options (data-tile=flor|estrella|enredadera|mosaico). */

:root{
  --linen:#F8F4ED;
  --sand:#EFE7DA;
  --khaki:#D9CBB4;
  --tan:#B8987A;
  --brown:#7A5638;
  --deep:#3B2C22;
  --navy:#1C355E;
  --muted:#6A5A4C;
  --line:#E2D6C4;
  --wrap:1120px;
  --gutter:20px;
  --display:'Marcellus',Georgia,serif;
  --serif:'Lora',Georgia,'Times New Roman',serif;
  --script:'Parisienne','Brush Script MT',cursive;
  /* Talavera tiles in her logo's navy (media/tiles/*.svg); Judy picks one. */
  --tile:url("/media/tiles/flor.svg");
  --tile-size:56px;
  color-scheme:light;
}
html[data-tile=estrella]{--tile:url("/media/tiles/estrella.svg")}
html[data-tile=enredadera]{--tile:url("/media/tiles/enredadera.svg")}
html[data-tile=mosaico]{--tile:url("/media/tiles/mosaico.svg")}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--linen);color:var(--deep);font-family:var(--serif);font-size:17px;line-height:1.7}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.12;margin:0;text-wrap:balance}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
section{padding:72px 0}
@media(min-width:900px){section{padding:100px 0}}
.label{font-family:var(--display);font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--brown);margin:0 0 14px}
.script{font-family:var(--script);font-weight:400;color:var(--brown)}
.tileband{height:var(--tile-size);background:var(--tile) center/var(--tile-size) var(--tile-size) repeat-x;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.head{display:grid;gap:12px;margin-bottom:38px}
.head h2{font-size:clamp(34px,7vw,54px);color:var(--deep)}
.head p{color:var(--muted)}
@media(min-width:900px){.head{grid-template-columns:1fr 1fr;gap:48px;align-items:end}}

/* buttons: one component, one height */
.btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 28px;border-radius:999px;font-family:var(--display);font-size:15px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1px solid var(--brown);cursor:pointer;transition:background-color .2s ease,color .2s ease}
.btn-brown{background:var(--brown);color:#fff}
.btn-brown:hover{background:#5f4129;border-color:#5f4129}
.btn-line{background:transparent;color:var(--brown)}
.btn-line:hover{background:#fff}
.btn-light{background:var(--linen);color:var(--deep);border-color:var(--linen)}
.btn-light:hover{background:#fff}
.btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.75)}
.btn-ghost-light:hover{background:rgba(255,255,255,.12)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.actions .btn{flex:1 1 200px}
@media(min-width:600px){.actions .btn{flex:0 0 auto;min-width:210px}}

/* hero */
.hero{position:relative;padding:0;min-height:min(92svh,860px);display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero > img,.hero > picture > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(59,44,34,.2) 0%,rgba(59,44,34,.5) 50%,rgba(59,44,34,.9) 100%)}
.hero .wrap{position:relative;z-index:1;padding-top:40px;padding-bottom:48px}
.crest{width:210px;background:var(--linen);border-radius:999px 999px 14px 14px;padding:46px 26px 20px;margin-bottom:26px;box-shadow:0 18px 40px -24px rgba(0,0,0,.6)}
.crest img{width:100%}
.hero h1{font-size:clamp(46px,11vw,86px)}
.hero h1 .script{color:var(--khaki);font-size:1.2em;display:block;line-height:.95}
.hero .tag{font-family:var(--display);letter-spacing:.24em;text-transform:uppercase;font-size:14px;margin:14px 0 18px;color:var(--sand)}
.hero .lede{color:#F2EBDF;margin-bottom:26px}
@media(min-width:900px){.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:end}.crest{width:250px;padding:56px 30px 24px}}

/* expo special (shows through Oct 18 only) */
.expo{background:var(--deep);color:#F2EBDF;padding:26px 0}
.expo .wrap{display:grid;gap:10px}
.expo .script{color:var(--khaki);font-size:38px;line-height:1}
.expo p{margin:0}
.expo b{color:#fff;font-weight:500}
@media(min-width:900px){.expo .wrap{grid-template-columns:auto 1fr;gap:36px;align-items:center}}

/* intro with the walk-up clip in front of two arches */
.intro-grid{display:grid;gap:44px;align-items:center}
.intro h2{font-size:clamp(34px,7vw,54px);margin-bottom:18px}
.intro p{color:var(--muted)}
.facts{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.facts li{display:flex;gap:12px;align-items:baseline}
.facts li::before{content:"";flex:0 0 9px;height:9px;transform:rotate(45deg) translateY(-2px);background:var(--tan)}
.arches{position:relative;width:100%;max-width:420px;margin:0 auto;aspect-ratio:4/5.4}
.arches .back{position:absolute;left:0;bottom:0;width:62%;height:78%;background:var(--sand);border-radius:999px 999px 0 0}
.arches .mid{position:absolute;right:0;bottom:0;width:70%;height:100%;background:var(--khaki);border-radius:999px 999px 0 0}
.arches .clip{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);width:58%;aspect-ratio:9/16;border-radius:999px 999px 22px 22px;overflow:hidden;background:#3a3230;border:6px solid #fff;box-shadow:0 22px 44px -26px rgba(59,44,34,.6)}
.arches .clip video{width:100%;height:100%;object-fit:cover}
@media(min-width:900px){.intro-grid{grid-template-columns:1.05fr .95fr;gap:72px}.arches{max-width:440px;margin-right:0}}

/* steps */
.steps-sec{background:var(--sand)}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:1fr 1fr}
@media(min-width:960px){.steps{grid-template-columns:repeat(4,1fr)}}
.steps li{background:var(--linen);border:1px solid var(--line);border-radius:999px 999px 14px 14px;padding:36px 16px 24px;text-align:center}
.steps .n{display:block;font-family:var(--display);font-size:40px;color:var(--brown);line-height:1;margin-bottom:12px}
.steps h3{font-size:21px;margin-bottom:6px}
.steps p{color:var(--muted);font-size:15px}

/* packages: easy to read, not busy */
.pk-grid{display:grid;gap:16px}
@media(min-width:760px){.pk-grid{grid-template-columns:1fr 1fr;gap:22px}}
.pk{position:relative;background:#fff;border:1px solid var(--line);border-radius:160px 160px 16px 16px / 90px 90px 16px 16px;padding:52px 26px 28px;text-align:center;display:flex;flex-direction:column}
.pk-feature{background:var(--sand);border-color:var(--khaki)}
.pk .badge{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:var(--brown);color:#fff;font-family:var(--display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:6px 16px;border-radius:999px;white-space:nowrap}
.pk h3{font-size:30px;letter-spacing:.06em;text-transform:uppercase}
.pk .price{font-family:var(--display);font-size:66px;line-height:1;margin:10px 0 6px;color:var(--brown)}
.pk .hrs{color:var(--muted);font-size:15px;margin-bottom:22px}
.pk ul{list-style:none;margin:0 0 24px;padding:0;text-align:left;display:grid;gap:10px;flex:1}
.pk li{display:flex;gap:12px;align-items:baseline}
.pk li::before{content:"";flex:0 0 9px;height:9px;transform:rotate(45deg) translateY(-2px);background:var(--tan)}
.pk .btn{width:100%}

.extras{display:grid;gap:16px;margin-top:30px}
@media(min-width:900px){.extras{grid-template-columns:1fr 1fr;gap:22px}}
.box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 22px}
.box h3{font-size:24px;margin-bottom:14px}
.rows{list-style:none;margin:0;padding:0}
.rows li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}
.rows li:last-child{border-bottom:0}
.rows b{font-family:var(--display);font-weight:400;color:var(--brown);font-size:20px;white-space:nowrap}
.bundle{margin-top:16px;background:var(--sand);border-radius:16px;padding:18px 22px}
.bundle .script{display:block;font-size:34px;line-height:1.1}

/* real event photos */
.real{background:var(--sand)}
.real-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;align-items:end}
.real-grid img{width:100%;object-fit:cover;border-radius:999px 999px 12px 12px;border:8px solid #fff}
.real-grid .t{aspect-ratio:3/4.3}
.real-grid .s{aspect-ratio:9/14}
.real-copy h2{font-size:clamp(34px,7vw,54px);margin-bottom:16px}
.real-copy p{color:var(--muted)}
.real-wrap{display:grid;gap:40px;align-items:center}
@media(min-width:900px){.real-wrap{grid-template-columns:1.1fr .9fr;gap:72px}}

/* celebrations */
.cele h2{font-size:clamp(34px,7vw,54px);text-align:center}
.cele h2 .script{display:block;font-size:1.25em;line-height:1}
.cele .sub{text-align:center;color:var(--muted);margin:14px 0 34px}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(min-width:900px){.gallery{grid-template-columns:repeat(4,1fr);gap:14px}}
.gallery figure{margin:0;position:relative;border-radius:999px 999px 12px 12px;overflow:hidden}
.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;background:linear-gradient(180deg,transparent,rgba(59,44,34,.82));color:#fff;font-family:var(--script);font-size:28px;line-height:1;text-align:center}
.es{text-align:center;font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;font-size:14px;color:var(--brown);margin-top:28px}

/* more from casa ochoa */
.more{background:var(--sand)}
.more-grid{display:grid;gap:16px}
@media(min-width:760px){.more-grid{grid-template-columns:1.2fr .8fr;gap:22px}}
.svc{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.svc img{width:100%;aspect-ratio:4/3;object-fit:cover}
.svc .body{padding:22px;display:grid;gap:10px;flex:1;align-content:start}
.svc h3{font-size:26px}
.svc p{color:var(--muted);margin:0}
.svc .btn{margin-top:6px}
.svc.text-only{justify-content:center;background:var(--linen)}

/* reviews + social */
.social-grid{display:grid;gap:16px}
@media(min-width:900px){.social-grid{grid-template-columns:1fr 1fr;gap:22px}}
.social-grid .box h2{font-size:clamp(30px,6vw,42px);margin-bottom:12px}
.social-grid .box p{color:var(--muted)}
.social-grid .actions{margin-top:18px}
.handle{display:inline-block;font-family:var(--script);font-size:38px;color:var(--brown);text-decoration:none;margin:2px 0 6px}
.ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.ig-grid:empty{display:none}
.ig-grid a{display:block;aspect-ratio:1;border-radius:10px;overflow:hidden}
.ig-grid img{width:100%;height:100%;object-fit:cover}

/* contact */
.contact-grid{display:grid;gap:40px}
.contact h2{font-size:clamp(34px,7vw,54px);margin-bottom:16px}
.contact .lede{color:var(--muted)}
.contact .reach{display:grid;gap:4px;margin-top:16px}
.contact .reach a{font-family:var(--display);font-size:22px;color:var(--brown);text-decoration:none;overflow-wrap:anywhere}
@media(min-width:900px){.contact-grid{grid-template-columns:.85fr 1.15fr;gap:72px}}
form.inquiry,form.review{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 20px;display:grid;gap:16px}
@media(min-width:600px){form.inquiry{grid-template-columns:1fr 1fr;padding:34px}}
.field{display:grid;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-family:var(--display);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--deep)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:16px;color:var(--deep);background:var(--linen);border:1px solid var(--line);border-radius:10px;height:50px;padding:0 14px;-webkit-appearance:none;appearance:none}
.field textarea{height:auto;min-height:110px;padding:12px 14px;resize:vertical}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 15px) 22px;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
form .btn{grid-column:1/-1;width:100%}
.sent{grid-column:1/-1;background:var(--sand);border-radius:10px;padding:14px 16px}
.hp{position:absolute;left:-9999px}

/* footer */
.site-foot{background:var(--deep);color:#D9CBB4;padding:52px 0 32px;text-align:center}
.site-foot .crest{width:160px;margin:0 auto 18px;padding:36px 20px 14px}
.site-foot .lines{display:grid;gap:4px}
.site-foot a{color:#fff;text-decoration:none}
.foot-bottom{margin-top:26px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15);font-size:13px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 24px}

.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

.review-back{position:fixed;left:16px;bottom:16px;z-index:30;display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:999px;background:var(--brown);color:#fff;font-family:var(--display);font-size:13px;letter-spacing:.06em;text-decoration:none;box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}

.box form.review{border:0;padding:0;margin-top:16px;background:transparent}

.real-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(min-width:900px){.real-gallery{grid-template-columns:repeat(4,1fr);gap:14px}}
.real-gallery img{width:100%;aspect-ratio:3/4.2;object-fit:cover;border-radius:999px 999px 12px 12px;border:6px solid #fff}
@media(min-width:760px){.more-grid{grid-template-columns:1fr 1fr}}

.head h2 .script{display:block;font-size:1.1em;line-height:1.15}
.gallery-two{grid-template-columns:1fr 1fr}
@media(min-width:900px){.gallery-two{grid-template-columns:1fr 1fr}}
.gallery-two img{aspect-ratio:4/5}

/* ---------- multi-page (2026-10-13 round 3: Judy wanted pages, not one long scroll) ---------- */
html[data-tile=mosaico] .tileband.alt{background-image:url("/media/tiles/estrella.svg")}

/* header + nav */
.site-head{position:sticky;top:0;z-index:40;background:rgba(248,244,237,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:20px;height:70px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--deep);margin-right:auto}
.brand img{height:48px;width:auto}
.brand span{font-family:var(--display);font-size:19px;letter-spacing:.06em;line-height:1}
.brand small{display:block;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--brown);margin-top:3px}
.nav{display:none;gap:26px}
.nav a{font-family:var(--display);font-size:15px;letter-spacing:.08em;text-decoration:none;color:var(--deep);padding:6px 0}
.nav a:hover,.nav a[aria-current=page]{color:var(--brown);text-decoration:underline;text-underline-offset:6px}
.nav-cta{display:none}
.site-head .btn{height:44px;padding:0 20px;font-size:13px}
.menu{position:relative}
.menu summary{list-style:none;width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;gap:6px;cursor:pointer;padding:0 10px}
.menu summary::-webkit-details-marker{display:none}
.menu summary span{display:block;height:1.5px;background:var(--deep)}
.menu-panel{position:absolute;right:0;top:54px;width:min(300px,calc(100vw - 32px));background:var(--linen);border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:4px;box-shadow:0 22px 44px -24px rgba(59,44,34,.5)}
.menu-panel a:not(.btn){font-family:var(--display);font-size:18px;text-decoration:none;padding:10px 8px;border-radius:10px}
.menu-panel a[aria-current=page]{background:var(--sand)}
.menu-panel .btn{margin-top:8px;width:100%}
@media(min-width:900px){.nav,.nav-cta{display:inline-flex}.menu{display:none}}

/* inner page header */
.page-head{padding:56px 0 40px;text-align:center}
.page-head h1{font-size:clamp(40px,9vw,68px)}
.page-head h1 .script{color:var(--brown);font-size:1.15em}
.page-head .sub{color:var(--muted);margin:16px auto 0}

/* photo gallery pages */
.photos{padding-top:48px}
.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(min-width:900px){.photo-grid{grid-template-columns:repeat(3,1fr);gap:14px}}
.photo-grid figure{margin:0;border-radius:14px;overflow:hidden;background:var(--sand)}
.photo-grid figure.wide{grid-column:1/-1}
@media(min-width:900px){.photo-grid figure.wide{grid-column:span 2}}
.photo-grid a{display:block;height:100%}
.photo-grid img,.photo-grid video{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .5s ease}
.photo-grid .wide img{aspect-ratio:16/10}
.photo-grid a:hover img{transform:scale(1.02)}

/* explore cards on home */
.explore-grid{display:grid;gap:14px}
@media(min-width:760px){.explore-grid{grid-template-columns:repeat(3,1fr);gap:20px}}
.ex-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:999px 999px 16px 16px;overflow:hidden;text-decoration:none;color:var(--deep);transition:transform .2s ease,box-shadow .2s ease}
.ex-card:hover{transform:translateY(-3px);box-shadow:0 22px 40px -28px rgba(59,44,34,.6)}
.ex-card img{width:100%;aspect-ratio:4/4.2;object-fit:cover}
.ex-body{padding:18px 20px 22px;display:grid;gap:2px;text-align:center}
.ex-body b{font-family:var(--display);font-weight:400;font-size:24px}
.ex-body span{color:var(--muted);font-size:15px}

/* call to action band */
.cta-band{background:var(--deep);color:#F2EBDF;text-align:center}
.cta-band h2{font-size:clamp(32px,7vw,52px)}
.cta-band h2 .script{display:block;color:var(--khaki);font-size:1.05em}
.cta-band p{color:#D9CBB4;margin:14px 0 24px}
.cta-band .actions{justify-content:center}
.bundle-band{padding:0 0 72px}
.reviews-sec{padding-top:0}
.reviews-sec .box h2{font-size:clamp(30px,6vw,42px);margin-bottom:12px}
.reviews-sec .box > p{color:var(--muted)}
.reviews-sec form.review{border:0;padding:0;margin-top:16px;background:transparent}
@media(min-width:760px){.reviews-sec form.review{grid-template-columns:1fr 1fr}}
.contact h2{font-size:clamp(30px,6vw,44px)}

/* footer columns */
.foot-cols{display:grid;gap:18px;margin-top:6px}
@media(min-width:760px){.foot-cols{grid-template-columns:repeat(3,1fr);text-align:center}}
.nav-cta.wait{visibility:hidden}
.photo-grid{grid-auto-flow:dense}

/* ---------- round 4 (2026-10-13 evening) ---------- */
/* sample video in a phone-shaped frame */
.sample-grid{display:grid;gap:34px;align-items:center}
.sample h2{font-size:clamp(32px,7vw,50px);margin-bottom:14px}
.sample p{color:var(--muted)}
.sample .actions{margin-top:22px}
.phone-frame{margin:0 auto;width:min(320px,82%);padding:10px;background:#fff;border:1px solid var(--line);border-radius:36px;box-shadow:0 26px 50px -30px rgba(59,44,34,.6)}
.phone-frame video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:28px;background:#2a2420}
@media(min-width:900px){.sample-grid{grid-template-columns:1.1fr .9fr;gap:72px}}

/* event chips */
.kinds{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;list-style:none;margin:0 0 30px;padding:0}
.kinds li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 18px;font-size:15px}

/* Mini Stack Bros logo card */
.logo-tile{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#fff}
.logo-tile img{width:58%;height:auto}

/* bundle box on packages */
.bundle-box{margin-top:22px;background:var(--sand);border:1px solid var(--khaki);border-radius:20px;padding:28px 24px;text-align:center}
.bundle-box .script{display:block;font-size:40px;line-height:1.1}
.bundle-box h3{font-size:26px;margin:4px 0 10px}
.bundle-box p{color:var(--muted);max-width:none}
.bundle-box .actions{justify-content:center;margin-top:18px}

/* keep each subject centered inside its arch frame */
.arches .clip img{width:100%;height:100%;object-fit:cover;object-position:58% 50%}
img[src$="ev-quince-booth.jpg"]{object-position:62% 40%}
img[src$="ev-pancakes.jpg"]{object-position:50% 70%}
img[src$="real-handset.jpg"]{object-position:50% 45%}
.svc img[src$="real-cart-2.jpg"]{object-position:50% 35%}

/* ---------- round 5 (2026-10-13 night): going public ---------- */
.hero .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(prefers-reduced-motion:reduce){.hero .hero-video{display:none}}

/* expo: its own card so it stands out from the page */
.expo-sec{padding:28px 0 0}
.expo-card{display:grid;gap:18px;background:#fff;border:2px solid var(--brown);border-radius:22px;padding:22px 20px;box-shadow:0 22px 44px -30px rgba(59,44,34,.6)}
.expo-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:92px;height:104px;border-radius:999px 999px 14px 14px;background:var(--brown);color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:12px}
.expo-date b{font-family:var(--display);font-weight:400;font-size:40px;line-height:1;letter-spacing:0;margin:2px 0}
.expo-body h2{font-size:clamp(26px,5.6vw,38px);margin:0 0 8px}
.expo-where{color:var(--brown);font-weight:500;margin:0 0 12px}
.expo-offers{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--muted)}
.expo-offers b{color:var(--deep);font-weight:500}
@media(min-width:760px){.expo-card{grid-template-columns:auto 1fr;gap:28px;padding:28px 32px;align-items:start}}

.facts a{color:var(--brown)}

/* landscape video (what a message looks like) */
.wide-frame{margin:0;padding:10px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 26px 50px -30px rgba(59,44,34,.6)}
.wide-frame video{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;background:#2a2420}

/* Mini Pancake Bar pricing on the packages page */
.mpb{margin-top:40px}
.mpb .head h2{font-size:clamp(30px,6vw,46px)}
.mpb-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(min-width:900px){.mpb-grid{grid-template-columns:repeat(4,1fr);gap:16px}}
.mpb-grid li{position:relative;background:#fff;border:1px solid var(--line);border-radius:999px 999px 14px 14px;padding:40px 14px 20px;text-align:center;display:grid;gap:2px}
.mpb-grid li.pop{background:var(--sand);border-color:var(--khaki)}
.mpb-grid small{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--brown);color:#fff;font-family:var(--display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:4px 12px;border-radius:999px;white-space:nowrap}
.mpb-grid b{font-family:var(--display);font-weight:400;font-size:20px}
.mpb-grid span{color:var(--muted);font-size:15px}
.mpb-grid em{font-style:normal;font-family:var(--display);font-size:34px;color:var(--brown);margin-top:4px}
.mpb-note{color:var(--muted);margin-top:16px;text-align:center}
.mpb-note a,.bundle a{color:var(--brown)}

/* Mini Stack Bros logo: show it whole, never cropped */
.svc .logo-tile img{width:52%;height:auto;aspect-ratio:auto;object-fit:contain}
.sample p a{color:var(--brown)}
.soon{margin-top:20px;background:#fff;border:1px dashed var(--tan);border-radius:16px;padding:16px 20px;text-align:center;color:var(--muted)}
.soon .script{display:block;font-size:30px;line-height:1.1;color:var(--brown)}
.soon a{color:var(--brown)}
.packages .head h2{font-size:clamp(30px,6vw,46px)}

/* ---------- technical pass (2026-10-14) ---------- */
picture{display:contents}
.vid-toggle{position:absolute;right:10px;bottom:10px;z-index:3;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:rgba(59,44,34,.65);color:#fff;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.vid-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}
.hero .vid-toggle{bottom:auto;top:84px;right:16px}
