/*
Theme Name: Inline Sandía
Theme URI: https://www.inlinechiropractic.net/
Author: Dependent Media
Author URI: https://dependentmedia.com/
Description: "Sandía hour" for Inline Chiropractic (Dr. Tracy Marquez, DC), Bernalillo and Albuquerque, New Mexico. Adobe plaster and vigas, punched and corrugated tin, Talavera tile, red and green chile, hot-air balloons over Albuquerque, the La Luz trail, and a ristra of 24 chiles that you put back in line.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
License: Proprietary
Text Domain: inl-sandia
*/

/* ============================================================== tokens */
:root {
	--ink: #231F20; --ink-soft: #4F4440; --mute: #6A5C55;
	--chile: #6D0C2A; --chile-deep: #4C0A1F; --chile-red: #A3122F; --chile-bright: #C62A45;
	--green: #3D6626; --green-bright: #5C8F34;
	--turq: #0F6E6A; --turq-light: #86D6CB;
	--adobe: #F7EDE0; --adobe-2: #EEDCC5; --adobe-3: #E3C7A5; --adobe-shadow: #B98458; --clay: #A9562F;
	--sandia: #EE93A0; --gold: #EBAE3E; --gold-ink: #8C5A0B;
	--dusk: #251E40; --dusk-2: #3A2A5C; --dusk-3: #6B3F6E;
	--tin: #DCD8D0; --tin-dark: #8F8A80; --wood: #7A4E2B; --wood-dark: #5A361C;
	--cobalt: #1D4F91;
	--display: "Caprasimo", "Cooper Black", Georgia, serif;
	--body: "Atkinson Hyperlegible Next", "Helvetica Neue", system-ui, sans-serif;
	--hand: "Kalam", "Bradley Hand", cursive;
	--ease: cubic-bezier(.2, .8, .2, 1);
	--spring: cubic-bezier(.34, 1.56, .64, 1);
	--radius: 14px;
	/* hand-troweled adobe plaster: fine grain + broad trowel blotches */
	--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .3 0 0 0 0 .18 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	--trowel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='700'%3E%3Cfilter id='t'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.006 .012' numOctaves='4' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .62 0 0 0 0 .42 0 0 0 0 .26 0 0 0 .22 -.06'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23t)'/%3E%3C/svg%3E");
	/* Talavera tile: cobalt and yolk-yellow flower on cream, 64px repeat */
	--talavera: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' fill='%23FBF5EA'/%3E%3Cpath d='M0 0h64v64H0z' fill='none' stroke='%231D4F91' stroke-width='2.5'/%3E%3Cpath d='M0 0a14 14 0 0 1 14 14A14 14 0 0 1 0 14zM64 0a14 14 0 0 0-14 14 14 14 0 0 0 14 0zM0 64a14 14 0 0 0 14-14A14 14 0 0 0 0 50zM64 64a14 14 0 0 1-14-14 14 14 0 0 1 14 0z' fill='%231D4F91'/%3E%3Cg transform='translate(32 32)'%3E%3Cpath d='M0-16C6-10 6-4 0 0-6-4-6-10 0-16zM0 16C6 10 6 4 0 0-6 4-6 10 0 16zM-16 0C-10 6-4 6 0 0-4-6-10-6-16 0zM16 0C10 6 4 6 0 0 4-6 10-6 16 0z' fill='%23E8A93A' stroke='%231D4F91' stroke-width='1.6'/%3E%3Ccircle r='3.4' fill='%23B23A2E'/%3E%3C/g%3E%3C/svg%3E");
	/* corrugated tin, like the Bernalillo front desk */
	--corrugated: repeating-linear-gradient(90deg, #B9B3A9 0, #EDEAE4 5px, #FFFFFF 7px, #CFCAC1 10px, #9E988D 13px);
}

