:root{
 --tso-forest:#082f2b;--tso-forest-2:#0c4a43;--tso-teal:#14766f;--tso-teal-2:#1b9288;
 --tso-gold:#c9a34a;--tso-gold-soft:#e4c979;--tso-ivory:#f5efdf;--tso-parchment:#eee4cf;
 --tso-ink:#15201d;--tso-line:rgba(201,163,74,.42);
}
html{scroll-behavior:smooth}.tso-celtic-site{overflow-x:hidden;background:var(--tso-ivory);color:var(--tso-ink)}
.tso-celtic-site *{box-sizing:border-box}.tso-wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}.tso-celtic-site a{transition:.22s ease}.tso-eyebrow{display:block;color:var(--tso-gold);font-size:11px;letter-spacing:.22em;font-weight:700;text-transform:uppercase}.tso-section-lead{max-width:720px;margin:0 auto 40px;color:#6a716d}
/* HEADER */
.tso-header{position:relative;z-index:1000;background:rgba(249,246,237,.97);box-shadow:0 3px 25px rgba(0,0,0,.13)}
.tso-topbar{background:#071a18;color:rgba(245,239,223,.75);font-size:11px}.tso-topbar__inner{min-height:29px;display:flex;align-items:center;justify-content:space-between;gap:20px}.tso-topbar a{color:var(--tso-gold-soft);text-decoration:none}
.tso-header__main{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}.tso-logo{display:block;line-height:0;flex:0 0 auto}.tso-logo img{display:block;width:230px;height:auto;max-height:82px;object-fit:contain}
.tso-nav{display:flex;align-items:center;gap:25px}.tso-menu{display:flex!important;align-items:center;gap:22px;margin:0!important;padding:0!important;list-style:none!important}.tso-menu li,.tso-menu>li{display:block!important;list-style:none!important;margin:0!important;padding:0!important}.tso-menu li:before,.tso-menu>li:before{display:none!important}.tso-menu a{display:inline-block;color:#26312f;text-decoration:none;font-size:13px;font-weight:600}.tso-menu a:hover,.tso-menu a.is-current{color:var(--tso-teal)}.tso-nav__cta,.tso-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--tso-teal-2),var(--tso-forest));border:1px solid var(--tso-gold);color:#fff!important;text-decoration:none;padding:12px 19px;font-weight:700;letter-spacing:.03em;box-shadow:0 7px 20px rgba(5,45,40,.18)}.tso-nav__cta:hover,.tso-cta:hover{transform:translateY(-2px);filter:brightness(1.06)}.tso-mobile-toggle{display:none;border:1px solid var(--tso-line);background:#fff;color:var(--tso-forest);padding:9px 12px}
/* HERO */
.tso-hero{position:relative;min-height:650px;display:flex;align-items:center;overflow:hidden;background:#082f2b}.tso-hero__image{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(4,27,24,.56),rgba(4,27,24,.15) 62%,rgba(4,27,24,.16)),url('../images/tso-celtic-hero.png');background-position:center;background-size:cover;transform:scale(1.015)}
.tso-hero__content{position:relative;z-index:3;width:min(850px,calc(100% - 40px));margin:0 auto;text-align:center;color:#fff;padding:90px 20px 105px}.tso-hero__kicker{display:block;color:var(--tso-gold-soft);letter-spacing:.25em;font-size:12px;text-shadow:0 2px 10px #000}.tso-hero h1{margin:15px 0 4px;color:#fff;font-size:clamp(46px,7vw,82px);line-height:.98;text-transform:uppercase;letter-spacing:.02em;text-shadow:0 4px 25px rgba(0,0,0,.75)}.tso-hero__subtitle{margin:0 0 10px;color:#f4d67d;font-family:Georgia,serif;font-size:clamp(20px,2.4vw,30px);font-style:italic;text-shadow:0 2px 10px #000}.tso-hero__lead{max-width:640px;margin:0 auto 20px;font-size:18px;color:#fff;text-shadow:0 2px 9px #000}.tso-hero__phones{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;margin-bottom:20px}.tso-hero__phones a{color:#fff;text-decoration:none;font-size:18px;font-weight:700;text-shadow:0 2px 8px #000}.tso-hero__tags{margin-top:26px;color:rgba(255,255,255,.9);font-size:12px;letter-spacing:.13em;text-shadow:0 2px 8px #000}.tso-hero__mist{position:absolute;z-index:2;left:-10%;width:120%;height:150px;background:radial-gradient(ellipse,rgba(236,245,241,.2),transparent 67%);filter:blur(16px);pointer-events:none}.tso-hero__mist--one{bottom:7%;animation:tsoMist 15s ease-in-out infinite}.tso-hero__mist--two{bottom:22%;opacity:.35;animation:tsoMist 21s ease-in-out infinite reverse}.tso-hero__scroll{position:absolute;z-index:4;bottom:16px;left:50%;color:var(--tso-gold-soft);font-size:22px;animation:tsoFloat 2s ease-in-out infinite}@keyframes tsoMist{0%,100%{transform:translateX(-2%)}50%{transform:translateX(3%)}}@keyframes tsoFloat{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,5px)}}
/* TRUST */
.tso-trust--cards{position:relative;z-index:5;margin-top:-1px;background:#f7f1e4;border-bottom:1px solid rgba(201,163,74,.35)}.tso-trust__grid{display:grid;grid-template-columns:repeat(4,1fr)}.tso-trust__item{padding:22px 18px;text-align:center;border-right:1px solid rgba(201,163,74,.28)}.tso-trust__item:last-child{border-right:0}.tso-icon{display:block;color:var(--tso-teal);font-size:25px;margin-bottom:6px}.tso-trust__item strong{display:block;color:var(--tso-forest);font-size:13px}.tso-trust__item small{display:block;margin-top:4px;color:#6c736e;font-size:11px}
/* HISTORY */
.tso-history--editorial{position:relative;padding:0;background:var(--tso-parchment);overflow:hidden}.tso-history__grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch}.tso-history__visual{position:relative;min-height:390px;overflow:hidden}.tso-history__landscape{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(7,42,37,.05),rgba(7,42,37,.2)),url('../images/tso-celtic-hero.png');background-size:cover;background-position:72% center}.tso-history__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,rgba(238,228,207,.7))}.tso-history__badge{position:absolute;z-index:2;left:28px;bottom:25px;width:115px;height:115px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(6,47,42,.93);border:1px solid var(--tso-gold);color:#fff;box-shadow:0 10px 25px rgba(0,0,0,.2)}.tso-history__badge span{font-size:30px;color:var(--tso-gold-soft)}.tso-history__badge small{font-size:8px;letter-spacing:.12em;line-height:1.35}.tso-history__copy{padding:65px 55px 65px 25px;align-self:center}.tso-history__copy h2{margin:8px 0 18px;color:var(--tso-forest);font-family:Georgia,serif;font-size:42px;line-height:1.05}.tso-history__copy p{color:#5d655f;font-size:15px;line-height:1.72}.tso-link-arrow{display:inline-flex;gap:10px;align-items:center;margin-top:12px;padding:11px 18px;background:var(--tso-teal);color:#fff!important;text-decoration:none;font-size:12px;font-weight:700}.tso-link-arrow:hover{background:var(--tso-forest)}
/* RUNES */
.tso-runes{position:relative;margin:0!important;padding:82px 0 88px;background:radial-gradient(circle at 50% 12%,rgba(224,198,122,.12),transparent 30%),linear-gradient(135deg,#062d29,#0b403a 58%,#062722);color:#fff;overflow:hidden}.tso-runes:before{content:"ᛟ";position:absolute;right:-60px;top:-100px;font-size:310px;color:rgba(201,163,74,.05);transform:rotate(15deg)}.tso-runes:after{content:"✦";position:absolute;left:7%;bottom:8%;font-size:110px;color:rgba(201,163,74,.08)}.tso-runes .tso-eyebrow{color:var(--tso-gold-soft);text-align:center}.tso-runes__heading{text-align:center;position:relative;z-index:2}.tso-runes__heading .tso-oracle__ornament{color:var(--tso-gold-soft);font-size:18px;margin:8px 0}.tso-runes__heading h2{margin:0;color:#f7e1a3;font-family:Georgia,serif;font-size:clamp(34px,5vw,52px)}.tso-runes__heading p{max-width:670px;margin:12px auto 22px;color:rgba(255,255,255,.78)}.tso-rune-day{border:1px solid var(--tso-gold);background:rgba(201,163,74,.12);color:#fff;padding:11px 19px;cursor:pointer;font-weight:700}.tso-rune-day:hover{background:rgba(201,163,74,.2)}.tso-runes__grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(8,1fr);gap:10px;max-width:890px;margin:35px auto 25px}.tso-rune{min-height:82px;border:1px solid rgba(201,163,74,.35);background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(0,0,0,.16));color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-shadow:inset 0 0 20px rgba(255,255,255,.015)}.tso-rune:hover,.tso-rune.is-selected,.tso-rune.is-day{border-color:var(--tso-gold-soft);background:rgba(201,163,74,.12);transform:translateY(-2px)}.tso-rune__glyph{font-size:30px;color:var(--tso-gold-soft);font-family:serif}.tso-rune__name{font-size:10px;letter-spacing:.05em;color:rgba(255,255,255,.8)}.tso-rune-result{position:relative;z-index:3;max-width:700px;margin:20px auto 0;padding:25px 55px 25px 25px;display:flex;gap:22px;align-items:center;background:#f4ead7;color:#19332f;border:1px solid var(--tso-gold);box-shadow:0 15px 45px rgba(0,0,0,.22)}.tso-rune-result__glyph{font-size:60px;color:var(--tso-gold);min-width:70px;text-align:center}.tso-rune-result__label{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--tso-teal)}.tso-rune-result h3{margin:3px 0;color:var(--tso-forest);font-family:Georgia,serif;font-size:28px}.tso-rune-result strong{color:#87661d}.tso-rune-result p{margin:6px 0 0;color:#59615d;font-size:14px}.tso-rune-result__close{position:absolute;right:12px;top:8px;border:0;background:transparent;color:#4e5a55;font-size:28px;cursor:pointer}
/* SPECIALTIES */
.tso-specialties--parchment,.tso-blog--parchment{position:relative;padding:86px 0;background:#eee4cf;background-image:radial-gradient(circle at 10% 10%,rgba(201,163,74,.08),transparent 22%),radial-gradient(circle at 90% 90%,rgba(8,74,67,.07),transparent 25%);text-align:center;overflow:hidden}.tso-specialties h2,.tso-blog h2{margin:8px 0 10px;color:var(--tso-forest);font-family:Georgia,serif;font-size:42px}.tso-specialties__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:15px;margin-top:35px}.tso-specialty{padding:22px 10px;background:rgba(255,252,244,.78);border:1px solid rgba(201,163,74,.34);box-shadow:0 8px 25px rgba(20,50,45,.06)}.tso-specialty__icon{width:58px;height:58px;margin:0 auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--tso-forest);border:1px solid var(--tso-gold);color:var(--tso-gold-soft);font-size:27px}.tso-specialty h3{margin:0 0 5px;color:var(--tso-forest);font-size:16px}.tso-specialty p{margin:0;color:#6b706c;font-size:11px;line-height:1.4}
.tso-deco{position:absolute;color:rgba(8,74,67,.08);font-size:210px;line-height:1}.tso-deco--left{left:-55px;top:45px}.tso-deco--right{right:-55px;bottom:10px;transform:scaleX(-1)}
/* GUIDES */
.tso-guides--forest{position:relative;padding:90px 0;background:linear-gradient(90deg,rgba(3,28,25,.96),rgba(5,48,43,.92)),url('../images/tso-celtic-hero.png');background-size:cover;background-position:center;color:#fff;text-align:center;overflow:hidden}.tso-guides--forest .tso-eyebrow{color:var(--tso-gold-soft)}.tso-guides--forest h2{margin:8px 0 10px;color:#f6e4ae;font-family:Georgia,serif;font-size:42px}.tso-guides--forest .tso-section-lead{color:rgba(255,255,255,.72)}.tso-guides__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:left}.tso-guide-card{background:#f5efdf;border:1px solid var(--tso-gold);box-shadow:0 16px 38px rgba(0,0,0,.25);overflow:hidden}.tso-guide-card__photo{height:245px;background-image:linear-gradient(0deg,rgba(0,35,31,.08),transparent 55%),url('../images/tso-tarotist-briana.jpg');background-size:cover;background-position:center}.tso-guide-card:nth-child(2) .tso-guide-card__photo{background-image:linear-gradient(0deg,rgba(0,35,31,.08),transparent 55%),url('../images/tso-tarotist-enya.jpg')}.tso-guide-card:nth-child(3) .tso-guide-card__photo{background-image:linear-gradient(0deg,rgba(0,35,31,.08),transparent 55%),url('../images/tso-tarotist-arwen.jpg')}.tso-guide-card:nth-child(4) .tso-guide-card__photo{background-image:linear-gradient(0deg,rgba(0,35,31,.08),transparent 55%),url('../images/tso-tarotist-alan.jpg')}.tso-guide-card__body{padding:20px}.tso-guide-card__body>span{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--tso-teal);font-weight:700}.tso-guide-card h3{margin:4px 0;color:var(--tso-forest);font-family:Georgia,serif;font-size:28px}.tso-guide-card p{min-height:48px;margin:8px 0 16px;color:#666e69;font-size:13px;line-height:1.45}.tso-guide-card__actions{display:flex;justify-content:space-between;gap:10px}.tso-guide-card__actions a{font-size:11px;font-weight:700;color:var(--tso-forest);text-decoration:none;border-bottom:1px solid var(--tso-gold);padding-bottom:3px}
/* PRICING */
.tso-pricing--forest{padding:88px 0;background:#0a302c;color:#fff;text-align:center}.tso-pricing--forest .tso-eyebrow{color:var(--tso-gold-soft)}.tso-pricing--forest h2{margin:8px 0 10px;color:#f6e4ae;font-family:Georgia,serif;font-size:42px}.tso-pricing--forest .tso-section-lead{color:rgba(255,255,255,.72)}.tso-pricing__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:880px;margin:38px auto 0;align-items:stretch}.tso-price{position:relative;padding:34px 24px;background:#f5efdf;color:var(--tso-forest);border:1px solid rgba(201,163,74,.55)}.tso-price span{display:block;font-size:11px;letter-spacing:.16em}.tso-price strong{display:block;margin:7px 0;font-family:Georgia,serif;font-size:52px;font-weight:400;color:var(--tso-forest)}.tso-price small{display:block;min-height:38px;color:#6b706c}.tso-price a{display:inline-block;margin-top:20px;padding:10px 17px;background:var(--tso-teal);color:#fff;text-decoration:none;font-size:11px;font-weight:700}.tso-price--featured{transform:translateY(-9px);background:linear-gradient(145deg,#f8efd8,#e8d5a8);border-color:var(--tso-gold);box-shadow:0 15px 45px rgba(0,0,0,.25)}.tso-price--featured em{position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:5px 12px;background:var(--tso-gold);color:#17251f;font-size:9px;font-style:normal;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}
/* PROOF */
.tso-proof{background:#071e1b;border-top:1px solid rgba(201,163,74,.28);border-bottom:1px solid rgba(201,163,74,.28);color:#fff}.tso-proof__grid{display:grid;grid-template-columns:repeat(4,1fr)}.tso-proof__grid>div{padding:23px 18px;text-align:center;border-right:1px solid rgba(201,163,74,.2)}.tso-proof__grid>div:last-child{border:0}.tso-proof span{display:block;color:var(--tso-gold);font-size:24px}.tso-proof strong{display:block;font-size:12px}.tso-proof small{display:block;color:rgba(255,255,255,.58);font-size:10px;margin-top:3px}
/* BLOG */
.tso-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:left}.tso-post{background:rgba(255,252,244,.9);border:1px solid rgba(201,163,74,.35);box-shadow:0 10px 28px rgba(20,50,45,.06);overflow:hidden}.tso-post__image{display:block}.tso-post__image img{display:block;width:100%;height:205px;object-fit:cover}.tso-post__body{padding:20px}.tso-post__body small{color:var(--tso-teal);font-size:10px}.tso-post h3{margin:6px 0 8px;font-family:Georgia,serif;font-size:21px;line-height:1.2}.tso-post h3 a{color:var(--tso-forest);text-decoration:none}.tso-post p{margin:0 0 13px;color:#666;font-size:13px;line-height:1.5}.tso-read{color:var(--tso-teal);text-decoration:none;font-size:11px;font-weight:700}.tso-empty-blog{grid-column:1/-1;padding:40px;background:#f9f4e9;border:1px dashed var(--tso-line);display:flex;flex-direction:column;gap:7px;color:var(--tso-forest)}
/* FOOTER */
.tso-footer{position:relative;padding:65px 0 0;background:linear-gradient(90deg,rgba(3,22,20,.97),rgba(5,39,35,.97)),url('../images/tso-celtic-hero.png');background-size:cover;background-position:center;color:rgba(255,255,255,.68);overflow:hidden}.tso-footer__ornament{text-align:center;color:var(--tso-gold);font-size:20px;margin-bottom:28px}.tso-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:38px}.tso-footer__brand img{width:220px;max-height:92px;object-fit:contain;object-position:left center}.tso-footer h3{margin:0 0 14px;color:#fff;font-family:Georgia,serif;font-size:17px}.tso-footer p{font-size:13px;line-height:1.55}.tso-footer a{color:var(--tso-gold-soft);text-decoration:none}.tso-footer ul{list-style:none;margin:0;padding:0}.tso-footer li{margin:6px 0;font-size:12px}.tso-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.tso-socials a{border:1px solid rgba(201,163,74,.45);padding:6px 9px;font-size:10px}.tso-footer__phones{font-size:18px!important;line-height:1.6!important}.tso-cta--footer{margin-top:5px}.tso-footer__legal{margin-top:50px;padding:16px 20px;display:flex;justify-content:space-between;gap:20px;align-items:center;background:rgba(0,0,0,.3);font-size:10px}.tso-footer__legal div{display:flex;gap:15px}
/* RESPONSIVE */
@media(max-width:980px){.tso-nav{gap:13px}.tso-menu{gap:13px}.tso-logo img{width:190px}.tso-runes__grid{grid-template-columns:repeat(6,1fr)}.tso-specialties__grid{grid-template-columns:repeat(3,1fr)}.tso-guides__grid{grid-template-columns:repeat(2,1fr)}.tso-footer__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.tso-topbar__inner{justify-content:center;text-align:center}.tso-topbar__inner>span:first-child{display:none}.tso-header__main{min-height:72px}.tso-logo img{width:165px;max-height:62px}.tso-mobile-toggle{display:inline-flex;align-items:center;gap:5px}.tso-nav{position:absolute;left:20px;right:20px;top:calc(100% + 1px);display:none;flex-direction:column;align-items:stretch;padding:15px;background:#f7f2e7;border:1px solid rgba(201,163,74,.35);box-shadow:0 14px 35px rgba(0,0,0,.18)}.tso-nav.is-open{display:flex}.tso-menu{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}.tso-menu a{display:block;padding:12px 8px;border-bottom:1px solid rgba(201,163,74,.15)}.tso-nav__cta{text-align:center}.tso-hero{min-height:620px}.tso-hero__content{padding-top:70px}.tso-hero h1{font-size:47px}.tso-hero__phones{flex-direction:column;gap:5px}.tso-trust__grid{grid-template-columns:repeat(2,1fr)}.tso-trust__item:nth-child(2){border-right:0}.tso-history__grid{grid-template-columns:1fr}.tso-history__visual{min-height:270px}.tso-history__copy{padding:48px 25px}.tso-history__copy h2{font-size:34px}.tso-runes__grid{grid-template-columns:repeat(4,1fr)}.tso-rune{min-height:72px}.tso-rune-result{margin-left:20px;margin-right:20px}.tso-specialties__grid{grid-template-columns:repeat(2,1fr)}.tso-guides__grid{grid-template-columns:1fr 1fr}.tso-pricing__grid{grid-template-columns:1fr;max-width:390px}.tso-price--featured{transform:none}.tso-proof__grid{grid-template-columns:repeat(2,1fr)}.tso-proof__grid>div:nth-child(2){border-right:0}.tso-posts{grid-template-columns:1fr}.tso-footer__grid{grid-template-columns:1fr 1fr}.tso-footer__legal{flex-direction:column;text-align:center}.tso-footer__legal div{flex-wrap:wrap;justify-content:center}}
@media(max-width:480px){.tso-wrap{width:min(100% - 28px,1180px)}.tso-logo img{width:145px}.tso-hero{min-height:580px}.tso-hero__content{width:calc(100% - 24px);padding:65px 5px 80px}.tso-hero h1{font-size:40px}.tso-hero__lead{font-size:15px}.tso-hero__tags{font-size:9px;line-height:1.6}.tso-trust__item{padding:17px 9px}.tso-trust__item strong{font-size:11px}.tso-trust__item small{font-size:9px}.tso-runes{padding:65px 0}.tso-runes__grid{gap:6px}.tso-rune{min-height:64px}.tso-rune__glyph{font-size:24px}.tso-rune__name{font-size:8px}.tso-specialties__grid,.tso-guides__grid{grid-template-columns:1fr}.tso-footer__grid{grid-template-columns:1fr}.tso-footer__legal{font-size:9px}.tso-footer__legal div{gap:9px}}

/* V3.1 — ajuste fiel al boceto final */
.tso-header{position:relative;z-index:50;background:rgba(248,244,232,.97);border-bottom:1px solid rgba(201,163,74,.38);box-shadow:0 4px 20px rgba(0,0,0,.08)}
.tso-header__main{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.tso-logo{display:flex;align-items:center;flex:0 0 auto}.tso-logo img{display:block;width:245px;max-height:74px;object-fit:contain;object-position:left center}
.tso-nav{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex:1}.tso-menu{display:flex!important;align-items:center;justify-content:flex-end;gap:20px;list-style:none!important;margin:0!important;padding:0!important}.tso-menu a{font-size:11px;font-weight:700;color:#183a34;text-decoration:none;white-space:nowrap;transition:.2s}.tso-menu a:hover,.tso-menu a.is-current{color:#a77e22}.tso-menu a:before,.tso-menu a:after{display:none!important}.tso-header-socials{display:flex;align-items:center;gap:9px;margin-left:2px}.tso-header-socials a{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#123a34;text-decoration:none;font-weight:700;font-size:14px}.tso-header-socials a:hover{color:#b28a2c;background:rgba(201,163,74,.12)}
.tso-nav__cta{display:inline-flex!important;align-items:center;justify-content:center;padding:11px 18px;border-radius:22px;background:linear-gradient(135deg,#0b625a,#0e403b);border:1px solid #c9a34a;color:#fff!important;text-decoration:none;font-size:10px!important;font-weight:800!important;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 6px 18px rgba(8,47,43,.18);white-space:nowrap}.tso-nav__cta:hover{transform:translateY(-1px)}
.tso-hero{min-height:570px}.tso-hero__content{max-width:1180px;margin:0 auto;padding-left:6%;padding-right:48%}.tso-hero__features{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0 16px;max-width:650px}.tso-hero__features span{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;color:#e4c979;font-size:18px}.tso-hero__features b{font-size:10px;color:#fff;letter-spacing:.03em}.tso-hero__features small{font-size:8px;color:rgba(255,255,255,.7)}
.tso-trust{display:none}
.tso-history--editorial{border-top:0}
.tso-history__copy{padding-top:62px;padding-bottom:62px}.tso-history__copy h2{font-size:38px}
.tso-runes{position:relative}.tso-runes:before,.tso-runes:after{content:'ᛉ';position:absolute;color:rgba(201,163,74,.08);font-size:190px;line-height:1;top:50%;transform:translateY(-50%);pointer-events:none}.tso-runes:before{left:-35px}.tso-runes:after{right:-35px;transform:translateY(-50%) scaleX(-1)}
.tso-specialties--parchment{position:relative}
.tso-guides--forest{padding-top:75px;padding-bottom:75px}
.tso-guide-card__photo{height:235px}
.tso-price strong{font-size:50px}.tso-price small{min-height:28px}
.tso-footer__grid{align-items:start}
@media(max-width:980px){.tso-logo img{width:210px}.tso-nav{gap:10px}.tso-menu{gap:13px}.tso-header-socials{display:none}.tso-hero__content{padding-right:40%}}
@media(max-width:760px){.tso-header__main{min-height:76px}.tso-logo img{width:180px;max-height:64px}.tso-mobile-toggle{display:inline-flex!important;align-items:center;gap:5px}.tso-nav{position:absolute;left:14px;right:14px;top:calc(100% + 1px);display:none;flex-direction:column;align-items:stretch;padding:15px;background:#f7f2e7;border:1px solid rgba(201,163,74,.35);box-shadow:0 14px 35px rgba(0,0,0,.18)}.tso-nav.is-open{display:flex}.tso-menu{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}.tso-menu a{display:block;padding:12px 8px;border-bottom:1px solid rgba(201,163,74,.15)}.tso-header-socials{display:flex;justify-content:center;margin:5px 0}.tso-nav__cta{text-align:center}.tso-hero__content{padding-right:20px;padding-left:20px}.tso-hero__features{grid-template-columns:repeat(2,1fr);max-width:330px;margin-left:auto;margin-right:auto}.tso-hero{min-height:650px}}
@media(max-width:480px){.tso-logo img{width:150px}.tso-hero__features{gap:8px}.tso-hero__features span{font-size:16px}.tso-hero__features b{font-size:9px}.tso-hero__features small{font-size:7px}}

/* Hero callout from final visual mockup */
.tso-hero__callout{position:absolute;z-index:5;right:7%;top:50%;transform:translateY(-30%);width:270px;padding:25px 24px 23px;text-align:center;background:rgba(246,239,221,.96);border:1px solid var(--tso-gold);box-shadow:0 18px 50px rgba(0,0,0,.28);color:var(--tso-forest)}
.tso-hero__callout:before{content:'';position:absolute;inset:6px;border:1px solid rgba(201,163,74,.35);pointer-events:none}
.tso-hero__callout>span{position:relative;display:block;font-size:11px;letter-spacing:.08em;margin-bottom:7px}.tso-hero__callout strong{position:relative;display:block;font-family:Georgia,serif;font-size:25px;line-height:1.35}.tso-hero__callout strong a{color:var(--tso-forest);text-decoration:none}.tso-hero__callout .tso-cta{position:relative;margin-top:14px;padding:11px 17px;border-radius:22px;font-size:10px}
@media(max-width:1100px){.tso-hero__callout{right:4%;width:235px}.tso-hero__callout strong{font-size:21px}}
@media(max-width:760px){.tso-hero__callout{position:relative;right:auto;top:auto;transform:none;width:min(320px,calc(100% - 40px));margin:-35px auto 25px}.tso-hero__content{padding-bottom:20px}.tso-hero{min-height:0;padding-bottom:35px}}


/* =========================================================
   V3.2 — Hero limpio + jerarquía visual responsive
   ========================================================= */
.tso-hero{
  min-height:650px;
  isolation:isolate;
}
.tso-hero__image{
  background-image:
    linear-gradient(90deg,rgba(2,25,22,.86) 0%,rgba(3,35,31,.70) 32%,rgba(3,35,31,.18) 62%,rgba(3,25,22,.08) 100%),
    url('../images/tso-celtic-hero-clean.webp');
  background-position:center center;
  background-size:cover;
  transform:none;
}
.tso-hero__content{
  width:min(1180px,calc(100% - 40px));
  max-width:none;
  margin:0 auto;
  padding:92px 48% 105px 0;
  text-align:left;
}
.tso-hero__kicker{font-size:12px;margin-bottom:12px}
.tso-hero h1{
  max-width:680px;
  margin:0 0 9px;
  font-size:clamp(48px,5.6vw,78px);
  line-height:.96;
  letter-spacing:.015em;
}
.tso-hero__subtitle{
  margin:0 0 12px;
  font-size:clamp(21px,2.3vw,31px);
}
.tso-hero__lead{
  max-width:560px;
  margin:0 0 22px;
  font-size:16px;
  line-height:1.6;
}
.tso-hero__features{
  grid-template-columns:repeat(4,minmax(90px,1fr));
  max-width:575px;
  margin:24px 0 20px;
  gap:10px;
}
.tso-hero__features span{font-size:17px}
.tso-hero__features b{font-size:10px}
.tso-hero__features small{font-size:8px}
.tso-hero__tags{
  max-width:620px;
  margin-top:22px;
  line-height:1.6;
  text-align:left;
}
.tso-cta--hero{border-radius:24px;padding:13px 22px}
.tso-hero__callout{
  right:max(5%,calc((100vw - 1180px)/2));
  top:50%;
  width:285px;
  padding:27px 26px 25px;
  transform:translateY(-38%);
  border-radius:2px;
}
.tso-hero__callout strong{font-size:27px}

/* Better section rhythm */
.tso-history__grid{min-height:360px}
.tso-history__copy{padding:58px 58px 58px 35px}
.tso-history__copy p{font-size:14px}
.tso-runes{padding:76px 0 82px}
.tso-specialties--parchment,.tso-blog--parchment{padding:72px 0}
.tso-guides--forest{padding:72px 0 78px}
.tso-pricing--forest{padding-top:66px;padding-bottom:66px}

/* Mobile: never overlay the callout on the copy */
@media(max-width:760px){
  .tso-hero{min-height:720px;display:block}
  .tso-hero__image{
    background-position:67% center;
    background-image:
      linear-gradient(180deg,rgba(2,25,22,.76) 0%,rgba(3,35,31,.48) 42%,rgba(3,25,22,.72) 100%),
      url('../images/tso-celtic-hero-clean.webp');
  }
  .tso-hero__content{
    width:calc(100% - 28px);
    padding:62px 14px 0;
    text-align:center;
  }
  .tso-hero__kicker{font-size:10px;letter-spacing:.18em}
  .tso-hero h1{font-size:42px;max-width:100%;margin-left:auto;margin-right:auto}
  .tso-hero__subtitle{font-size:22px}
  .tso-hero__lead{font-size:14px;max-width:390px;margin-left:auto;margin-right:auto}
  .tso-hero__features{grid-template-columns:repeat(2,1fr);max-width:350px;margin:22px auto 16px}
  .tso-hero__tags{font-size:9px;line-height:1.8;max-width:360px;margin:17px auto 0;text-align:center}
  .tso-hero__callout{
    left:50%;right:auto;top:auto;bottom:22px;
    width:min(360px,calc(100% - 28px));
    padding:18px 18px 17px;
    transform:translateX(-50%);
  }
  .tso-hero__callout strong{font-size:22px}
  .tso-hero__callout .tso-cta{margin-top:10px;padding:10px 16px}
  .tso-history__copy{padding:42px 22px 46px}
  .tso-history__copy h2{font-size:31px}
  .tso-runes{padding:56px 0 60px}
  .tso-runes__grid{grid-template-columns:repeat(4,1fr);max-width:380px}
  .tso-rune{min-height:68px}
  .tso-specialties--parchment,.tso-blog--parchment{padding:58px 0}
  .tso-specialties h2,.tso-blog h2{font-size:34px}
  .tso-guides--forest{padding:58px 0 60px}
}
@media(max-width:420px){
  .tso-header__main{gap:10px}
  .tso-logo img{width:142px}
  .tso-hero{min-height:735px}
  .tso-hero h1{font-size:38px}
  .tso-hero__lead{font-size:13px}
  .tso-hero__callout{bottom:15px}
}


/* =========================================================
   V3.3 — Retratos circulares + SEO on-page + historia visual
   ========================================================= */
.tso-history__visual{min-height:390px;position:relative;overflow:hidden;background:#102f2a}
.tso-history__landscape-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tso-history__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,30,26,.02),rgba(2,30,26,.18) 62%,rgba(238,228,207,.5));pointer-events:none}
.tso-history__badge{z-index:3}
.tso-guide-card{overflow:visible;background:rgba(245,239,223,.98);border-radius:18px;padding:26px 18px 22px;text-align:center;display:flex;flex-direction:column;align-items:center;min-height:100%;}
.tso-guide-card__photo-wrap{position:relative;width:188px;height:188px;border-radius:50%;padding:5px;background:linear-gradient(135deg,#ead18b,#9b7428 50%,#ead18b);box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 0 4px rgba(7,47,42,.9);flex:0 0 auto}
.tso-guide-card__photo-wrap:after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.5);border-radius:50%;pointer-events:none}
.tso-guide-card__photo{display:block!important;width:100%!important;height:100%!important;object-fit:cover;border-radius:50%;background:#092f2b}
.tso-guide-card__body{padding:18px 8px 0;width:100%}
.tso-guide-card__body>span{display:block;font-size:9px;letter-spacing:.16em}
.tso-guide-card h3{font-size:27px;margin:5px 0 6px}
.tso-guide-card p{min-height:56px;margin:8px auto 16px;max-width:230px}
.tso-guide-card__actions{justify-content:center;flex-wrap:wrap}
.tso-guide-card__actions a{padding:4px 8px}
.tso-payment-note{max-width:900px;margin:34px auto 0;padding:22px 26px;background:rgba(245,239,223,.08);border:1px solid rgba(228,201,121,.38);border-radius:10px;text-align:center}
.tso-payment-note strong{color:#f5e3a6;font-family:Georgia,serif;font-size:21px}
.tso-payment-note p{margin:8px auto 0;max-width:760px;color:rgba(255,255,255,.82);font-size:14px;line-height:1.7}
.tso-seo-copy{padding:78px 0;background:linear-gradient(180deg,#f5efdf 0%,#eee4cf 100%);color:#3f4944}
.tso-seo-copy h2{margin:8px 0 25px;color:var(--tso-forest);font-family:Georgia,serif;font-size:40px;text-align:center}
.tso-seo-copy .tso-eyebrow{text-align:center}
.tso-seo-copy__grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;max-width:1000px;margin:0 auto}
.tso-seo-copy__grid p{font-size:15px;line-height:1.8;margin:0 0 15px}
.tso-seo-copy__grid strong{color:var(--tso-forest)}
.tso-hero__callout small{position:relative;display:block;margin-top:8px;color:#66706b;font-size:10px;letter-spacing:.05em}
@media(max-width:980px){
 .tso-guide-card__photo-wrap{width:165px;height:165px}
 .tso-seo-copy__grid{gap:24px}
}
@media(max-width:760px){
 .tso-history__visual{min-height:290px}
 .tso-history__visual:after{background:linear-gradient(180deg,rgba(2,30,26,.04),rgba(238,228,207,.42))}
 .tso-guides__grid{grid-template-columns:1fr 1fr;gap:16px}
 .tso-guide-card{padding:20px 12px 18px;border-radius:15px}
 .tso-guide-card__photo-wrap{width:150px;height:150px}
 .tso-guide-card h3{font-size:23px}
 .tso-guide-card p{font-size:12px;min-height:58px}
 .tso-guide-card__actions a{font-size:10px}
 .tso-seo-copy{padding:58px 0}
 .tso-seo-copy h2{font-size:32px}
 .tso-seo-copy__grid{grid-template-columns:1fr;gap:0}
 .tso-payment-note{padding:18px 16px}
 .tso-payment-note strong{font-size:18px}
}
@media(max-width:460px){
 .tso-guides__grid{grid-template-columns:1fr}
 .tso-guide-card__photo-wrap{width:175px;height:175px}
}


/* =========================================================
   V3.4 — Páginas Nuestras tarotistas + Horóscopo Celta 2027
   ========================================================= */
.tso-inner{background:var(--tso-ivory);color:var(--tso-ink)}
.tso-inner-hero{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden;background:#082f2b;color:#fff}.tso-inner-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center}.tso-meigas-hero .tso-inner-hero__bg{background-image:linear-gradient(90deg,rgba(3,26,23,.78),rgba(3,26,23,.34) 60%,rgba(3,26,23,.18)),url('../images/tso-meigas-hero.webp')}.tso-horoscope-hero .tso-inner-hero__bg{background-image:linear-gradient(90deg,rgba(3,26,23,.74),rgba(3,26,23,.28) 62%,rgba(3,26,23,.16)),url('../images/tso-horoscopo-celta.webp')}.tso-inner-hero__content{position:relative;z-index:2;padding:105px 0;color:#fff;max-width:720px}.tso-inner-hero h1{margin:14px 0;font-family:Georgia,serif;font-size:clamp(46px,6vw,76px);line-height:.98;text-shadow:0 4px 25px rgba(0,0,0,.55)}.tso-inner-hero p{max-width:640px;margin:0 0 22px;font-size:18px;line-height:1.65;color:rgba(255,255,255,.9);text-shadow:0 2px 10px rgba(0,0,0,.65)}
.tso-parchment-section{background:var(--tso-parchment);padding:82px 0}.tso-forest-section{background:radial-gradient(circle at 50% 10%,rgba(201,163,74,.11),transparent 30%),linear-gradient(135deg,#062d29,#0b403a 58%,#062722);color:#fff;padding:82px 0}.tso-narrow-copy{max-width:900px;margin:0 auto;text-align:center}.tso-narrow-copy h2,.tso-horoscope-intro h2{margin:8px 0 20px;color:var(--tso-forest);font-family:Georgia,serif;font-size:42px;line-height:1.1}.tso-narrow-copy p,.tso-horoscope-intro p{max-width:880px;margin:0 auto 15px;color:#5c665f;font-size:16px;line-height:1.8}.tso-source-note{font-size:13px!important;color:#777!important}.tso-source-note a,.tso-seo-copy a{color:var(--tso-teal);font-weight:700}
.tso-meigas-team{text-align:center}.tso-meigas-team h2,.tso-tree-list h2,.tso-predictions-2027 h2{margin:7px 0 10px;font-family:Georgia,serif;font-size:44px;color:var(--tso-gold-soft)}.tso-tree-list h2{color:#f5e3a6;text-align:center}.tso-meigas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:35px}.tso-meiga-card{position:relative;background:rgba(245,239,223,.98);color:var(--tso-ink);padding:30px 18px 24px;border-radius:18px;border:1px solid rgba(201,163,74,.72);box-shadow:0 20px 45px rgba(0,0,0,.2);overflow:hidden}.tso-meiga-card:before,.tso-meiga-card:after{content:'ᛉ';position:absolute;color:rgba(201,163,74,.19);font-size:80px;line-height:1}.tso-meiga-card:before{left:-18px;top:8px}.tso-meiga-card:after{right:-18px;bottom:-24px;transform:rotate(180deg)}.tso-meiga-card__knot{position:absolute;left:50%;top:8px;transform:translateX(-50%);color:var(--tso-gold);font-size:18px;z-index:2}.tso-meiga-card__photo-wrap{width:220px;height:220px;margin:8px auto 18px;padding:6px;border-radius:50%;background:linear-gradient(135deg,#f1d98b,#9b7428 50%,#ecd48c);box-shadow:0 10px 28px rgba(0,0,0,.3),0 0 0 6px rgba(7,47,42,.88)}.tso-meiga-card__photo-wrap img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.tso-meiga-card__specialty{display:block;color:var(--tso-teal);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.tso-meiga-card h3{margin:5px 0;color:var(--tso-forest);font-family:Georgia,serif;font-size:32px}.tso-meiga-card p{min-height:72px;margin:8px auto 17px;color:#616963;font-size:13px;line-height:1.65;max-width:250px}.tso-meiga-card__links,.tso-cta-row{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}.tso-button-outline,.tso-button-gold{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:10px 14px;font-size:11px;font-weight:800;border-radius:2px}.tso-button-outline{color:var(--tso-forest);border:1px solid var(--tso-teal);background:transparent}.tso-button-gold{color:#fff!important;background:var(--tso-teal);border:1px solid var(--tso-gold)}
.tso-benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(201,163,74,.18)}.tso-benefits-grid>div{padding:26px 20px;text-align:center;background:rgba(245,239,223,.65)}.tso-benefits-grid span{display:block;color:var(--tso-teal);font-size:28px;margin-bottom:8px}.tso-benefits-grid strong{display:block;color:var(--tso-forest);font-size:15px}.tso-benefits-grid p{margin:7px auto 0;color:#6b736d;font-size:12px;line-height:1.55}.tso-centered-cta{text-align:center}.tso-centered-cta h2{margin:8px 0;color:var(--tso-gold-soft);font-family:Georgia,serif;font-size:40px}.tso-forest-section .tso-centered-cta p{color:rgba(255,255,255,.8)}
.tso-horoscope-intro__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:start}.tso-tree-finder{position:sticky;top:30px;padding:34px 30px;background:linear-gradient(180deg,#f8f1df,#eee2c7);border:1px solid rgba(201,163,74,.55);box-shadow:0 18px 35px rgba(0,0,0,.12);text-align:center;overflow:hidden}.tso-tree-finder:before{content:'ᚾ';position:absolute;right:-25px;top:-30px;color:rgba(20,118,111,.07);font-size:200px}.tso-tree-finder__ornament{color:var(--tso-gold);font-size:28px;margin-bottom:5px}.tso-tree-finder h2{font-size:31px;margin:8px 0 9px;color:var(--tso-forest);font-family:Georgia,serif}.tso-tree-finder p{font-size:13px;line-height:1.6;margin-bottom:18px}.tso-tree-finder__fields{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-bottom:15px;text-align:left}.tso-tree-finder label{font-size:11px;font-weight:800;color:#58615c}.tso-tree-finder select{display:block;width:100%;margin-top:5px;padding:11px;border:1px solid rgba(201,163,74,.45);background:#fffdf6;color:var(--tso-forest);font-size:13px}.tso-finder-link{display:block;margin-top:17px;color:var(--tso-teal);font-size:11px;font-weight:800;text-decoration:none}.tso-tree-result{margin-top:24px;padding:22px 18px;background:#fffaf0;border:1px solid rgba(201,163,74,.55);text-align:center}.tso-tree-result[hidden]{display:none}.tso-tree-result__eyebrow{display:block;color:var(--tso-gold);font-size:9px;letter-spacing:.18em}.tso-tree-result h3{margin:3px 0;color:var(--tso-forest);font-family:Georgia,serif;font-size:30px}.tso-tree-result strong{display:block;color:var(--tso-teal);font-size:14px}.tso-tree-result small{display:block;color:#6a726d;margin-top:4px}.tso-tree-result__2027{margin-top:15px;padding-top:15px;border-top:1px solid rgba(201,163,74,.35)}.tso-tree-result__2027 b{color:var(--tso-forest);font-family:Georgia,serif}.tso-tree-result__2027 p{margin:7px 0 0;font-size:13px;color:#606862}.tso-tree-result__2027 span{display:block;margin-top:8px;color:#5f6b64;font-size:11px;line-height:1.5}
.tso-tree-list{text-align:center}.tso-tree-table-wrap{overflow:auto;margin-top:28px}.tso-tree-table{width:100%;border-collapse:separate;border-spacing:0;background:rgba(5,45,40,.35);overflow:hidden;border:1px solid rgba(201,163,74,.28)}.tso-tree-table th,.tso-tree-table td{padding:13px 12px;border-bottom:1px solid rgba(201,163,74,.17);font-size:12px}.tso-tree-table th{background:#062722;color:#f4d67d;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.tso-tree-table td{color:rgba(255,255,255,.88);background:rgba(255,255,255,.02)}.tso-tree-table tr:nth-child(even) td{background:rgba(255,255,255,.035)}.tso-tree-table td:first-child{color:#f7e6a9;white-space:nowrap}.tso-tree-table tr:last-child td{border-bottom:0}
.tso-predictions-2027{padding:85px 0 90px;background:linear-gradient(180deg,#f4ecd9,#efe2c8);text-align:center}.tso-predictions-2027 h2{color:var(--tso-forest)}.tso-predictions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:left;margin-top:35px}.tso-prediction-card{position:relative;padding:25px 22px 22px;background:#fffaf0;border:1px solid rgba(201,163,74,.42);box-shadow:0 12px 25px rgba(23,34,29,.08);transition:.2s ease}.tso-prediction-card.is-selected{transform:translateY(-4px);box-shadow:0 15px 32px rgba(20,118,111,.2);border-color:var(--tso-teal)}.tso-prediction-card__ornament{display:block;color:var(--tso-gold);font-size:18px}.tso-prediction-card h3{margin:2px 0 2px;color:var(--tso-forest);font-family:Georgia,serif;font-size:27px}.tso-prediction-card>strong{display:block;color:var(--tso-teal);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.tso-prediction-card>small{display:block;margin-top:7px;color:#7a827d;font-size:10px;line-height:1.5}.tso-prediction-card>p{margin:13px 0 14px;color:#545d57;font-size:13px;line-height:1.68}.tso-prediction-card>div{border-top:1px solid rgba(201,163,74,.3);padding-top:12px}.tso-prediction-card b{display:block;color:var(--tso-forest);font-family:Georgia,serif;font-size:14px}.tso-prediction-card div span{display:block;margin-top:4px;color:#616963;font-size:11px;line-height:1.55}.tso-horoscope-cta{padding:75px 0}.tso-horoscope-cta .tso-centered-cta h2{color:var(--tso-forest)}.tso-horoscope-cta .tso-centered-cta p{color:#606860}
@media(max-width:980px){.tso-meigas-grid{grid-template-columns:repeat(2,1fr)}.tso-benefits-grid{grid-template-columns:repeat(2,1fr)}.tso-horoscope-intro__grid{grid-template-columns:1fr}.tso-tree-finder{position:relative;top:auto}.tso-predictions-grid{grid-template-columns:repeat(2,1fr)}.tso-meiga-card__photo-wrap{width:190px;height:190px}}
@media(max-width:760px){.tso-inner-hero{min-height:540px}.tso-inner-hero__content{padding:85px 0}.tso-inner-hero h1{font-size:44px}.tso-inner-hero p{font-size:15px}.tso-parchment-section,.tso-forest-section,.tso-predictions-2027{padding:62px 0}.tso-meigas-grid{grid-template-columns:1fr 1fr;gap:14px}.tso-meiga-card{padding:24px 12px 20px}.tso-meiga-card__photo-wrap{width:150px;height:150px}.tso-meiga-card h3{font-size:26px}.tso-meiga-card p{font-size:11px;min-height:72px}.tso-benefits-grid{grid-template-columns:1fr 1fr}.tso-predictions-grid{grid-template-columns:1fr 1fr;gap:14px}.tso-prediction-card{padding:19px 15px}.tso-prediction-card h3{font-size:24px}.tso-tree-table th,.tso-tree-table td{padding:11px 9px;font-size:10px}}
@media(max-width:480px){.tso-inner-hero{min-height:500px}.tso-inner-hero h1{font-size:38px}.tso-meigas-grid,.tso-predictions-grid,.tso-benefits-grid{grid-template-columns:1fr}.tso-meiga-card__photo-wrap{width:190px;height:190px}.tso-narrow-copy h2,.tso-horoscope-intro h2{font-size:32px}.tso-meigas-team h2,.tso-tree-list h2,.tso-predictions-2027 h2{font-size:34px}.tso-tree-finder{padding:27px 18px}.tso-tree-finder__fields{grid-template-columns:1fr 1fr}.tso-tree-table{min-width:640px}}

/* V3.4.1 — one-line horoscope title + medieval botanical herbarium */
@media(min-width:761px){
  .tso-horoscope-hero .tso-inner-hero__content{max-width:920px}
  .tso-horoscope-hero h1{white-space:nowrap;font-size:clamp(42px,5.3vw,72px);letter-spacing:-.02em}
}
.tso-tree-table td:first-child{display:table-cell}
.tso-tree-table__botanical{display:inline-block;width:46px;height:46px;object-fit:cover;vertical-align:middle;margin-right:12px;border-radius:50%;border:2px solid rgba(201,163,74,.75);background:#ead8b2;box-shadow:0 3px 8px rgba(0,0,0,.18)}
.tso-prediction-card__botanical{width:92px;height:74px;margin:-2px auto 8px;overflow:hidden;border-radius:10px;border:1px solid rgba(201,163,74,.42);background:#efe0bd;box-shadow:0 7px 16px rgba(32,43,36,.08)}
.tso-prediction-card__botanical img{width:100%;height:100%;object-fit:cover;display:block}
.tso-tree-result__botanical{width:96px;height:76px;margin:0 auto 8px;overflow:hidden;border-radius:10px;border:1px solid rgba(201,163,74,.5);background:#efe0bd;box-shadow:0 6px 15px rgba(32,43,36,.08)}
.tso-tree-result__botanical img{width:100%;height:100%;object-fit:cover;display:block}
.tso-prediction-card{padding-top:20px}
@media(max-width:760px){
  .tso-horoscope-hero h1{white-space:normal;font-size:44px}
  .tso-tree-table__botanical{width:38px;height:38px;margin-right:8px}
  .tso-prediction-card__botanical{width:82px;height:66px}
}


/* V3.5.0 — Horóscopo, blog y Single */
.tso-tree-table th:first-child,
.tso-tree-table td:first-child{ text-align:left !important; }
.tso-tree-table th:first-child{ padding-left:18px; }
.tso-tree-table td:first-child{ width:29%; }
.tso-tree-table__botanical{ width:46px; height:56px; object-fit:contain; border-radius:8px; margin-right:12px; padding:3px; background:#efe1c3; border:1px solid rgba(201,163,74,.62); box-shadow:0 3px 9px rgba(0,0,0,.16); }
.tso-prediction-card{ min-height:100%; display:flex; flex-direction:column; }
.tso-prediction-card__botanical{ width:94px; height:108px; margin:0 0 13px; padding:5px; border-radius:9px; display:flex; align-items:center; justify-content:center; background:#f2e6ce; border:1px solid rgba(201,163,74,.48); box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 7px 16px rgba(32,43,36,.08); }
.tso-prediction-card__botanical img{ width:100%; height:100%; object-fit:contain; }
.tso-prediction-card h3{ margin-top:0; }
.tso-prediction-card>p{ flex:1; }
.tso-tree-result__botanical{ width:94px; height:112px; padding:5px; display:flex; align-items:center; justify-content:center; border-radius:9px; }
.tso-tree-result__botanical img{ object-fit:contain; }

/* BLOG INDEX */
.tso-blog-hero{position:relative;min-height:430px;display:flex;align-items:center;overflow:hidden;background:#062d29;color:#fff}
.tso-blog-hero__bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(3,25,22,.80),rgba(3,25,22,.42) 58%,rgba(3,25,22,.16)),url('../images/tso-celtic-hero-clean.webp');background-size:cover;background-position:center}
.tso-blog-hero__content{position:relative;z-index:2;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:90px 0 95px}
.tso-blog-hero h1{margin:12px 0;font-family:Georgia,serif;font-size:clamp(46px,6vw,74px);line-height:1;color:#fff;text-shadow:0 4px 22px rgba(0,0,0,.62)}
.tso-blog-hero p{max-width:730px;color:rgba(255,255,255,.9);font-size:18px;line-height:1.65;text-shadow:0 2px 8px #000}
.tso-blog-shell{padding:82px 0 95px;background:#f2e8d4}
.tso-blog-shell__intro{max-width:820px;text-align:center;margin:0 auto 40px}
.tso-blog-shell__intro h2{margin:8px 0 12px;font:700 40px/1.08 Georgia,serif;color:var(--tso-forest)}
.tso-blog-shell__intro p{color:#5f6761;line-height:1.75}
.tso-blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:30px;align-items:start}
.tso-post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.tso-post-card{position:relative;background:#fffaf0;border:1px solid rgba(201,163,74,.35);box-shadow:0 12px 28px rgba(20,40,34,.07);transition:.2s ease;overflow:hidden}
.tso-post-card:hover{transform:translateY(-4px);box-shadow:0 17px 34px rgba(20,40,34,.12)}
.tso-post-card__thumb{aspect-ratio:16/9;background:#0a3b35;overflow:hidden}
.tso-post-card__thumb img{width:100%;height:100%;display:block;object-fit:cover}
.tso-post-card__body{padding:23px 22px 24px}
.tso-post-card__meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:#81867f;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.tso-post-card h2{margin:9px 0 10px;font:700 27px/1.1 Georgia,serif;color:var(--tso-forest)}
.tso-post-card h2 a{color:inherit;text-decoration:none}
.tso-post-card__excerpt{margin:0 0 15px;color:#5d655f;font-size:13px;line-height:1.7}
.tso-post-card__read{display:inline-flex;align-items:center;gap:7px;color:var(--tso-teal);text-decoration:none;font-size:12px;font-weight:800}
.tso-blog-sidebar{background:#0b3c36;color:#fff;padding:25px 22px;border:1px solid rgba(201,163,74,.45);box-shadow:0 12px 28px rgba(20,40,34,.1);position:sticky;top:30px}
.tso-blog-sidebar h2{margin:0 0 16px;color:#f1d98b;font:700 24px/1.15 Georgia,serif}
.tso-blog-sidebar p{color:rgba(255,255,255,.76);font-size:13px;line-height:1.7}
.tso-blog-sidebar ul{margin:18px 0 0;padding:0;list-style:none}
.tso-blog-sidebar li{border-top:1px solid rgba(201,163,74,.2);padding:10px 0}
.tso-blog-sidebar li a{color:#fff;text-decoration:none;font-size:12px}
.tso-blog-sidebar .tso-cta{width:100%;margin-top:14px;text-align:center}
.tso-pagination{display:flex;justify-content:center;gap:7px;margin-top:45px;flex-wrap:wrap}
.tso-pagination a,.tso-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:1px solid rgba(201,163,74,.45);background:#fffaf0;color:var(--tso-forest);text-decoration:none;font-size:12px}
.tso-pagination .current{background:var(--tso-teal);color:#fff;border-color:var(--tso-teal)}

/* SINGLE */
.tso-single-hero{position:relative;min-height:480px;display:flex;align-items:flex-end;overflow:hidden;background:#062d29;color:#fff}
.tso-single-hero__bg{position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(3,25,22,.18),rgba(3,25,22,.78)),url('../images/tso-celtic-hero-clean.webp');background-size:cover;background-position:center 48%}
.tso-single-hero__content{position:relative;z-index:2;width:min(980px,calc(100% - 40px));margin:0 auto;padding:120px 0 65px}
.tso-single-hero__content .tso-breadcrumbs{margin-bottom:16px}
.tso-breadcrumbs{font-size:11px;color:rgba(255,255,255,.72)}
.tso-breadcrumbs a{color:#f1d98b;text-decoration:none}
.tso-single-hero h1{max-width:930px;margin:0 0 15px;font:700 clamp(42px,6vw,72px)/1.05 Georgia,serif;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.6)}
.tso-single-hero__meta{color:rgba(255,255,255,.82);font-size:13px}
.tso-single-shell{padding:78px 0 90px;background:#f2e8d4}
.tso-single-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:30px;align-items:start}
.tso-single-content{background:#fffaf0;padding:40px 48px;border:1px solid rgba(201,163,74,.35);box-shadow:0 15px 32px rgba(20,40,34,.06)}
.tso-single-content>p:first-of-type{font-size:18px;color:#49534d}
.tso-single-content p,.tso-single-content li{color:#565f58;line-height:1.82;font-size:16px}
.tso-single-content h2{margin:35px 0 14px;font:700 34px/1.12 Georgia,serif;color:var(--tso-forest)}
.tso-single-content h3{margin:28px 0 12px;font:700 26px/1.15 Georgia,serif;color:var(--tso-forest)}
.tso-single-content a{color:var(--tso-teal);font-weight:700}
.tso-single-content blockquote{margin:28px 0;padding:22px 25px;border-left:4px solid var(--tso-gold);background:#f4ead6;color:#46554f;font:italic 18px/1.65 Georgia,serif}
.tso-single-content img{max-width:100%;height:auto}
.tso-single-featured{margin:-40px -48px 35px;aspect-ratio:16/8;overflow:hidden}
.tso-single-featured img{width:100%;height:100%;object-fit:cover}
.tso-single-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:35px;padding-top:22px;border-top:1px solid rgba(201,163,74,.25)}
.tso-single-tags a{display:inline-flex;padding:7px 10px;background:#eef1eb;color:var(--tso-forest);border-radius:2px;text-decoration:none;font-size:11px}
.tso-related{margin-top:42px}
.tso-related h2{margin:0 0 20px;color:var(--tso-forest);font:700 32px/1.1 Georgia,serif}
.tso-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tso-related-card{background:#fffaf0;border:1px solid rgba(201,163,74,.32);overflow:hidden}
.tso-related-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.tso-related-card__body{padding:15px}
.tso-related-card h3{margin:0;font:700 20px/1.18 Georgia,serif;color:var(--tso-forest)}
.tso-related-card h3 a{color:inherit;text-decoration:none}
.tso-article-cta{margin-top:34px;padding:25px;background:linear-gradient(135deg,#0b4b44,#062c29);border:1px solid var(--tso-gold);color:#fff;text-align:center}
.tso-article-cta h2{margin:0 0 7px!important;color:#f1d98b!important;font-size:28px!important}
.tso-article-cta p{margin:0 0 16px;color:rgba(255,255,255,.8)!important;font-size:13px!important}

@media(max-width:980px){
 .tso-blog-layout,.tso-single-layout{grid-template-columns:1fr}
 .tso-blog-sidebar{position:relative;top:auto}
 .tso-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .tso-blog-hero{min-height:390px}.tso-blog-hero__content{padding:80px 0 75px}
 .tso-blog-shell{padding:62px 0 72px}.tso-blog-shell__intro h2{font-size:34px}
 .tso-post-grid{grid-template-columns:1fr}.tso-single-hero{min-height:400px}.tso-single-hero__content{padding:100px 0 45px}.tso-single-hero h1{font-size:43px}
 .tso-single-shell{padding:52px 0 68px}.tso-single-content{padding:28px 22px}.tso-single-featured{margin:-28px -22px 28px}
 .tso-related-grid{grid-template-columns:1fr}
 .tso-tree-table__botanical{width:40px;height:52px}
}


/* V3.6.0 — botanical illustrations fill their prediction image area */
.tso-prediction-card{overflow:hidden;padding:24px 22px 22px;}
.tso-prediction-card__botanical{
  width:calc(100% + 44px);
  height:156px;
  margin:-24px -22px 18px;
  padding:12px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:0;
  background:#eadab9;
  border:0;
  border-bottom:1px solid rgba(201,163,74,.42);
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.5);
  overflow:hidden;
}
.tso-prediction-card__botanical img{
  width:100%;height:100%;display:block;object-fit:contain;object-position:center;
}
.tso-meigas-page .tso-inner-hero__bg{
  background-image:linear-gradient(90deg,rgba(3,25,22,.80) 0%,rgba(3,25,22,.58) 45%,rgba(3,25,22,.16) 100%),url('../images/tso-meigas-hero-v2.webp');
  background-size:cover;background-position:center 52%;
}
.tso-meigas-hero{min-height:650px;}
.tso-meigas-hero__note{font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#f1d98b!important;font-size:12px!important;}
.tso-meigas-intro{position:relative;overflow:hidden;}
.tso-meigas-intro:before,.tso-meigas-intro:after{
  content:'ᛉ';position:absolute;font-size:180px;line-height:1;color:rgba(20,118,111,.045);pointer-events:none;
}
.tso-meigas-intro:before{left:-28px;top:10px}.tso-meigas-intro:after{right:-28px;bottom:-45px;transform:rotate(180deg)}
.tso-meigas-seo{position:relative;overflow:hidden;}
.tso-meigas-seo:before{content:'☾';position:absolute;right:5%;top:10%;font-size:180px;color:rgba(201,163,74,.07);}
.tso-meigas-page .tso-benefits-grid>div{position:relative;overflow:hidden;}
.tso-meigas-page .tso-benefits-grid>div:after{content:'᚛✦᚜';position:absolute;right:10px;bottom:7px;color:rgba(201,163,74,.2);font-size:22px;}
@media(max-width:760px){
  .tso-meigas-hero{min-height:560px;}
  .tso-prediction-card{padding:20px 15px 18px;}
  .tso-prediction-card__botanical{width:calc(100% + 30px);height:138px;margin:-20px -15px 16px;padding:10px 14px;}
}
@media(max-width:480px){
  .tso-meigas-hero{min-height:520px;}
  .tso-prediction-card__botanical{height:150px;}
}


/* V3.7.0 — Blog destacado, contacto y botánica refinada */
.tso-featured-post{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);background:#fffaf0;border:1px solid rgba(201,163,74,.42);box-shadow:0 20px 45px rgba(20,40,34,.10);overflow:hidden;margin:0 0 54px}
.tso-featured-post__image{display:block;min-height:360px;background:#08332e;overflow:hidden}.tso-featured-post__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.tso-featured-post__body{padding:42px 42px 38px;align-self:center}.tso-featured-badge{display:inline-flex;padding:7px 10px;background:#0b4b44;color:#f2d98c;border:1px solid rgba(201,163,74,.65);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tso-featured-post__body .tso-post-card__meta{margin-top:17px}.tso-featured-post__body h2{font:700 38px/1.06 Georgia,serif;color:var(--tso-forest);margin:10px 0 14px}.tso-featured-post__body h2 a{color:inherit;text-decoration:none}.tso-featured-post__body p{color:#59635c;font-size:15px;line-height:1.75;margin:0 0 22px}.tso-blog-section-title{text-align:center;margin:0 auto 28px}.tso-blog-section-title h2{font:700 37px/1.1 Georgia,serif;color:var(--tso-forest);margin:8px 0 0}
.tso-post-card__thumb{display:block;aspect-ratio:16/10}.tso-post-card h2{font-size:25px}.tso-post-card__excerpt{min-height:66px}

/* Tree images: circular in table, larger framed art in 2027 predictions. */
.tso-tree-table td:first-child{display:flex;align-items:center;gap:12px}.tso-tree-table__botanical{width:52px;height:52px;flex:0 0 52px;margin:0;padding:2px;object-fit:cover;border-radius:50%;background:#efe1c3;border:2px solid #c9a34a;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.tso-tree-table td:first-child strong{display:block;text-align:left;white-space:nowrap}
.tso-predictions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tso-prediction-card{position:relative;min-height:0;padding:24px 24px 22px;background:#fffaf0;border:1px solid rgba(201,163,74,.40);box-shadow:0 12px 25px rgba(20,40,34,.07);display:flex;flex-direction:column;align-items:flex-start}
.tso-prediction-card__botanical{width:158px;height:158px;padding:10px;margin:0 auto 16px;align-self:center;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eee0bf;border:2px solid #c9a34a;box-shadow:0 0 0 6px rgba(201,163,74,.13),0 12px 22px rgba(32,43,36,.12);overflow:hidden}
.tso-prediction-card__botanical img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;border-radius:50%}
.tso-prediction-card h3{font:700 28px/1.1 Georgia,serif;color:var(--tso-forest);margin:0 0 5px}.tso-prediction-card>strong{color:var(--tso-teal);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.tso-prediction-card>small{color:#7a7d76;font-size:11px;margin:5px 0 11px}.tso-prediction-card>p{color:#5d655e;font-size:13px;line-height:1.65;margin:0 0 13px;flex:1}.tso-prediction-card>div:last-child{width:100%;padding-top:11px;border-top:1px solid rgba(201,163,74,.25)}
.tso-tree-result__botanical{width:124px;height:124px;margin:0 auto 12px;padding:8px;border-radius:50%;background:#eee0bf;border:2px solid #c9a34a;box-shadow:0 0 0 5px rgba(201,163,74,.12);display:flex;align-items:center;justify-content:center;overflow:hidden}.tso-tree-result__botanical img{width:100%;height:100%;object-fit:contain;border-radius:50%}

/* Contact page */
.tso-contact-page .tso-contact-hero .tso-inner-hero__bg{background-image:linear-gradient(90deg,rgba(3,25,22,.78),rgba(3,25,22,.40)),url('../images/tso-meigas-hero-v2.webp');background-size:cover;background-position:center}
.tso-contact-cards__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.tso-contact-cards article{background:#fffaf0;border:1px solid rgba(201,163,74,.38);padding:26px 18px;text-align:center;box-shadow:0 9px 22px rgba(20,40,34,.06)}.tso-contact-icon{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;border:1px solid #c9a34a;background:#0b4b44;color:#f1d98b;font-size:22px}.tso-contact-cards h2{font:700 23px/1.15 Georgia,serif;color:var(--tso-forest);margin:0 0 7px}.tso-contact-cards p{color:#626a64;font-size:12px;line-height:1.55;min-height:40px}.tso-contact-cards a{display:block;color:var(--tso-teal);font-weight:800;text-decoration:none;margin-top:5px}.tso-contact-cards small{display:block;color:#727a73;margin-top:6px}
.tso-contact-main{padding:84px 0;background:linear-gradient(90deg,#062d29,#0b453e);color:#fff}.tso-contact-main__grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}.tso-contact-form-wrap,.tso-contact-aside{background:#fffaf0;color:#1d2c28;border:1px solid rgba(201,163,74,.58);padding:34px;box-shadow:0 18px 38px rgba(0,0,0,.18)}.tso-contact-form-wrap h2,.tso-contact-aside h2{font:700 34px/1.1 Georgia,serif;color:var(--tso-forest);margin:7px 0 10px}.tso-contact-form-wrap>p,.tso-contact-aside>p{color:#626a64;font-size:13px;line-height:1.7}.tso-contact-form{display:grid;gap:14px;margin-top:20px}.tso-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tso-contact-form label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#4c5851}.tso-contact-form input,.tso-contact-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(95,107,99,.22);background:#fffef8;padding:12px 13px;color:#29423c;font:inherit}.tso-contact-form textarea{resize:vertical;min-height:140px}.tso-consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:start;gap:7px!important;font-weight:600!important}.tso-consent input{width:auto!important;margin-top:2px}.tso-contact-notice{padding:12px 14px;margin:14px 0;font-size:12px;border:1px solid rgba(201,163,74,.4)}.tso-contact-notice--ok{background:#e8f1e8;color:#24523a}.tso-contact-notice--error{background:#f7e7df;color:#7a3220}.tso-contact-aside{background:linear-gradient(160deg,#0b4b44,#062d29);color:#fff}.tso-contact-aside h2{color:#f1d98b}.tso-contact-aside>p{color:rgba(255,255,255,.78)}.tso-contact-phone{display:block;color:#fff;text-decoration:none;font:700 30px/1.1 Georgia,serif;margin:11px 0}.tso-contact-socials{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.tso-contact-socials a{color:#f1d98b;border:1px solid rgba(201,163,74,.55);padding:8px 10px;text-decoration:none;font-size:11px}.tso-contact-story__grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.tso-contact-story h2{font:700 38px/1.1 Georgia,serif;color:var(--tso-forest);margin:8px 0 12px}.tso-contact-story p{color:#5f6761;font-size:15px;line-height:1.75}.tso-contact-story__image{border:1px solid rgba(201,163,74,.55);box-shadow:0 16px 32px rgba(20,40,34,.10);background:#e7d6b2;padding:8px}.tso-contact-story__image img{width:100%;display:block;aspect-ratio:16/10;object-fit:cover}

@media(max-width:980px){
  .tso-featured-post{grid-template-columns:1fr}.tso-featured-post__image{min-height:300px}.tso-contact-cards__grid{grid-template-columns:repeat(2,1fr)}.tso-contact-main__grid{grid-template-columns:1fr}.tso-contact-story__grid{grid-template-columns:1fr}.tso-predictions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .tso-featured-post__body{padding:28px 22px}.tso-featured-post__body h2{font-size:31px}.tso-contact-cards__grid,.tso-form-row,.tso-predictions-grid{grid-template-columns:1fr}.tso-contact-form-wrap,.tso-contact-aside{padding:25px 20px}.tso-contact-phone{font-size:26px}.tso-tree-table td:first-child{gap:9px}.tso-tree-table__botanical{width:44px;height:44px;flex-basis:44px}.tso-prediction-card__botanical{width:140px;height:140px}
}


/* V3.8.0 — nuevos medallones circulares del Horóscopo Celta */
.tso-tree-table th:first-child,
.tso-tree-table td:first-child{text-align:left !important;}
.tso-tree-table td:first-child{display:flex;align-items:center;gap:12px;white-space:nowrap;}
.tso-tree-table__botanical{
  width:58px;height:58px;flex:0 0 58px;margin:0;padding:0;object-fit:contain;object-position:center;
  border-radius:50%;background:transparent;border:0;box-shadow:0 2px 7px rgba(0,0,0,.16);
}
.tso-prediction-card__botanical{
  width:190px;height:190px;flex:0 0 190px;margin:0 auto 16px;padding:0;align-self:center;
  border-radius:50%;background:transparent;border:0;overflow:visible;box-shadow:none;
  display:flex;align-items:center;justify-content:center;
}
.tso-prediction-card__botanical img{
  width:100%;height:100%;display:block;object-fit:contain;object-position:center;border-radius:50%;
  filter:drop-shadow(0 9px 12px rgba(32,43,36,.14));
}
.tso-tree-result__botanical{
  width:150px;height:150px;margin:0 auto 12px;padding:0;
  border-radius:50%;background:transparent;border:0;box-shadow:none;display:flex;align-items:center;justify-content:center;overflow:visible;
}
.tso-tree-result__botanical img{width:100%;height:100%;object-fit:contain;border-radius:50%;filter:drop-shadow(0 8px 12px rgba(32,43,36,.14));}
@media(max-width:760px){
  .tso-tree-table td:first-child{gap:9px;}
  .tso-tree-table__botanical{width:50px;height:50px;flex-basis:50px;}
  .tso-prediction-card__botanical{width:160px;height:160px;flex-basis:160px;}
  .tso-tree-result__botanical{width:132px;height:132px;}
}
@media(max-width:480px){
  .tso-prediction-card__botanical{width:150px;height:150px;flex-basis:150px;}
  .tso-tree-table{min-width:680px;}
}

/* V3.9.0 — nuevo hero Horóscopo Celta y Contacto premium */
.tso-horoscope-hero--art{position:relative;min-height:560px;overflow:hidden;background:#062b27}
.tso-horoscope-hero__art{position:absolute;inset:0;background-image:url('../images/tso-horoscopo-celta-hero-2027.webp');background-size:cover;background-position:center center;transform:scale(1.01)}
.tso-horoscope-hero__art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,26,22,.14),rgba(2,26,22,0) 65%)}
.tso-horoscope-hero__sr-copy{position:relative;z-index:2;height:100%;min-height:560px;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:34px;pointer-events:none}
.tso-horoscope-hero__sr-copy .tso-eyebrow,.tso-horoscope-hero__sr-copy h1,.tso-horoscope-hero__sr-copy p{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.tso-contact-page--premium{background:var(--tso-parchment)}
.tso-contact-hero--premium{position:relative;min-height:530px;display:flex;align-items:center;overflow:hidden;background:#062b27;color:#fff}
.tso-contact-hero__bg{position:absolute;inset:0;background-image:url('../images/tso-santa-olalla-caminos-memoria.webp');background-size:cover;background-position:center center}
.tso-contact-hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,27,23,.82),rgba(3,27,23,.38) 58%,rgba(3,27,23,.12)),linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.25))}
.tso-contact-hero__content{position:relative;z-index:2;padding:105px 0;max-width:760px}
.tso-contact-hero__content h1{font:700 clamp(52px,6vw,78px)/.98 Georgia,serif;margin:13px 0 16px;color:#fff;text-shadow:0 4px 28px rgba(0,0,0,.42)}
.tso-contact-hero__content p{max-width:680px;color:rgba(255,255,255,.9);font-size:18px;line-height:1.72;text-shadow:0 2px 12px rgba(0,0,0,.44);margin:0 0 23px}
.tso-contact-hero__actions{justify-content:flex-start}
.tso-button-outline--light{color:#f8e8ad!important;border-color:rgba(248,232,173,.72)!important;background:rgba(4,43,38,.28)!important}
.tso-section-heading{margin-bottom:28px}
.tso-section-heading--center{text-align:center;max-width:820px;margin-left:auto;margin-right:auto}
.tso-section-heading h2{font:700 39px/1.1 Georgia,serif;color:var(--tso-forest);margin:9px 0 12px}
.tso-section-heading p{color:#616961;font-size:14px;line-height:1.75;margin:0}
.tso-contact-info{padding:78px 0 86px}
.tso-contact-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tso-contact-info-card{position:relative;min-height:245px;padding:28px 22px 24px;background:#fffaf0;border:1px solid rgba(201,163,74,.38);box-shadow:0 14px 30px rgba(20,40,34,.08);text-align:center;overflow:hidden}
.tso-contact-info-card:after{content:'ᛉ';position:absolute;right:-12px;bottom:-30px;font-size:110px;color:rgba(20,118,111,.05);pointer-events:none}
.tso-contact-info-card__icon{width:56px;height:56px;border-radius:50%;margin:0 auto 13px;display:flex;align-items:center;justify-content:center;background:#0b4b44;color:#f2d98c;border:1px solid #c9a34a;font-size:23px;box-shadow:0 5px 15px rgba(0,0,0,.12)}
.tso-contact-info-card__eyebrow{display:block;font-size:9px;letter-spacing:.16em;color:var(--tso-gold);font-weight:800}
.tso-contact-info-card h3{font:700 24px/1.15 Georgia,serif;color:var(--tso-forest);margin:5px 0 9px}
.tso-contact-info-card p{color:#626a64;font-size:12px;line-height:1.6;min-height:56px;margin:0 0 9px}
.tso-contact-info-card a{display:block;color:var(--tso-teal);font-weight:800;text-decoration:none;margin-top:5px}
.tso-contact-info-card strong{display:block;color:var(--tso-forest);margin-top:11px}
.tso-contact-info-card small{display:block;color:#7a817b;font-size:10px;line-height:1.5;margin-top:4px}
.tso-contact-form-section{padding:88px 0;background:radial-gradient(circle at 20% 10%,rgba(201,163,74,.10),transparent 30%),linear-gradient(120deg,#062e29,#0b463f 58%,#062823)}
.tso-contact-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:28px;align-items:stretch}
.tso-contact-form-panel{background:#fffaf0;color:var(--tso-ink);border:1px solid rgba(201,163,74,.60);padding:40px;box-shadow:0 24px 50px rgba(0,0,0,.20)}
.tso-contact-form-panel .tso-section-heading{margin-bottom:20px}
.tso-contact-form{display:grid;gap:15px;margin-top:22px}
.tso-contact-direct{position:relative;overflow:hidden;padding:42px 34px;background:linear-gradient(160deg,#0a4d45,#062a26);color:#fff;border:1px solid rgba(201,163,74,.62);box-shadow:0 24px 50px rgba(0,0,0,.20)}
.tso-contact-direct:before{content:'᚛ ᛉ ᚜';position:absolute;right:-30px;top:24px;color:rgba(201,163,74,.13);font-size:125px}
.tso-contact-direct__ornament{color:#f1d98b;font-size:18px;letter-spacing:.12em;margin-bottom:23px}
.tso-contact-direct h2{font:700 37px/1.08 Georgia,serif;color:#f1d98b;margin:9px 0 13px}
.tso-contact-direct p{color:rgba(255,255,255,.80);font-size:13px;line-height:1.75;margin-bottom:20px}
.tso-contact-direct__phones{display:grid;gap:5px;margin-bottom:20px}
.tso-contact-direct__phones a{font:700 32px/1.05 Georgia,serif;color:#fff;text-decoration:none}
.tso-cta--light{background:#0e5f56!important;border-color:#e8c96f!important;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.tso-contact-direct__divider{height:1px;background:linear-gradient(90deg,transparent,rgba(201,163,74,.65),transparent);margin:30px 0 22px}
.tso-contact-socials--premium a{border-radius:999px;padding:9px 13px;background:rgba(255,255,255,.04)}
.tso-payment-strip{padding:64px 0}
.tso-payment-strip__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:35px;align-items:center}
.tso-payment-strip h2{font:700 34px/1.12 Georgia,serif;color:var(--tso-forest);margin:8px 0 9px}
.tso-payment-strip p{color:#636b65;font-size:14px;line-height:1.7;margin:0}
.tso-payment-badges{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.tso-payment-badges span{display:inline-flex;align-items:center;justify-content:center;min-width:86px;padding:13px 12px;background:#fffaf0;border:1px solid rgba(201,163,74,.42);color:var(--tso-forest);font-weight:800;font-size:12px;box-shadow:0 8px 18px rgba(20,40,34,.06)}
.tso-contact-story{padding:82px 0;background:linear-gradient(120deg,#062e29,#0a443d)}
.tso-contact-story__grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.tso-contact-story__copy .tso-eyebrow{color:#f1d98b}
.tso-contact-story__copy h2{font:700 42px/1.08 Georgia,serif;color:#f1d98b;margin:9px 0 13px}
.tso-contact-story__copy p{color:rgba(255,255,255,.80);font-size:15px;line-height:1.8;margin-bottom:20px}
.tso-contact-story__image{padding:8px;background:#e7d6b2;border:1px solid rgba(201,163,74,.60);box-shadow:0 20px 40px rgba(0,0,0,.18)}
.tso-contact-story__image img{width:100%;display:block;aspect-ratio:16/10;object-fit:cover}
@media(max-width:980px){
  .tso-contact-info-grid{grid-template-columns:repeat(2,1fr)}
  .tso-contact-layout{grid-template-columns:1fr}
  .tso-payment-strip__grid{grid-template-columns:1fr}
  .tso-payment-badges{justify-content:flex-start}
  .tso-contact-story__grid{grid-template-columns:1fr}
  .tso-horoscope-hero--art{min-height:500px}
  .tso-horoscope-hero__sr-copy{min-height:500px}
}
@media(max-width:760px){
  .tso-contact-hero--premium{min-height:500px}
  .tso-contact-hero__content{padding:82px 0}
  .tso-contact-hero__content h1{font-size:50px}
  .tso-contact-hero__content p{font-size:15px}
  .tso-contact-info{padding:62px 0}
  .tso-contact-info-grid{grid-template-columns:1fr 1fr}
  .tso-contact-form-panel,.tso-contact-direct{padding:28px 22px}
  .tso-contact-story{padding:64px 0}
}
@media(max-width:520px){
  .tso-contact-info-grid{grid-template-columns:1fr}
  .tso-contact-info-card{min-height:0}
  .tso-payment-badges span{min-width:74px;font-size:10px}
  .tso-contact-direct__phones a{font-size:27px}
  .tso-horoscope-hero--art{min-height:420px}
  .tso-horoscope-hero__sr-copy{min-height:420px}
}

/* V3.9.1 — refinado de contacto y hero de tarotistas */
.tso-contact-page--premium .tso-contact-hero--premium{min-height:560px;}
.tso-contact-page--premium .tso-contact-hero__content{max-width:780px;}
.tso-contact-page--premium .tso-contact-hero__content .tso-eyebrow{color:#f1d98b;}
.tso-contact-page--premium .tso-contact-hero__content h1{letter-spacing:-.025em;}
.tso-meigas-page .tso-meigas-hero h1{max-width:760px;}
@media(max-width:760px){.tso-contact-page--premium .tso-contact-hero--premium{min-height:500px;}.tso-contact-page--premium .tso-contact-hero__content{padding:80px 0 72px;}}