/* ============================================================== base */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html.inl-still { scroll-behavior: auto; }
body { background: var(--trowel), var(--grain), var(--adobe); background-size: 700px, 220px, auto; color: var(--ink); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
::selection { background: var(--sandia); color: var(--ink); }
a { color: var(--chile); text-underline-offset: .18em; text-decoration-thickness: .08em; }
a:hover { color: var(--chile-red); }
:focus-visible { outline: 3px solid var(--turq); outline-offset: 3px; border-radius: 4px; }
[hidden] { display: none !important; }
img { max-width: 100%; height: auto; }
.inl-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.inl-skip { position: absolute; left: 1rem; top: -4rem; z-index: 1000; background: var(--ink); color: #fff; padding: .7rem 1rem; border-radius: 8px; text-decoration: none; font-weight: 700; }
.inl-skip:focus { top: 1rem; color: #fff; }
.inl-main { margin: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.inl-main > .wp-block-post-content { margin-top: 0 !important; }
.wp-site-blocks > * + * { margin-block-start: 0 !important; }
.inl-main .wp-block-post-content > * { margin-block-start: 0 !important; }
/* decorative layers that are direct children of a constrained group must not get its content max-width */
.inl-hero__photo, .inl-hero__sky, .inl-ph__sky, .inl-cta__balloons, .inl-foot__sky, .inl-foot__parapet { max-width: none !important; margin: 0 !important; }
p { margin-block: 0 0; }
* + p, * + ul, * + ol { margin-block-start: 1rem; }
h1, h2, h3, h4 { text-wrap: balance; letter-spacing: -.005em; }
p, li { text-wrap: pretty; }
.inl-center { text-align: center; }
.inl-center-btns { justify-content: center; }
.inl-fine { font-size: .95rem; color: var(--mute); }
.inl-lead { font-size: clamp(1.18rem, 1.08rem + .35vw, 1.36rem); line-height: 1.55; color: var(--ink-soft); }
.inl-hand { font-family: var(--hand); font-weight: 700; color: var(--chile); font-size: 1.6rem; line-height: 1.1; }

/* tin plaque label (instead of a pill eyebrow): punched-dot border on a pressed tin plate */
.inl-plaque { display: inline-block; position: relative; margin: 0 0 1rem !important; padding: .42rem 1rem .4rem; font-family: var(--body); font-weight: 800; font-size: .8rem; letter-spacing: .13em; text-transform: uppercase; color: var(--ink);
	background: linear-gradient(135deg, #F4F2EE 0%, #D5D0C7 38%, #F7F5F1 52%, #C3BDB2 100%); border-radius: 6px;
	box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 -1px 0 rgba(0, 0, 0, .15) inset, 0 3px 8px -3px rgba(60, 40, 20, .45); outline: 2px dotted rgba(70, 60, 50, .45); outline-offset: -6px; }
.inl-plaque::before, .inl-plaque::after { content: ""; position: absolute; top: 50%; width: 5px; height: 5px; margin-top: -2.5px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff, #8a857c 70%); }
.inl-plaque::before { left: 4px; } .inl-plaque::after { right: 4px; }
.inl-plaque--sky { color: var(--ink); }
.inl-center .inl-plaque, .inl-section__head.inl-center .inl-plaque { margin-inline: auto !important; }

/* ============================================================== buttons */
.wp-element-button, .wp-block-button__link, .inl-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .95rem 1.5rem; border-radius: 12px 12px 12px 12px / 14px 14px 10px 10px;
	background: var(--chile); color: #fff !important; font-family: var(--body); font-weight: 800; font-size: 1.05rem; line-height: 1.1; text-decoration: none; border: 0; cursor: pointer;
	box-shadow: 0 1px 0 rgba(255, 255, 255, .25) inset, 0 -3px 0 rgba(0, 0, 0, .25) inset, 0 8px 18px -10px rgba(76, 10, 31, .9);
	transition: transform .25s var(--spring), box-shadow .25s, background .2s; }
.wp-block-button__link:hover, .inl-btn:hover { background: var(--chile-red); transform: translateY(-2px); color: #fff !important; }
.wp-block-button__link:active, .inl-btn:active { transform: translateY(1px); }
.is-style-ghost .wp-block-button__link, .inl-btn--ghost { background: transparent; color: var(--chile) !important; box-shadow: inset 0 0 0 2.5px var(--chile); }
.is-style-ghost .wp-block-button__link:hover, .inl-btn--ghost:hover { background: var(--chile); color: #fff !important; }
.is-style-turquoise .wp-block-button__link { background: var(--turq); }
.inl-btn--small { padding: .68rem 1.05rem; font-size: .95rem; }
.inl-btn--light { background: var(--adobe); color: var(--chile) !important; }
.inl-btn--light:hover { background: #fff; color: var(--chile) !important; }
.wp-block-buttons { gap: .75rem; margin-top: 1.5rem; }
.inl-more { font-weight: 800; text-decoration: none; display: inline-flex; align-items: center; gap: .4rem; }
.inl-more::after { content: "→"; transition: transform .25s var(--spring); }
.inl-more:hover::after { transform: translateX(4px); }

/* ============================================================== header */
.inl-head { position: sticky; top: calc(-1 * var(--strip-h, 40px)); z-index: 50; }
.inl-strip { background: var(--dusk); color: #F3E6DA; font-size: .92rem; padding-block: .5rem; }
.inl-strip__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; max-width: var(--wp--style--global--wide-size); margin-inline: auto; }
.inl-status { display: inline-flex; align-items: center; gap: .55rem; font-weight: 700; }
.inl-status__dot { width: 10px; height: 10px; border-radius: 50%; background: #9A8FB0; box-shadow: 0 0 0 3px rgba(154, 143, 176, .25); flex: none; }
.inl-status.is-open .inl-status__dot { background: #7BE07B; box-shadow: 0 0 0 3px rgba(123, 224, 123, .25); animation: inl-pulse 2s ease-in-out infinite; }
.inl-strip__links { display: inline-flex; gap: 1.1rem; align-items: center; }
.inl-strip a { color: #F3E6DA; text-decoration: none; display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; }
.inl-strip a:hover { color: #fff; text-decoration: underline; }
.inl-strip__tel { font-weight: 800 !important; color: var(--gold) !important; }
.inl-chip { display: inline-block; width: 10px; height: 18px; border-radius: 50% 50% 50% 50% / 40% 40% 60% 60%; transform: rotate(18deg); flex: none; }
.inl-chip--red { background: linear-gradient(160deg, #D63B52, #8E0F28); }
.inl-chip--green { background: linear-gradient(160deg, #7BB24B, #2F5A1A); }

.inl-bar { background: var(--grain), rgba(247, 237, 224, .97); background-size: 220px, auto; box-shadow: 0 1px 0 rgba(109, 12, 42, .25), 0 10px 24px -18px rgba(60, 30, 20, .7); padding-block: .55rem; } /* no backdrop-filter here: it would trap the fixed phone-menu overlay inside the bar */
.inl-bar__row { gap: 1rem; align-items: center; }
.inl-logo { display: block; flex: none; line-height: 0; }
.inl-logo img { width: 158px; height: auto; display: block; }
.inl-bar__ctl { display: flex; align-items: center; gap: .7rem; flex: none; }
.inl-call { display: inline-flex; align-items: center; gap: .45rem; color: var(--ink); text-decoration: none; font-weight: 800; white-space: nowrap; }
.inl-call svg { width: 18px; height: 18px; fill: var(--chile); }
.inl-call:hover { color: var(--chile); }
.inl-book { padding: .72rem 1.1rem; font-size: .98rem; }

.inl-nav { font-weight: 700; font-size: 1.02rem; }
.inl-nav .wp-block-navigation__container { gap: .15rem !important; }
.inl-nav .wp-block-navigation-item__content { color: var(--ink); text-decoration: none; padding: .55rem .7rem !important; border-radius: 8px; position: relative; transition: color .2s, background .2s; }
.inl-nav .wp-block-navigation-item__content:hover { color: var(--chile); background: rgba(109, 12, 42, .06); }
.inl-nav .current-menu-item > .wp-block-navigation-item__content, .inl-nav .current-menu-ancestor > .wp-block-navigation-item__content { color: var(--chile); }
.inl-nav .current-menu-item > .wp-block-navigation-item__content::after, .inl-nav .current-menu-ancestor > .wp-block-navigation-item__content::after { content: ""; position: absolute; left: .7rem; right: .7rem; bottom: .2rem; height: 3px; border-radius: 3px; background: var(--chile); }
.inl-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none; }
.inl-nav .inl-nav-cta { display: none; }
@media (min-width: 1100px) {
	.inl-nav .has-child { position: relative; }
	.inl-nav .has-child > .wp-block-navigation__submenu-container {
		left: 0 !important; top: 100% !important; min-width: 17rem !important; width: max-content !important; padding: .5rem !important; margin-top: .55rem;
		background: var(--grain), #FBF5EC !important; background-size: 220px, auto !important; border: 0 !important; border-radius: 12px; color: var(--ink) !important;
		box-shadow: 0 0 0 1px rgba(109, 12, 42, .18), 0 24px 40px -18px rgba(60, 25, 15, .55); }
	.inl-nav .has-child > .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -1rem; height: 1rem; } /* hover bridge */
	/* the first item's text sits right under the parent's text */
	.inl-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem .7rem .55rem .2rem !important; margin-left: .5rem; display: flex !important; flex-direction: column; align-items: flex-start; gap: .05rem; }
	.inl-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__label { font-weight: 800; font-size: 1rem; white-space: nowrap; }
	.inl-nav .wp-block-navigation-item__description { display: block; font-size: .86rem; color: var(--mute); margin: 0; white-space: nowrap; font-weight: 500; }
	.inl-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: rgba(109, 12, 42, .07); }
	.inl-nav .wp-block-navigation__submenu-icon { margin-left: .2rem; }
}
@media (max-width: 1360px) { .inl-call__num { display: none; } }
@media (max-width: 1099px) {
	.inl-nav { margin-left: auto; }
	.inl-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: grid !important; }
	.inl-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.inl-nav .wp-block-navigation__responsive-container-open { color: var(--ink); width: 46px; height: 46px; border-radius: 10px; place-items: center; box-shadow: inset 0 0 0 2px rgba(35, 31, 32, .3); }
	.inl-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--trowel), var(--grain), var(--adobe) !important; background-size: 700px, 220px, auto !important; color: var(--ink) !important; padding: 1.2rem clamp(1rem, 6vw, 2.5rem) 2rem !important; }
	.inl-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; padding-top: 3.2rem !important; }
	.inl-nav .is-menu-open .wp-block-navigation__container { gap: .1rem !important; align-items: flex-start !important; width: 100%; }
	.inl-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { width: 100%; align-items: flex-start !important; }
	.inl-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-family: var(--display); font-size: 1.65rem; font-weight: 400; color: var(--chile) !important; padding: .3rem 0 !important; }
	.inl-nav .is-menu-open .wp-block-navigation-item__content::after { display: none; }
	.inl-nav .is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 .6rem 1rem !important; margin: 0 !important; border: 0 !important; border-left: 3px solid var(--adobe-3) !important; align-items: flex-start !important; width: 100%; }
	.inl-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
	.inl-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.08rem; font-weight: 700; color: var(--ink-soft) !important; padding: .3rem 0 !important; }
	.inl-nav .is-menu-open .wp-block-navigation-item__description { display: none; }
	.inl-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
	.inl-nav .is-menu-open .inl-nav-cta { display: block; margin-top: 1rem; }
	.inl-nav .is-menu-open .inl-nav-cta > .wp-block-navigation-item__content { font-family: var(--body) !important; font-size: 1.1rem !important; font-weight: 800 !important; padding: .95rem 1.4rem !important; border-radius: 12px; background: var(--chile) !important; color: #fff !important; }
	.inl-nav .wp-block-navigation__responsive-container-close { color: var(--ink); top: 1.1rem; right: 1.1rem; }
	.inl-book { display: none; }
}
@media (max-width: 600px) {
	.inl-strip__links { display: none; }
	.inl-strip { font-size: .85rem; }
	.inl-logo img { width: 128px; }
}

/* ============================================================== sections */
.inl-section { padding-block: var(--wp--preset--spacing--60); position: relative; }
.inl-section__head { margin-bottom: clamp(1.6rem, 3vw, 2.6rem) !important; max-width: 52rem; }
.inl-section__head.inl-center { margin-inline: auto !important; text-align: center; }
.inl-section__head .inl-lead { margin-top: 1rem; }
.inl-section__head h2 { margin: 0; }
.inl-section--plaster { background: var(--trowel), var(--grain), var(--adobe-2); background-size: 700px, 220px, auto; }
/* a hand-plastered wavy edge between bands */
.inl-section--plaster::before, .inl-section--plaster::after { content: ""; position: absolute; left: 0; right: 0; height: 18px; background: inherit; background-size: inherit;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 18' preserveAspectRatio='none'%3E%3Cpath d='M0 18V9c30-6 52 4 84 2s50-9 82-6 58 9 92 6 56-10 88-7 38 6 54 3v11z'/%3E%3C/svg%3E") 0 0 / 400px 18px repeat-x;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 18' preserveAspectRatio='none'%3E%3Cpath d='M0 18V9c30-6 52 4 84 2s50-9 82-6 58 9 92 6 56-10 88-7 38 6 54 3v11z'/%3E%3C/svg%3E") 0 0 / 400px 18px repeat-x; pointer-events: none; }
.inl-section--plaster::before { top: -17px; }
.inl-section--plaster::after { bottom: -17px; transform: scaleY(-1); }
.inl-section--plaster + .inl-section--plaster::before { display: none; }
.inl-section--dusk { background: radial-gradient(120% 90% at 85% 110%, rgba(238, 147, 160, .35), transparent 60%), linear-gradient(180deg, var(--dusk), var(--dusk-2)); color: #F6EADF; }
.inl-section--dusk h2, .inl-section--dusk h3 { color: #FFF4EA; }
.inl-section--dusk .inl-lead, .inl-section--dusk p { color: #EBDCD4; }
.inl-section--dusk .inl-plaque { color: var(--ink); }
.inl-section--tin { background: linear-gradient(180deg, rgba(255, 255, 255, .5), rgba(255, 255, 255, 0)), var(--grain), #E9E4DB; background-size: auto, 220px, auto; }
.inl-section--prose .wp-block-group, .inl-section--prose { max-width: none; }
.inl-section--prose h2 { font-size: clamp(1.4rem, 1.2rem + .8vw, 1.9rem); margin-top: 2.4rem; }
.inl-section--prose h2:first-child { margin-top: 0; }
.wp-block-columns { gap: clamp(1.5rem, 4vw, 4rem) !important; align-items: center !important; }
.wp-block-column > *:first-child { margin-top: 0; }
.inl-col-text h2 { margin-top: 0; }

/* ============================================================== nicho: an arched niche in the plaster wall */
.inl-nicho { margin: 0; }
.inl-nicho__frame { display: block; position: relative; padding: 12px; border-radius: 999px 999px 18px 18px; background: var(--grain), linear-gradient(180deg, #FBF4EA, #EFDCC4); background-size: 220px, auto;
	box-shadow: inset 0 10px 18px -8px rgba(110, 60, 30, .45), inset 0 -2px 0 rgba(255, 255, 255, .7), 0 1px 0 rgba(255, 255, 255, .8), 0 18px 34px -22px rgba(80, 40, 20, .75); }
.inl-nicho__img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 999px 999px 10px 10px; }
.inl-nicho--wide .inl-nicho__frame { border-radius: 260px 260px 18px 18px; }
.inl-nicho--wide .inl-nicho__img { aspect-ratio: 4 / 3; border-radius: 250px 250px 10px 10px; }
.inl-nicho--card .inl-nicho__frame { border-radius: 200px 200px 14px 14px; padding: 8px; }
.inl-nicho--card .inl-nicho__img { aspect-ratio: 3 / 2; border-radius: 190px 190px 9px 9px; }
.inl-nicho--tall .inl-nicho__img { aspect-ratio: 3 / 4; }
.inl-nicho figcaption { font-family: var(--hand); font-weight: 700; color: var(--ink-soft); font-size: 1.12rem; text-align: center; margin-top: .55rem; line-height: 1.25; }
.inl-section--dusk .inl-nicho figcaption { color: #F1DCD3; }
.inl-wall { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: end; }
.inl-wall__a { grid-row: span 2; }
.inl-wall__c { align-self: start; }
.inl-wall--two { grid-template-columns: 1.1fr .9fr; align-items: center; }
.inl-wall--two .inl-wall__a { grid-row: auto; }
.inl-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.2rem; }
.inl-gallery--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.inl-gallery .inl-nicho__img { aspect-ratio: 1; }
.inl-gallery .inl-nicho:nth-child(even) { transform: translateY(1.4rem); }

/* ============================================================== home hero */
.inl-hero { position: relative; overflow: hidden; min-height: clamp(640px, 94vh, 920px); display: flex; align-items: flex-end; padding-bottom: clamp(4.6rem, 6vw, 5.5rem) !important; padding-top: 6rem !important; background: var(--dusk); isolation: isolate; }
.inl-hero__photo { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.inl-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; transform-origin: 60% 40%; animation: inl-push 26s ease-in-out infinite alternate; }
.inl-hero__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(37, 30, 64, .25), transparent 30%, transparent 60%, rgba(37, 30, 64, .35)); }
.inl-hero__sky { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; overflow: visible; }
.inl-bal { pointer-events: auto; cursor: pointer; }
.inl-bal__sway { transform-box: fill-box; transform-origin: 50% 0; animation: inl-sway 6s ease-in-out infinite alternate; }
.inl-bal:nth-child(2n) .inl-bal__sway { animation-duration: 7.5s; animation-delay: -2s; }
.inl-bal:nth-child(3n) .inl-bal__sway { animation-duration: 5.2s; animation-delay: -4s; }
.inl-bal__flame { opacity: 0; transform-box: fill-box; transform-origin: 50% 100%; transition: opacity .15s; }
.inl-bal.is-firing .inl-bal__flame { opacity: 1; animation: inl-flame .18s ease-in-out infinite alternate; }
.inl-bal.is-firing .inl-bal__body { filter: drop-shadow(0 0 6px rgba(235, 174, 62, .9)); }
.inl-hero__row { position: relative; width: 100%; display: grid !important; grid-template-columns: minmax(0, 43rem) minmax(0, 1fr); gap: 2rem; align-items: end; }
.inl-hero__panel { position: relative; padding: clamp(1.4rem, 3vw, 2.4rem) !important; background: var(--trowel), var(--grain), var(--adobe); background-size: 700px, 220px, auto; border-radius: 0 0 22px 22px;
	box-shadow: 0 30px 60px -30px rgba(20, 10, 30, .85), inset 0 -4px 0 rgba(185, 132, 88, .35); margin-top: 46px; }
/* stepped Pueblo Revival parapet on top of the panel */
.inl-hero__panel::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 46px; background: inherit; background-size: inherit;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 46' preserveAspectRatio='none'%3E%3Cpath d='M0 46V26q0-4 4-4h96q6 0 6-6V10q0-6 6-6h120q6 0 6 6v6q0 6 6 6h170q6 0 6-6V4q0-4 4-4h104q4 0 4 4v12q0 6 6 6h98q4 0 4 4v20z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 46' preserveAspectRatio='none'%3E%3Cpath d='M0 46V26q0-4 4-4h96q6 0 6-6V10q0-6 6-6h120q6 0 6 6v6q0 6 6 6h170q6 0 6-6V4q0-4 4-4h104q4 0 4 4v12q0 6 6 6h98q4 0 4 4v20z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat; }
.inl-vigas { position: absolute; right: -26px; top: 18px; display: flex; flex-direction: column; gap: 22px; pointer-events: none; }
.inl-vigas i { display: block; width: 34px; height: 30px; border-radius: 0 50% 50% 0 / 0 50% 50% 0; background: radial-gradient(circle at 70% 50%, #C99566 0 4px, #8B5A32 5px 7px, #B07C4E 8px 10px, #7A4E2B 11px); box-shadow: -6px 10px 10px -6px rgba(60, 30, 10, .55); }
.inl-hero__title { font-size: clamp(2.1rem, 1.4rem + 2.5vw, 3.7rem) !important; color: var(--ink) !important; margin: 0 !important; }
.inl-hero__title span { display: block; color: var(--chile); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 12' preserveAspectRatio='none'%3E%3Cpath d='M2 8c40-6 70-6 110-2s80 4 120-1 50-3 66-1' fill='none' stroke='%23EBAE3E' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") 0 100% / 100% .32em no-repeat; padding-bottom: .12em; }
.inl-hero__lead { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); color: var(--ink-soft); margin-top: 1rem !important; max-width: 34rem; }
.inl-hero__btns { margin-top: 1.4rem !important; }
.inl-open { display: flex; align-items: center; gap: .6rem; margin-top: 1.2rem !important; font-weight: 700; color: var(--ink-soft); font-size: 1rem; }
.inl-open__dot { width: 12px; height: 12px; border-radius: 50%; background: var(--tin-dark); flex: none; }
.inl-open.is-open .inl-open__dot { background: #2E9A3C; box-shadow: 0 0 0 4px rgba(46, 154, 60, .2); animation: inl-pulse 2s ease-in-out infinite; }
.inl-open.is-open { color: var(--green); }
.inl-hero__ctl { justify-self: end; display: flex; flex-direction: column; align-items: flex-end; gap: .6rem; text-align: right; }
.inl-lineup { display: inline-flex; align-items: center; gap: .55rem; font: 800 1rem var(--body); padding: .75rem 1.2rem; border-radius: 999px; border: 0; cursor: pointer; color: var(--ink);
	background: linear-gradient(135deg, #F7F5F1, #D8D3CA 45%, #FBFAF7 55%, #C9C3B8); box-shadow: 0 10px 24px -12px rgba(0, 0, 0, .8), inset 0 1px 0 #fff; outline: 2px dotted rgba(70, 60, 50, .4); outline-offset: -5px; transition: transform .25s var(--spring); }
.inl-lineup:hover { transform: translateY(-2px) rotate(-1deg); }
.inl-lineup svg { width: 20px; height: 20px; fill: none; stroke: var(--chile); stroke-width: 2.4; stroke-linecap: round; }
.inl-lineup[aria-pressed="true"] { background: var(--chile); color: #fff; outline-color: rgba(255, 255, 255, .5); }
.inl-lineup[aria-pressed="true"] svg { stroke: #fff; }
.inl-hero__quip, .inl-hero__credit { margin: 0 !important; padding: .4rem .8rem; border-radius: 10px; background: rgba(37, 30, 64, .78); color: #F7EDE0; font-size: .92rem; }
.inl-hero__quip { font-family: var(--hand); font-size: 1.15rem; animation: inl-pop .5s var(--spring); }
.inl-hero__quip a { color: var(--gold); }
.inl-hero__credit { font-size: .82rem; }

/* ============================================================== inner page head: Sandía hour */
.inl-ph { position: relative; overflow: hidden; isolation: isolate; color: #FFF4EA; padding-top: clamp(2.6rem, 6vw, 5rem) !important; padding-bottom: clamp(5rem, 11vw, 9rem) !important;
	background: linear-gradient(180deg, #1E1836 0%, var(--dusk) 22%, #3A2A5C 52%, #6B3F6E 74%, #C9707F 90%, #EE93A0 100%); }
.inl-ph__sky { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.inl-ph__glow { position: absolute; left: -10%; right: -10%; bottom: 0; height: 60%; background: radial-gradient(60% 70% at var(--gx, 30%) 100%, rgba(255, 190, 150, .65), transparent 70%); animation: inl-glow 14s ease-in-out infinite alternate; }
.inl-ph__star { position: absolute; left: var(--x); top: var(--y); width: 3px; height: 3px; border-radius: 50%; background: #fff; box-shadow: 0 0 6px 1px rgba(255, 255, 255, .8); animation: inl-twinkle 3s ease-in-out infinite; }
.inl-ph__star:nth-child(3) { animation-delay: -1s; } .inl-ph__star:nth-child(4) { animation-delay: -2s; } .inl-ph__star:nth-child(5) { animation-delay: -.5s; }
.inl-ph__bal { position: absolute; width: 40px; height: 56px; left: 0; top: 4%; opacity: .9; animation: inl-drift 46s linear infinite; }
.inl-ph__ridge { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: clamp(90px, 14vw, 190px); }
.inl-ph__ridge-far { fill: #5E2F55; }
.inl-ph__ridge-near { fill: var(--adobe); }
.inl-ph__row { position: relative; display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 2rem; align-items: center; }
.inl-ph__row.has-photo { grid-template-columns: minmax(0, 1fr) minmax(220px, 330px); }
.inl-ph__copy { max-width: 46rem; }
.inl-crumbs { font-size: .92rem; color: #E9D8E6; margin-bottom: 1rem; }
.inl-crumbs a { color: #F7E6EF; text-decoration: none; font-weight: 700; }
.inl-crumbs a:hover { text-decoration: underline; color: #fff; }
.inl-ph__title { color: #FFF4EA !important; margin: 0 !important; font-size: clamp(2.3rem, 1.5rem + 3.3vw, 4.2rem) !important; text-shadow: 0 2px 20px rgba(20, 10, 40, .45); }
.inl-ph__lead { margin-top: 1rem !important; font-size: clamp(1.12rem, 1rem + .4vw, 1.32rem); color: #F5E5E9; max-width: 40rem; }
.inl-ph__lead a { color: #FFE2A8; font-weight: 800; }
.inl-ph__photo { transform: translateY(18%) rotate(1.5deg); }
.inl-ph__photo .inl-nicho__frame { box-shadow: inset 0 10px 18px -8px rgba(110, 60, 30, .45), 0 30px 50px -24px rgba(10, 5, 25, .9); }

/* ============================================================== red or green: the week */
.inl-week { margin-top: .4rem; container: inlweek / inline-size; }
.inl-rog { display: inline-flex; flex-wrap: wrap; gap: .5rem; padding: .4rem; border-radius: 16px; background: rgba(255, 255, 255, .55); box-shadow: inset 0 0 0 1px rgba(109, 12, 42, .14); margin-bottom: 1rem; }
.inl-rog__btn { display: flex; flex-direction: column; align-items: flex-start; gap: .1rem; padding: .55rem 1rem .6rem; border-radius: 12px; border: 0; cursor: pointer; font: inherit; color: var(--ink); background: transparent; text-align: left; transition: background .2s, color .2s, transform .25s var(--spring); }
.inl-rog__btn:hover { background: rgba(255, 255, 255, .8); transform: translateY(-1px); }
.inl-rog__label { font-family: var(--display); font-size: 1.25rem; line-height: 1; }
.inl-rog__sub { font-size: .85rem; font-weight: 700; color: var(--ink-soft); }
.inl-rog__btn[aria-pressed="true"] { color: #fff; }
.inl-rog__btn[aria-pressed="true"] .inl-rog__sub { color: rgba(255, 255, 255, .92); }
.inl-rog__btn--red[aria-pressed="true"] { background: linear-gradient(160deg, #B5173A, #7A0C27); }
.inl-rog__btn--green[aria-pressed="true"] { background: linear-gradient(160deg, #4E8030, #2C5419); }
.inl-rog__btn--both[aria-pressed="true"] { background: linear-gradient(110deg, #9A1232 0 50%, #3D6626 50% 100%); }
.inl-days { list-style: none; margin: 0 !important; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .6rem; }
.inl-day { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: .2rem; padding: 1rem .4rem .9rem; border-radius: 14px; background: #FFFBF5; box-shadow: 0 1px 0 #fff inset, 0 10px 20px -16px rgba(80, 40, 20, .8), 0 0 0 1px rgba(80, 40, 20, .1); transition: transform .35s var(--spring), background .3s, box-shadow .3s; }
.inl-day::before { content: ""; position: absolute; left: 10px; right: 10px; top: 0; height: 5px; border-radius: 0 0 5px 5px; background: var(--tin); }
.inl-day--red::before { background: var(--chile-red); }
.inl-day--green::before { background: var(--green); }
.inl-day__name { font-weight: 800; font-size: 1rem; letter-spacing: .04em; text-transform: uppercase; }
.inl-day__name abbr { text-decoration: none; }
.inl-day__chile { width: 30px; height: 46px; transition: transform .5s var(--spring), opacity .3s, filter .3s; transform: rotate(-10deg); }
.inl-day:hover .inl-day__chile { transform: rotate(14deg) scale(1.08); }
.inl-day__where { font-weight: 800; font-size: .92rem; }
.inl-day--red .inl-day__where { color: var(--chile-red); }
.inl-day--green .inl-day__where { color: var(--green); }
.inl-day__hours { font-size: .95rem; color: var(--ink-soft); font-variant-numeric: tabular-nums; }
.inl-day__rest { font-size: 1.6rem; line-height: 46px; color: var(--adobe-shadow); }
.inl-day--closed { background: rgba(255, 251, 245, .5); }
.inl-day.is-off { background: rgba(255, 251, 245, .45); box-shadow: 0 0 0 1px rgba(80, 40, 20, .08); }
.inl-day.is-off .inl-day__chile { opacity: .18; filter: grayscale(1); transform: rotate(-10deg) scale(.85); }
.inl-day.is-off .inl-day__where, .inl-day.is-off .inl-day__hours { color: var(--mute); }
.inl-day.is-off::before { background: var(--tin); }
.inl-day.is-on { transform: translateY(-4px); }
.inl-day.is-today { box-shadow: 0 0 0 3px var(--gold), 0 14px 26px -16px rgba(80, 40, 20, .9); }
.inl-day.is-today::after { content: "Today"; position: absolute; top: -.75rem; left: 50%; transform: translateX(-50%); background: var(--gold); color: var(--ink); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: .15rem .5rem; border-radius: 6px; }
.inl-day__now { font-size: .78rem; font-weight: 800; color: #fff; background: #2E7D32; padding: .12rem .5rem; border-radius: 999px; margin-top: .2rem; animation: inl-pulse 2s ease-in-out infinite; }
.inl-week__foot { margin-top: .9rem !important; font-size: .95rem; color: var(--mute); }
.inl-week__foot strong { color: var(--ink); }

/* ============================================================== offices + corridor map + address */
.inl-locate { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(220px, 300px); gap: 1.2rem; margin-top: 2rem; align-items: stretch; }
.inl-offices { display: contents; }
.inl-office { display: flex; flex-direction: column; border-radius: 18px; overflow: hidden; background: #FFFBF5; box-shadow: 0 0 0 1px rgba(80, 40, 20, .1), 0 22px 40px -28px rgba(80, 40, 20, .9); }
.inl-office__photo { aspect-ratio: 16 / 9; overflow: hidden; position: relative; }
.inl-office__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s var(--ease); }
.inl-office:hover .inl-office__img { transform: scale(1.05); }
.inl-office__photo::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: var(--chile-red); }
.inl-office--green .inl-office__photo::after { background: var(--green); }
.inl-office__body { padding: 1.2rem 1.3rem 1.4rem; display: flex; flex-direction: column; gap: .2rem; flex: 1; }
.inl-office__name { margin: 0 !important; display: flex; align-items: center; gap: .55rem; font-size: 1.5rem !important; }
.inl-office__addr { margin-top: .5rem !important; font-weight: 600; }
.inl-office__hours { display: grid; grid-template-columns: auto 1fr; gap: .2rem 1rem; margin: .7rem 0 0; font-size: .98rem; }
.inl-office__hours dt { font-weight: 800; } .inl-office__hours dd { margin: 0; font-variant-numeric: tabular-nums; }
.inl-office__btns { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: auto !important; padding-top: 1rem; }
.inl-office__more { font-weight: 800; font-size: .95rem; margin-left: .3rem; }
.inl-corridor { margin: 0; border-radius: 18px; overflow: hidden; box-shadow: 0 0 0 1px rgba(80, 40, 20, .12), 0 22px 40px -28px rgba(80, 40, 20, .9); background: #F3E3CC; }
.inl-corridor svg { display: block; width: 100%; height: 100%; }
.inl-corridor__lbl { font: 700 13px var(--body); fill: #6A4B3A; }
.inl-corridor__lbl--v { writing-mode: vertical-rl; letter-spacing: .1em; text-transform: uppercase; font-size: 11px; fill: #7A3E4E; }
.inl-corridor__name { font: 400 22px var(--display); fill: var(--ink); }
.inl-corridor__route { animation: inl-march 1.6s linear infinite; }
.inl-corridor__pin circle:first-child { filter: drop-shadow(0 3px 3px rgba(0, 0, 0, .35)); }
.inl-addr { padding: 1.5rem; border-radius: 18px; background: #FFFBF5; box-shadow: 0 0 0 1px rgba(80, 40, 20, .1), 0 22px 40px -28px rgba(80, 40, 20, .9); border-top: 6px solid var(--chile-red); }
.inl-addr--green { border-top-color: var(--green); }
.inl-addr__k { font-weight: 800; letter-spacing: .12em; text-transform: uppercase; font-size: .8rem; color: var(--mute); }
.inl-addr__v { font-family: var(--display); font-size: 1.45rem; line-height: 1.25; margin-top: .4rem !important; }
.inl-addr__btns { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem !important; }
.inl-addr__note { font-size: .95rem; color: var(--mute); margin-top: 1rem !important; }

/* ============================================================== tin tags (facts) */
.inl-tags { list-style: none; margin: 1.6rem 0 0 !important; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr)); gap: .8rem; }
.inl-tag { position: relative; padding: 1rem 1rem .9rem; border-radius: 10px; color: var(--ink); overflow: hidden;
	background: linear-gradient(135deg, #F6F4F0 0%, #D9D4CB 36%, #FAF9F6 50%, #C8C2B7 100%); box-shadow: inset 0 1px 0 #fff, inset 0 -2px 0 rgba(0, 0, 0, .12), 0 10px 20px -14px rgba(60, 40, 20, .9); outline: 2px dotted rgba(70, 60, 50, .45); outline-offset: -7px; }
.inl-tag::after { content: ""; position: absolute; top: 0; bottom: 0; width: 40%; left: -60%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .85), transparent); transform: skewX(-18deg); animation: inl-shine 6s ease-in-out infinite; animation-delay: calc(var(--i) * .7s); }
.inl-tag__big { display: block; font-family: var(--display); font-size: 1.6rem; line-height: 1; color: var(--chile); }
.inl-tag__small { display: block; font-size: .92rem; font-weight: 700; margin-top: .35rem; line-height: 1.3; }

/* ============================================================== the ristra */
.inl-section--ristra { background: radial-gradient(70% 60% at 30% 40%, rgba(255, 255, 255, .55), transparent 70%), var(--trowel), var(--grain), #F3E2CC; background-size: auto, 700px, 220px, auto; }
.inl-ris { display: grid; grid-template-columns: minmax(260px, 420px) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.inl-ris__stage { position: relative; display: flex; flex-direction: column; align-items: center; }
.inl-ris__svg { width: 100%; max-width: 360px; height: auto; max-height: 72vh; touch-action: none; cursor: grab; overflow: visible; }
.inl-ris__svg.is-dragging { cursor: grabbing; }
.inl-ris__viga { fill: #8B5A32; stroke: #5A361C; stroke-width: 2; }
.inl-ris__knot { fill: #5A361C; }
.inl-ris__twine { fill: none; stroke: #B48A57; stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 6 3; }
.inl-ris__twine--front { stroke: #D9B57E; stroke-width: 2.5; stroke-dasharray: 3 9; }
.inl-ris__c { cursor: inherit; }
.inl-ris__pod { fill: #A3122F; stroke: #5E0A1D; stroke-width: 1.4; transition: fill .4s, filter .4s; }
.inl-ris__c:nth-child(3n) .inl-ris__pod { fill: #B4203B; }
.inl-ris__c:nth-child(4n) .inl-ris__pod { fill: #8E0F28; }
.inl-ris__shine { fill: none; stroke: #fff; stroke-opacity: .35; stroke-width: 2; stroke-linecap: round; }
.inl-ris__stem { fill: #4E7A2C; }
.inl-ris__tail path { fill: none; stroke: #B48A57; stroke-width: 4; stroke-linecap: round; }
.inl-ris[data-region] .inl-ris__c .inl-ris__pod { fill: #C9A4A0; stroke: #9F7A75; }
.inl-ris[data-region="neck"] .inl-ris__c--neck .inl-ris__pod, .inl-ris[data-region="mid"] .inl-ris__c--mid .inl-ris__pod, .inl-ris[data-region="low"] .inl-ris__c--low .inl-ris__pod { fill: #C62A45; stroke: #5E0A1D; filter: drop-shadow(0 0 6px rgba(235, 174, 62, .95)); }
.inl-ris__state { margin-top: .8rem !important; font-family: var(--hand); font-size: 1.25rem; color: var(--chile); text-align: center; min-height: 1.6em; }
.inl-ris.is-straight .inl-ris__state { color: var(--green); }
.inl-ris__btns { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem; }
.inl-ris__hint { margin: 0 !important; font-family: var(--hand); font-size: 1.1rem; color: var(--ink-soft); }
.inl-ris__regions { list-style: none; padding: 0; margin: 1.4rem 0 0 !important; display: grid; gap: .7rem; }
.inl-ris__region { width: 100%; display: grid; grid-template-columns: 3.4rem 1fr; grid-template-rows: auto auto; column-gap: 1rem; text-align: left; padding: .9rem 1.1rem; border-radius: 14px; border: 0; cursor: pointer; font: inherit; color: var(--ink);
	background: #FFFBF5; box-shadow: 0 0 0 1px rgba(80, 40, 20, .12), 0 12px 24px -20px rgba(80, 40, 20, .9); transition: transform .3s var(--spring), box-shadow .3s; }
.inl-ris__region:hover { transform: translateX(4px); }
.inl-ris__region[aria-pressed="true"] { box-shadow: 0 0 0 3px var(--chile), 0 16px 26px -18px rgba(80, 40, 20, .9); transform: translateX(6px); }
.inl-ris__count { grid-row: span 2; display: grid; place-items: center; width: 3.4rem; height: 3.4rem; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #D8405A, #7A0C27); color: #fff; font-family: var(--display); font-size: 1.6rem; }
.inl-ris__rname { font-weight: 800; font-size: 1.1rem; }
.inl-ris__rname small { font-weight: 700; color: var(--mute); font-size: .85rem; margin-left: .3rem; }
.inl-ris__rtext { font-size: .98rem; color: var(--ink-soft); line-height: 1.45; }

/* ============================================================== everyone in line */
.inl-fam { position: relative; padding-top: 1rem; --fw: clamp(68px, 8.2vw, 104px); }
.inl-fam__line { list-style: none; margin: 0 !important; padding: 0 1rem; display: flex; justify-content: center; align-items: flex-start; gap: clamp(.2rem, 1.2vw, 1.4rem); flex-wrap: nowrap; }
.inl-fam__p a { display: flex; flex-direction: column; align-items: center; text-decoration: none; color: var(--ink); }
.inl-fam__p svg { width: var(--fw); height: auto; aspect-ratio: 3 / 4; overflow: visible; animation: inl-wave 5s var(--ease) infinite; animation-delay: calc(var(--i) * .22s); transform-origin: 50% 100%; }
.inl-fam__head { fill: var(--chile); transition: fill .3s; }
.inl-fam__body { fill: none; stroke: var(--ink); stroke-width: 6.5; stroke-linecap: round; stroke-linejoin: round; transition: stroke .3s; }
.inl-fam__fill { fill: var(--ink); transition: fill .3s; }
.inl-fam__ball { fill: #fff; stroke: var(--ink); stroke-width: 2.5; }
.inl-fam__tail { stroke-width: 4; }
.inl-fam__p a:hover .inl-fam__fill { fill: var(--chile); }
.inl-fam__p a:hover .inl-fam__body, .inl-fam__p a:focus-visible .inl-fam__body { stroke: var(--chile); }
.inl-fam__p a:hover .inl-fam__head, .inl-fam__p a:focus-visible .inl-fam__head { fill: var(--gold); }
.inl-fam__p a:hover svg { animation: inl-hop .6s var(--spring); }
.inl-fam__label { margin-top: .5rem; font-weight: 800; font-size: .95rem; text-align: center; line-height: 1.2; max-width: 7.5rem; padding: .25rem .55rem; border-radius: 8px; background: rgba(255, 255, 255, .7); }
.inl-fam__p a:hover .inl-fam__label { background: var(--chile); color: #fff; }
.inl-fam__floor { display: none; }
.inl-fam__line { position: relative; isolation: isolate; }
/* a strip of Saltillo tile under their feet */
.inl-fam__line::before { content: ""; position: absolute; z-index: -1; left: 0; right: 0; top: calc(var(--fw) * 4 / 3 - 13px); height: 18px; border-radius: 6px; background: repeating-linear-gradient(90deg, #C77B4E 0 46px, #E9CFAE 46px 48px), #C77B4E; box-shadow: inset 0 3px 0 rgba(255, 255, 255, .25), 0 8px 14px -8px rgba(110, 60, 30, .6); }

/* ============================================================== cards & stories */
.inl-cards, .inl-stories { gap: 1.2rem !important; } /* must equal theme.json blockGap (1.2rem), or columnCount 3 shows 2 */
.inl-card { background: #FFFBF5; border-radius: 22px 22px 18px 18px; padding: 1rem 1rem 1.4rem; box-shadow: 0 0 0 1px rgba(80, 40, 20, .1), 0 24px 40px -30px rgba(80, 40, 20, .9); transition: transform .4s var(--spring); }
.inl-card:hover { transform: translateY(-6px) rotate(-.4deg); }
.inl-card h3 { margin: 1rem .4rem .4rem; }
.inl-card p { margin-inline: .4rem; }
.inl-story { position: relative; background: #FFFBF5; padding: 1.6rem 1.5rem 1.5rem; border-radius: 16px; box-shadow: 0 0 0 1px rgba(80, 40, 20, .1), 0 24px 40px -30px rgba(80, 40, 20, .9); }
.inl-story::before { content: ""; position: absolute; left: 1.5rem; right: 1.5rem; top: 0; height: 6px; border-radius: 0 0 6px 6px; background: var(--talavera); background-size: 12px; }
.inl-story h3 { margin: .3rem 0 .6rem; }
.inl-story__kicker { font-weight: 800; letter-spacing: .12em; text-transform: uppercase; font-size: .78rem; color: var(--turq); }
.inl-story .wp-block-buttons { margin-top: 1.1rem; }

/* ============================================================== $170 special: Talavera tile panel */
.inl-tile { position: relative; padding: 26px; border-radius: 10px; background: var(--talavera); background-size: 52px; box-shadow: 0 30px 50px -30px rgba(29, 79, 145, .8), 0 0 0 2px #1D4F91; transform: rotate(-1.2deg); transition: transform .5s var(--spring); }
.inl-tile:hover { transform: rotate(0deg) scale(1.01); }
.inl-tile__in { background: var(--grain), #FFFBF3; background-size: 220px, auto; border-radius: 6px; padding: clamp(1.4rem, 3vw, 2.2rem); text-align: center; box-shadow: 0 0 0 3px #1D4F91, 0 0 0 7px #FFFBF3, 0 0 0 9px #E8A93A; }
.inl-tile__kicker { font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--cobalt); font-size: .85rem; }
.inl-tile__price { font-family: var(--display); font-size: clamp(4rem, 3rem + 4vw, 6.2rem); line-height: 1; color: var(--chile); margin: .3rem 0 .5rem !important; }
.inl-tile__dollar { font-size: .5em; vertical-align: .75em; margin-right: .05em; }
.inl-tile__list { list-style: none; padding: 0; margin: 0 auto !important; display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem .5rem; max-width: 26rem; }
.inl-tile__list li { padding: .3rem .75rem; border-radius: 999px; background: #EAF0F8; color: var(--cobalt); font-weight: 800; font-size: .95rem; }
.inl-tile__fine { margin-top: 1rem !important; font-size: .95rem; color: var(--ink-soft); }
.inl-tile__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: 1.2rem !important; }

/* ============================================================== reviews in corrugated tin */
.inl-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; align-items: start; }
.inl-review { margin: 0; padding: 14px; border-radius: 8px; background: var(--corrugated); box-shadow: 0 22px 40px -26px rgba(40, 30, 20, .9), inset 0 0 0 1px rgba(0, 0, 0, .15); transform: rotate(calc((var(--i) - 1) * 1.4deg)); transition: transform .5s var(--spring); }
.inl-review:hover { transform: rotate(0) translateY(-6px); }
.inl-review blockquote { margin: 0; padding: 1.4rem 1.4rem .6rem; background: #FFFBF5; border-radius: 4px 4px 0 0; }
.inl-review blockquote p { font-size: 1.15rem; line-height: 1.5; }
.inl-review figcaption { background: #FFFBF5; border-radius: 0 0 4px 4px; padding: 0 1.4rem 1.2rem; font-family: var(--hand); font-size: 1.25rem; color: var(--chile); }
.inl-review__stars { display: block; background: #FFFBF5; padding: 1rem 1.4rem 0; border-radius: 4px 4px 0 0; color: var(--gold-ink); letter-spacing: .15em; font-size: 1.15rem; }
.inl-review__stars + blockquote { border-radius: 0; padding-top: .5rem; }
.inl-revlinks { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: 2rem !important; }

/* ============================================================== techniques (punched tin) + therapies (painted tiles) */
.inl-tins { list-style: none; margin: 0 !important; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.3rem; }
.inl-tin { position: relative; padding: 1.3rem 1.2rem 1.4rem; border-radius: 14px; text-align: center; color: var(--ink);
	background: linear-gradient(140deg, #F7F5F2 0%, #DAD5CC 30%, #FBFAF8 48%, #CBC5BA 70%, #EEEAE4 100%); box-shadow: inset 0 1px 0 #fff, inset 0 -2px 0 rgba(0, 0, 0, .12), 0 20px 34px -24px rgba(60, 40, 20, .9); outline: 2px dotted rgba(70, 60, 50, .4); outline-offset: -9px; }
.inl-tin__plate { display: grid; place-items: center; width: 92px; height: 92px; margin: 0 auto .6rem; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #FFFFFF, #D7D2C9 70%); box-shadow: inset 0 -3px 6px rgba(0, 0, 0, .15), 0 0 0 3px rgba(109, 12, 42, .12); }
.inl-tin__plate svg { width: 70px; height: 70px; fill: none; stroke: var(--chile); stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.inl-tin__name { font-size: 1.35rem !important; margin: .3rem 0 .5rem !important; }
.inl-tin p { font-size: 1rem; line-height: 1.5; color: var(--ink-soft); }
.inl-tin__a { transform-box: fill-box; transform-origin: 50% 50%; }
.inl-tin__pulse { stroke-width: 2; opacity: 0; transform-box: fill-box; transform-origin: 50% 50%; }
.inl-tin--diversified .inl-tin__a { animation: inl-press 2.8s var(--ease) infinite; }
.inl-tin--thompson .inl-tin__a { animation: inl-drop 2.4s var(--ease) infinite; }
.inl-tin--activator .inl-tin__a { animation: inl-click 2.2s var(--ease) infinite; transform-origin: 0 0; }
.inl-tin--activator .inl-tin__pulse, .inl-tin--myofascial .inl-tin__pulse { animation: inl-ring 2.2s ease-out infinite; }
.inl-tin--myofascial .inl-tin__pulse--2 { animation-delay: .5s; }
.inl-tls { list-style: none; margin: 1.3rem 0 0 !important; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.inl-tl { display: flex; align-items: center; gap: 1rem; padding: .6rem .9rem .6rem .6rem; border-radius: 12px; background: #FFFBF5; box-shadow: 0 0 0 1px rgba(29, 79, 145, .18); }
.inl-tl__face { flex: none; width: 74px; height: 74px; border-radius: 8px; display: grid; place-items: center; background: #FBF5EA; box-shadow: inset 0 0 0 3px var(--cobalt), inset 0 0 0 6px #FBF5EA, inset 0 0 0 8px var(--gold); }
.inl-tl__face svg { width: 52px; height: 52px; fill: none; stroke: var(--cobalt); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.inl-tl__name { font-weight: 800; font-size: 1.05rem; }
.inl-tl--ems .inl-tl__a { stroke-dasharray: 12 6; animation: inl-march .9s linear infinite; }
.inl-tl--heat .inl-tl__a { animation: inl-rise 2.4s ease-in-out infinite; }
.inl-tl--vibration .inl-tl__a { transform-box: fill-box; transform-origin: 50% 50%; animation: inl-jitter .14s linear infinite; }
.inl-tl--traction .inl-tl__a { transform-box: fill-box; transform-origin: 50% 50%; animation: inl-stretch 2.4s var(--ease) infinite; }

/* ============================================================== first visit: the trail */
.inl-section--trail { background: linear-gradient(180deg, #F3E3CF, #F7EDE0); }
.inl-trail { display: grid; grid-template-columns: minmax(260px, 480px) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.inl-trail__svg { width: 100%; height: auto; overflow: visible; }
.inl-trail__mtn { fill: #C9A08A; }
.inl-trail__glow { fill: #EE93A0; opacity: .7; animation: inl-glowfade 9s ease-in-out infinite alternate; }
.inl-trail__pines path { fill: #4E7A2C; }
.inl-trail__rock { fill: none; stroke: #A87A62; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.inl-trail__mtn { fill: #C9A08A; }
.inl-trail__crest { fill: none; stroke: #3D6626; stroke-width: 9; stroke-linecap: round; stroke-linejoin: round; }
.inl-trail__path-bg { fill: none; stroke: #F7EDE0; stroke-width: 12; stroke-linecap: round; stroke-linejoin: round; opacity: .85; }
.inl-trail__path { fill: none; stroke: var(--chile); stroke-width: 4; stroke-linecap: round; stroke-dasharray: 7 7; }
.inl-trail__post rect:first-child { fill: var(--wood); }
.inl-trail__sign { fill: var(--gold); stroke: var(--wood-dark); stroke-width: 2; transition: fill .3s; }
.inl-trail__post text { font: 400 15px var(--display); fill: var(--ink); }
.inl-trail__post.is-reached .inl-trail__sign { fill: var(--chile); }
.inl-trail__post.is-reached text { fill: #fff; }
.inl-trail__hiker { fill: none; stroke: var(--ink); stroke-width: 3.2; stroke-linecap: round; }
.inl-trail__hiker circle { fill: var(--ink); stroke: none; }
.inl-trail__cable { stroke: #5A4A50; stroke-width: 2; }
.inl-trail__list { list-style: none; margin: 0 !important; padding: 0; display: grid; gap: .7rem; }
.inl-trail__step { display: flex; gap: 1rem; align-items: flex-start; padding: .85rem 1rem; border-radius: 14px; background: rgba(255, 251, 245, .8); box-shadow: 0 0 0 1px rgba(80, 40, 20, .08); transition: background .3s, box-shadow .3s, transform .4s var(--spring); }
.inl-trail__n { flex: none; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 8px; background: var(--gold); color: var(--ink); font-family: var(--display); font-size: 1.2rem; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .15); }
.inl-trail__step.is-reached { background: #FFFBF5; box-shadow: 0 0 0 2px var(--chile), 0 14px 26px -20px rgba(80, 40, 20, .9); transform: translateX(6px); }
.inl-trail__step.is-reached .inl-trail__n { background: var(--chile); color: #fff; }

/* ============================================================== changing paths: map */
.inl-map { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 3rem); align-items: center; margin-block: 1rem 2rem; }
.inl-map__fig { position: relative; margin: 0; padding: 14px; border-radius: 16px; background: var(--grain), #FFFBF3; background-size: 220px, auto; box-shadow: 0 0 0 1px rgba(80, 40, 20, .1), 0 24px 40px -28px rgba(80, 40, 20, .9); transform: rotate(-.8deg); }
.inl-map__base { display: block; width: 100%; height: auto; }
.inl-map__over { position: absolute; inset: 14px; width: calc(100% - 28px); height: calc(100% - 28px); overflow: visible; }
.inl-map__route { fill: none; stroke: var(--chile); stroke-width: 4; stroke-linecap: round; stroke-dasharray: 1 0; }
.inl-map__cloud { fill: #8E96A8; }
.inl-map__drop { stroke: #4C78B8; stroke-width: 2.4; stroke-linecap: round; animation: inl-rain 1s linear infinite; animation-delay: calc(var(--i) * -.14s); }
.inl-map__pin circle { fill: var(--chile); stroke: #fff; stroke-width: 3; }
.inl-map__pin text { font: 400 22px var(--display); fill: var(--ink); paint-order: stroke; stroke: #FFFBF3; stroke-width: 5px; stroke-linejoin: round; }
.inl-map__pin--home circle:first-child { fill: var(--green); }
.inl-map__ping { fill: none !important; stroke: var(--green) !important; stroke-width: 3 !important; transform-box: fill-box; transform-origin: 50% 50%; animation: inl-ring 2s ease-out infinite; }
.inl-map__stops { counter-reset: stop; list-style: none; padding: 0; margin: 0 !important; display: grid; gap: .8rem; }
.inl-map__stops li { counter-increment: stop; position: relative; padding-left: 3rem; line-height: 1.5; }
.inl-map__stops li::before { content: counter(stop); position: absolute; left: 0; top: -.1rem; width: 2.2rem; height: 2.2rem; border-radius: 50%; display: grid; place-items: center; background: var(--chile); color: #fff; font-family: var(--display); font-size: 1.1rem; }
.inl-map__stops li:last-child::before { background: var(--green); }
.inl-pull { margin: 2rem 0 0 !important; padding: 1.4rem 1.6rem 1.4rem 4.4rem !important; border: 0 !important; position: relative; border-radius: 16px; background: var(--dusk); color: #F7EDE0; }
.inl-pull::before { content: "“"; position: absolute; left: 1rem; top: -.4rem; font-family: var(--display); font-size: 5rem; color: var(--sandia); line-height: 1; }
.inl-pull p { font-size: clamp(1.2rem, 1.05rem + .5vw, 1.45rem); line-height: 1.5; color: #F7EDE0; }
.inl-pull cite { display: block; margin-top: .6rem; font-style: normal; font-family: var(--hand); font-size: 1.2rem; color: var(--gold); }

/* ============================================================== sports signpost */
.inl-signpost { position: relative; display: flex; justify-content: center; padding: 1rem 0 2rem; }
.inl-signpost__post { position: absolute; left: 50%; top: 0; bottom: 0; width: 18px; margin-left: -9px; border-radius: 6px 6px 0 0; background: linear-gradient(90deg, #5A361C, #8B5A32 40%, #6E4423); box-shadow: 0 20px 20px -10px rgba(60, 30, 10, .4); }
.inl-signpost ul { list-style: none; margin: 0 !important; padding: 0; position: relative; display: grid; gap: .7rem; width: min(100%, 22rem); }
.inl-signpost li { position: relative; justify-self: start; padding: .6rem 1.6rem .6rem 1rem; font-family: var(--display); font-size: 1.25rem; color: #FFF4EA; background: linear-gradient(180deg, #8B5A32, #6E4423); border-radius: 4px;
	clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%); transform-origin: 0 50%; margin-left: 50%; animation: inl-signswing 6s var(--ease) infinite; animation-delay: calc(var(--i) * .3s); }
.inl-signpost li.is-l { justify-self: end; margin-left: 0; margin-right: 50%; padding: .6rem 1rem .6rem 1.6rem; clip-path: polygon(18px 0, 100% 0, 100% 100%, 18px 100%, 0 50%); transform-origin: 100% 50%; }

/* ============================================================== intake: clipboards */
.inl-clips { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(1.5rem, 4vw, 3rem); margin-bottom: 1rem; }
.inl-clip { text-decoration: none; color: var(--ink); display: flex; flex-direction: column; align-items: center; gap: .8rem; transition: transform .45s var(--spring); }
.inl-clip:nth-child(1) { transform: rotate(-2.5deg); } .inl-clip:nth-child(2) { transform: rotate(2deg); }
.inl-clip:hover { transform: rotate(0) translateY(-6px); }
.inl-clip__board { position: relative; display: block; width: min(80vw, 300px); padding: 34px 16px 16px; border-radius: 12px; background: linear-gradient(135deg, #A87344, #7A4E2B); box-shadow: 0 30px 40px -24px rgba(60, 30, 10, .9); }
.inl-clip__clip { position: absolute; top: -12px; left: 50%; width: 96px; height: 36px; margin-left: -48px; border-radius: 10px 10px 6px 6px; background: linear-gradient(180deg, #F2F0EC, #A7A196); box-shadow: 0 4px 6px rgba(0, 0, 0, .35); }
.inl-clip__img { display: block; width: 100%; border-radius: 3px; box-shadow: 0 2px 6px rgba(0, 0, 0, .3); }
.inl-clip__cap { font-weight: 800; text-align: center; max-width: 18rem; }
.inl-checks { list-style: none; padding: 0 !important; display: grid; gap: .55rem; }
.inl-checks li { position: relative; padding-left: 2.1rem; }
.inl-checks li::before { content: ""; position: absolute; left: 0; top: .15rem; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3L15 6.5' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 80% no-repeat; }
.inl-checks--row { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem 1.8rem; font-weight: 700; font-size: 1.1rem; }

/* ============================================================== closing CTA */
.inl-cta { text-align: center; overflow: hidden; color: #F7EDE0; background: radial-gradient(90% 120% at 50% 120%, rgba(238, 147, 160, .55), transparent 60%), linear-gradient(180deg, var(--dusk-2), var(--dusk)); }
.inl-cta h2 { color: #FFF4EA; margin: 0 auto; max-width: 40rem; }
.inl-cta .inl-lead { color: #F1E0DA; margin: 1rem auto 0; max-width: 40rem; }
.inl-cta__btns { justify-content: center; }
.inl-cta .wp-block-button:first-child .wp-block-button__link { background: var(--gold); color: var(--ink) !important; }
.inl-cta .wp-block-button:first-child .wp-block-button__link:hover { background: #F6C35E; }
.inl-cta .is-style-ghost .wp-block-button__link { color: #FFF4EA !important; box-shadow: inset 0 0 0 2.5px #FFF4EA; }
.inl-cta .is-style-ghost .wp-block-button__link:hover { background: #FFF4EA; color: var(--chile) !important; }
.inl-cta__balloons { position: absolute; inset: 0; pointer-events: none; }
.inl-cta__balloons svg { position: absolute; width: clamp(60px, 8vw, 110px); height: auto; animation: inl-bob 7s ease-in-out infinite; }
.inl-cta__b1 { left: 7%; top: 18%; }
.inl-cta__b2 { right: 8%; top: 34%; width: clamp(44px, 5.5vw, 76px) !important; animation-delay: -3s !important; }

/* ============================================================== forms (Ninja Forms) */
.inl-formcard { padding: clamp(1.2rem, 3vw, 2.2rem); border-radius: 22px; background: #FFFBF5; box-shadow: 0 0 0 1px rgba(80, 40, 20, .1), 0 30px 50px -34px rgba(80, 40, 20, .9); border-top: 8px solid var(--chile); }
.inl-form .nf-form-content { padding: 0; max-width: none; }
.inl-form .nf-form-fields-required { font-size: .9rem; color: var(--mute); margin-bottom: 1rem; }
.inl-form nf-fields-wrap { display: flex; flex-wrap: wrap; gap: 0 1rem; }
.inl-form nf-field { flex: 1 1 100%; }
.inl-form nf-field:has(.inl-half) { flex: 1 1 calc(50% - .5rem); min-width: 13rem; }
.inl-form .nf-field-container { margin-bottom: 1.1rem; }
.inl-form .nf-field-label label, .inl-form .nf-field-label .nf-label-span { font-weight: 800; font-size: 1.02rem; color: var(--ink); }
.inl-form .ninja-forms-req-symbol { color: var(--chile-red); }
.inl-form input.ninja-forms-field:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]), .inl-form textarea.ninja-forms-field, .inl-form select.ninja-forms-field {
	width: 100%; box-sizing: border-box; padding: .85rem .95rem !important; border-radius: 10px !important; border: 2px solid rgba(35, 31, 32, .3) !important; background: #fff !important; color: var(--ink) !important; font: inherit !important; font-size: 1.05rem !important; box-shadow: none !important; transition: border-color .2s; }
.inl-form textarea.ninja-forms-field { min-height: 7rem; }
.inl-form .ninja-forms-field:focus { border-color: var(--turq) !important; outline: 3px solid rgba(15, 110, 106, .25) !important; outline-offset: 0; }
.inl-form .nf-error .ninja-forms-field { border-color: var(--chile-red) !important; }
.inl-form .nf-error-msg, .inl-form .nf-error-required-error { color: var(--chile-red); font-size: .95rem; margin-top: .3rem; font-weight: 700; }
.inl-form .inl-chips-field ul { display: flex; flex-wrap: wrap; gap: .45rem; margin: .3rem 0 0 !important; padding: 0 !important; list-style: none; }
.inl-form .inl-chips-field li { margin: 0 !important; padding: 0 !important; position: relative; }
.inl-form .inl-chips-field li::before { display: none !important; }
.inl-form .inl-chips-field li input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.inl-form .inl-chips-field li label { display: inline-flex !important; align-items: center; margin: 0 !important; padding: .6rem 1rem !important; border-radius: 999px; border: 2px solid rgba(35, 31, 32, .25); background: #fff; color: var(--ink); cursor: pointer; font-size: 1rem; font-weight: 700 !important; transition: all .2s; }
.inl-form .inl-chips-field li label::before { display: none !important; }
.inl-form .inl-chips-field li input:checked + label { background: var(--chile); color: #fff; border-color: var(--chile); }
.inl-form .inl-office-field li:nth-child(2) input:checked + label { background: var(--green); border-color: var(--green); }
.inl-form .inl-chips-field li input:focus-visible + label { box-shadow: 0 0 0 3px rgba(15, 110, 106, .45); }
.inl-form .nf-field-element input[type="submit"], .inl-form .nf-field-element input[type="button"] {
	appearance: none; border: 0; cursor: pointer; padding: 1rem 1.8rem !important; border-radius: 12px !important; background: var(--chile) !important; color: #fff !important; font: inherit !important; font-weight: 800 !important; font-size: 1.08rem !important; transition: background .2s, transform .25s var(--spring); }
.inl-form .nf-field-element input[type="submit"]:hover { background: var(--chile-red) !important; transform: translateY(-2px); }
.inl-form .nf-field-element input[type="submit"]:disabled { opacity: .6; cursor: wait; }
.inl-form .nf-response-msg { display: none; }
.inl-form .nf-before-form-content { display: none; }
.inl-form .nf-form-errors .nf-error-msg { margin-top: .6rem; }
.inl-sent { text-align: center; padding: 1.2rem .5rem .4rem; }
.inl-sent__badge { width: 96px; height: 96px; margin: 0 auto; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #4E9A4A, #2C5419); box-shadow: 0 0 0 8px rgba(61, 102, 38, .15); animation: inl-pop .6s var(--spring); }
.inl-sent__badge svg { width: 54px; height: 54px; fill: none; stroke: #fff; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 60; stroke-dashoffset: 60; animation: inl-draw .6s .3s var(--ease) forwards; }
.inl-sent__hand { display: block; font-family: var(--hand); font-size: 3rem; line-height: 1; color: var(--chile); margin-top: 1rem; transform: rotate(-3deg); }
.inl-sent h3 { margin: .7rem 0 .4rem; font-size: 1.8rem; }
.inl-sent p { margin: .4rem auto 0; max-width: 30rem; }
.inl-sent__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: 1.4rem !important; }
.inl-confetti { position: fixed; inset: 0; pointer-events: none; z-index: 2000; }

/* ============================================================== footer: adobe wall with farolitos */
.inl-foot { position: relative; padding: 0 !important; margin-top: 0 !important; color: var(--ink); background: linear-gradient(180deg, var(--dusk) 0, var(--dusk) 150px, transparent 150px); }
.inl-foot__sky { position: relative; height: 150px; background: radial-gradient(1.5px 1.5px at 12% 30%, #fff, transparent), radial-gradient(1.5px 1.5px at 28% 18%, #fff, transparent), radial-gradient(2px 2px at 46% 40%, #fff, transparent), radial-gradient(1.5px 1.5px at 63% 22%, #fff, transparent), radial-gradient(2px 2px at 78% 12%, #fff, transparent), radial-gradient(1.5px 1.5px at 90% 34%, #fff, transparent), radial-gradient(1px 1px at 36% 8%, #fff, transparent), radial-gradient(1px 1px at 70% 46%, #fff, transparent), linear-gradient(180deg, #1A1530, var(--dusk) 60%, #3E2C5E); }
.inl-foot__ridge { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 90px; fill: #2E2148; }
.inl-foot__parapet { position: relative; height: 44px; background: var(--trowel), var(--grain), #E9CFAE; background-size: 700px, 220px, auto; border-radius: 0; }
.inl-foot__parapet::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 26px; background: inherit; background-size: inherit;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 26' preserveAspectRatio='none'%3E%3Cpath d='M0 26V12q0-4 4-4h62q4 0 4-4V4q0-4 4-4h70q4 0 4 4v4q0 4 4 4h100q4 0 4-4V4q0-4 4-4h64q4 0 4 4v4q0 4 4 4h68q4 0 4 4v10z'/%3E%3C/svg%3E") 0 0 / 400px 26px repeat-x;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 26' preserveAspectRatio='none'%3E%3Cpath d='M0 26V12q0-4 4-4h62q4 0 4-4V4q0-4 4-4h70q4 0 4 4v4q0 4 4 4h100q4 0 4-4V4q0-4 4-4h64q4 0 4 4v4q0 4 4 4h68q4 0 4 4v10z'/%3E%3C/svg%3E") 0 0 / 400px 26px repeat-x; }
.inl-farolitos { position: absolute; left: 0; right: 0; bottom: calc(100% + 4px); display: flex; justify-content: space-around; padding-inline: 1rem; pointer-events: none; }
.inl-farol { position: relative; width: 16px; height: 22px; background: linear-gradient(180deg, #E8C998, #C9A16A); clip-path: polygon(8% 0, 92% 0, 100% 100%, 0 100%); }
.inl-farol::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: rgba(120, 80, 40, .35); }
.inl-farol__glow { position: absolute; inset: 0; background: radial-gradient(circle at 50% 70%, #FFF3C4, #FFC45C 45%, rgba(255, 170, 60, 0) 75%); opacity: 0; transition: opacity .6s; }
.inl-farolitos.is-lit .inl-farol__glow { opacity: 1; transition-delay: calc(var(--i) * 90ms); animation: inl-flicker 2.4s ease-in-out infinite; animation-delay: calc(var(--i) * -.37s); }
.inl-farolitos.is-lit .inl-farol { filter: drop-shadow(0 0 8px rgba(255, 190, 90, .85)); transition: filter .6s calc(var(--i) * 90ms); }
.inl-foot__wall { position: relative; padding-block: 2.5rem 1.4rem; }
.inl-foot > .wp-block-group, .inl-foot__wall { background: transparent; }
.inl-foot::after { content: ""; position: absolute; left: 0; right: 0; top: 194px; bottom: 0; z-index: -1; background: var(--trowel), var(--grain), #E9CFAE; background-size: 700px, 220px, auto; }
.inl-foot { isolation: isolate; }
.inl-foot__grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1.2fr; gap: 2rem; }
.inl-foot__brand img { width: 170px; height: auto; display: block; margin-bottom: .8rem; }
.inl-foot__brand p { font-size: 1rem; color: var(--ink-soft); }
.inl-foot__call { margin-top: 1rem !important; }
.inl-foot__call .inl-btn { background: var(--chile); color: #fff !important; }
.inl-foot__note { font-size: .9rem !important; margin-top: .5rem !important; }
.inl-foot__h { font-size: 1.35rem !important; margin: 0 0 .6rem !important; display: flex; align-items: center; gap: .5rem; }
.inl-foot a { color: var(--chile); font-weight: 700; }
.inl-foot__office p { font-size: 1rem; }
.inl-foot__hours { display: grid; grid-template-columns: auto 1fr; gap: .15rem .9rem; margin: .7rem 0; font-size: .98rem; }
.inl-foot__hours dt { font-weight: 800; } .inl-foot__hours dd { margin: 0; font-variant-numeric: tabular-nums; }
.inl-foot__more { font-size: .95rem; }
.inl-foot__nav ul { list-style: none; padding: 0; margin: 0 !important; columns: 2; column-gap: 1.2rem; }
.inl-foot__nav li { margin: 0 0 .4rem; break-inside: avoid; font-size: .98rem; }
.inl-foot__nav a { color: var(--ink); text-decoration: none; font-weight: 600; }
.inl-foot__nav a:hover { color: var(--chile); text-decoration: underline; }
.inl-foot__social { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 1rem !important; }
.inl-foot__social a { padding: .4rem .8rem; border-radius: 999px; background: rgba(255, 255, 255, .55); text-decoration: none; font-size: .92rem; }
.inl-foot__social a:hover { background: var(--chile); color: #fff; }
.inl-foot__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem 2rem; margin-top: 2rem; padding-top: 1.2rem; border-top: 2px solid rgba(110, 60, 30, .2); font-size: .92rem; color: var(--ink-soft); }
.inl-foot__wink { font-family: var(--hand); font-size: 1.05rem !important; color: var(--chile); }
/* the motion pill: always reachable, says plainly what it does */
.inl-motion { position: fixed; left: 1rem; bottom: 1rem; z-index: 60; display: inline-flex; align-items: center; gap: .5rem; padding: .62rem 1rem .62rem .8rem; border-radius: 999px; border: 0; cursor: pointer;
	font: 800 .92rem var(--body); color: #FFF4EA; background: rgba(37, 30, 64, .92); box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .7), 0 0 0 2px rgba(238, 147, 160, .5); backdrop-filter: blur(6px); transition: transform .25s var(--spring), background .2s; }
.inl-motion:hover { transform: translateY(-2px); background: var(--chile); }
.inl-motion svg { width: 18px; height: 18px; fill: currentColor; flex: none; }
.inl-motion__play { display: none; }
.inl-still .inl-motion__pause { display: none; } .inl-still .inl-motion__play { display: block; }
.inl-reduced .inl-motion { display: none; }

/* ============================================================== 404 */
.inl-404 { text-align: center; padding-block: var(--wp--preset--spacing--70) !important; }
.inl-404 .wp-block-buttons { justify-content: center; }
.inl-404 .inl-lead { margin-inline: auto; max-width: 36rem; }

/* ============================================================== reveal on scroll */
.js .inl-rv { opacity: 0; translate: 0 26px; transition: opacity .8s var(--ease), translate .8s var(--ease), transform .4s var(--spring), background .3s, box-shadow .3s; }
.js .inl-rv.is-in, .inl-noreveal .inl-rv, .inl-still .inl-rv { opacity: 1; translate: none; }
.js .inl-map__route { stroke-dasharray: var(--len, 2000); stroke-dashoffset: var(--len, 2000); transition: stroke-dashoffset 3.2s var(--ease); }
.js .inl-map.is-in .inl-map__route, .inl-noreveal .inl-map__route, .inl-still .inl-map__route { stroke-dashoffset: 0; }

/* ============================================================== keyframes */
@keyframes inl-push { from { transform: scale(1.02) translate(0, 0); } to { transform: scale(1.14) translate(-2.2%, -1.6%); } }
@keyframes inl-sway { from { transform: rotate(-3deg); } to { transform: rotate(3deg); } }
@keyframes inl-flame { from { transform: scaleY(.8); } to { transform: scaleY(1.35); } }
@keyframes inl-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(46, 154, 60, .45); } 50% { box-shadow: 0 0 0 7px rgba(46, 154, 60, 0); } }
@keyframes inl-pop { from { transform: scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes inl-glow { from { --gx: 20%; opacity: .7; transform: translateX(-6%); } to { opacity: 1; transform: translateX(8%); } }
@keyframes inl-twinkle { 0%, 100% { opacity: .25; transform: scale(.7); } 50% { opacity: 1; transform: scale(1.2); } }
@keyframes inl-drift { 0% { transform: translate(-60px, 20px) rotate(-3deg); } 25% { transform: translate(25vw, -12px) rotate(3deg); } 50% { transform: translate(50vw, 14px) rotate(-2deg); } 75% { transform: translate(75vw, -8px) rotate(3deg); } 100% { transform: translate(105vw, 10px) rotate(-2deg); } }
@keyframes inl-march { to { stroke-dashoffset: -20; } }
@keyframes inl-shine { 0%, 70% { left: -60%; } 100% { left: 130%; } }
@keyframes inl-wave { 0%, 60%, 100% { transform: translateY(0) scaleY(1); } 68% { transform: translateY(-14px) scaleY(1.03); } 76% { transform: translateY(0) scaleY(.97); } }
@keyframes inl-hop { 0% { transform: translateY(0); } 40% { transform: translateY(-18px) rotate(-4deg); } 100% { transform: translateY(0); } }
@keyframes inl-press { 0%, 55%, 100% { transform: translate(0, 0); } 65% { transform: translate(0, 6px); } 75% { transform: translate(0, 0); } }
@keyframes inl-drop { 0%, 50%, 100% { transform: translateY(0); } 58% { transform: translateY(9px); } 80% { transform: translateY(9px); } 90% { transform: translateY(0); } }
@keyframes inl-click { 0%, 60%, 100% { transform: translate(0, 0); } 66% { transform: translate(4px, 4px); } 72% { transform: translate(0, 0); } }
@keyframes inl-ring { 0% { opacity: .9; transform: scale(.4); } 100% { opacity: 0; transform: scale(1.6); } }
@keyframes inl-rise { 0% { transform: translateY(4px); opacity: .5; } 50% { opacity: 1; } 100% { transform: translateY(-6px); opacity: .5; } }
@keyframes inl-jitter { 0% { transform: translate(-1px, 0); } 50% { transform: translate(1px, 1px); } 100% { transform: translate(-1px, 0); } }
@keyframes inl-stretch { 0%, 100% { transform: scaleX(.8); } 50% { transform: scaleX(1.15); } }
@keyframes inl-glowfade { from { opacity: .35; } to { opacity: .85; } }
@keyframes inl-rain { from { transform: translateY(-4px); opacity: 0; } 30% { opacity: 1; } to { transform: translateY(16px); opacity: 0; } }
@keyframes inl-signswing { 0%, 100% { transform: rotate(0deg); } 8% { transform: rotate(-4deg); } 16% { transform: rotate(2deg); } 24% { transform: rotate(0); } }
@keyframes inl-bob { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-22px) rotate(2deg); } }
@keyframes inl-flicker { 0%, 100% { opacity: 1; } 30% { opacity: .78; } 55% { opacity: .95; } 70% { opacity: .7; } }
@keyframes inl-draw { to { stroke-dashoffset: 0; } }

/* Paused ("Pause the animations") freezes everything where it is; reduced-motion visitors get none of it. */
.inl-still *, .inl-still *::before, .inl-still *::after { animation-play-state: paused !important; }
.inl-reduced *, .inl-reduced *::before, .inl-reduced *::after { animation: none !important; transition-duration: .01ms !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; } }

/* ============================================================== responsive */
@media (max-width: 1099px) {
	.inl-locate { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.inl-corridor { grid-column: 1 / -1; max-height: 360px; }
	.inl-corridor svg { height: 360px; }
	.inl-tins { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.inl-foot__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
	.inl-hero { min-height: 0; display: block; padding-top: 0 !important; padding-bottom: 2rem !important; }
	.inl-hero__photo, .inl-hero__sky { bottom: auto; height: 62vw; min-height: 300px; }
	.inl-hero__row { grid-template-columns: minmax(0, 1fr); padding-top: calc(max(62vw, 300px) - 70px); gap: 1rem; }
	.inl-hero__ctl { justify-self: stretch; align-items: center; text-align: center; }
	.inl-hero__credit { display: none; }
	.inl-vigas { right: -10px; }
	.inl-ph__row.has-photo { grid-template-columns: minmax(0, 1fr); }
	.inl-ph__photo { max-width: 260px; transform: rotate(1.5deg); margin-top: .5rem; }
	.inl-ph { padding-bottom: clamp(4rem, 14vw, 6rem) !important; }
	.inl-ris, .inl-trail, .inl-map { grid-template-columns: minmax(0, 1fr); }
	.inl-ris__svg { max-height: 60vh; }
	.inl-trail__svg { max-width: 440px; margin-inline: auto; display: block; }
	.inl-reviews { grid-template-columns: minmax(0, 1fr); max-width: 34rem; margin-inline: auto; }
	.inl-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.inl-gallery--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.inl-gallery .inl-nicho:nth-child(even) { transform: none; }
}
@media (max-width: 760px) {
	.inl-locate { grid-template-columns: minmax(0, 1fr); }
	.inl-tins { grid-template-columns: minmax(0, 1fr); }
	.inl-tls { grid-template-columns: minmax(0, 1fr); }
	.inl-fam__line { flex-wrap: wrap; gap: 1.2rem .6rem; }
	.inl-fam__p { flex: 0 0 calc(25% - .6rem); display: flex; justify-content: center; }
	.inl-fam { --fw: 70px; }
	.inl-fam__label { font-size: .8rem; }
	.inl-fam__line::before { display: none; }
	.inl-wall { grid-template-columns: 1fr 1fr; }
	.inl-wall__c { margin-top: 0; }
	.inl-foot__grid { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
	.inl-foot__nav ul { columns: 2; }
	.inl-farolitos .inl-farol:nth-child(odd) { display: none; }
	.inl-tile { padding: 16px; transform: none; }
	.inl-review { transform: none; }
	.inl-motion { left: .6rem; bottom: .6rem; padding: .55rem .85rem .55rem .7rem; font-size: .85rem; }
	.inl-pull { padding-left: 3.2rem !important; }
	.inl-pull::before { font-size: 4rem; left: .6rem; }
	.inl-signpost li { font-size: 1.1rem; }
}
@container inlweek (max-width: 700px) {
	.inl-days { grid-template-columns: minmax(0, 1fr); gap: .4rem; }
	.inl-day { flex-direction: row; justify-content: flex-start; text-align: left; gap: .8rem; padding: .55rem .9rem .55rem 1.1rem; }
	.inl-day::before { left: 0; right: auto; top: 8px; bottom: 8px; width: 5px; height: auto; border-radius: 0 5px 5px 0; }
	.inl-day__name { width: 3rem; }
	.inl-day__chile { width: 18px; height: 28px; }
	.inl-day__rest { line-height: 28px; font-size: 1.2rem; width: 18px; text-align: center; }
	.inl-day__where { flex: 1; }
	.inl-day.is-on { transform: translateX(4px); }
	.inl-day.is-today::after { top: 50%; left: auto; right: -.4rem; transform: translateY(-50%) rotate(90deg); display: none; }
	.inl-day.is-today { box-shadow: 0 0 0 3px var(--gold); }
	.inl-day__now { margin-top: 0; }
	.inl-rog { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
	.inl-rog__btn { padding: .5rem .6rem; }
	.inl-rog__label { font-size: 1.05rem; }
	.inl-rog__sub { font-size: .78rem; }
}
@media (max-width: 420px) {
	.inl-fam__p { flex: 0 0 calc(33% - .6rem); }
	.inl-hero__title { font-size: 2.1rem !important; }
	.inl-gallery, .inl-gallery--three { grid-template-columns: minmax(0, 1fr); max-width: 320px; margin-inline: auto; }
}
