/* Houston hero structure, adapted to Woodbury's Twilight palette. */
.wb .wb-photo-hero,.wb .migration-home>.migration-home-hero.wb-photo-hero{position:relative;isolation:isolate;overflow:hidden;min-height:390px;padding:0;border-radius:0;background:linear-gradient(125deg,var(--twilight),var(--violet));color:white}
.wb .wb-photo-hero>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;z-index:-2;border-radius:0;margin:0}
.wb .wb-photo-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#2c0760 0%,#2c0760 36%,rgba(44,7,96,.92) 50%,rgba(91,42,158,.32) 82%,rgba(91,42,158,.12) 100%),radial-gradient(ellipse at 85% 15%,rgba(126,138,216,.25),transparent 55%)}
.wb .wb-photo-hero .wb-photo-hero-inner{padding:76px 0 70px}
.wb .wb-photo-hero h1{max-width:760px;font-size:clamp(2.5rem,5vw,4.4rem);font-weight:700;line-height:1.06;letter-spacing:-.045em;color:white;margin:18px 0 24px}
.wb .wb-photo-hero .wb-photo-hero-inner p:not(.wb-eyebrow){max-width:600px;font-size:1.05rem;line-height:1.65;color:var(--on-twilight);margin:0}
.wb .wb-photo-hero .wb-photo-hero-inner .wb-eyebrow{max-width:700px;color:var(--periwinkle-pale);font-size:.76rem;line-height:1.5;letter-spacing:.12em;margin:0 0 18px}
.wb .wb-photo-hero .wb-photo-hero-inner .wb-search{max-width:700px;margin-top:30px}
.wb .wb-photo-hero .wb-chips{margin-top:24px}
.wb .wb-search-results-body{padding-top:48px;padding-bottom:64px}
.wb.wb-singular{width:100%;max-width:none;margin:0;padding:0;background:white}
.wb-singular>.wb.article-content{width:min(1188px,100%);max-width:1188px;margin-inline:auto;padding-top:48px}
/* Align breadcrumb items and separators on the same baseline. */
.wb .wb-crumbs{font-size:.85rem;line-height:1.5}
.wb .wb-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:0;padding:0;margin:0;list-style:none}
.wb .wb-crumbs li{display:inline-flex;align-items:center;min-width:0;min-height:24px;gap:0;margin:0!important;padding:0;font:inherit;line-height:1.5;max-width:100%}
.wb .wb-crumbs li+li::before{display:inline-flex;align-items:center;flex:none;content:"›";margin:0 12px;color:var(--muted);line-height:1.5}
.wb .wb-crumbs a{display:inline-flex;align-items:center;line-height:1.5}
/* Native Safari selects ignore visual height/radius unless appearance is reset. */
.wb :is(.archive-controls,.wb-directory-filters) :is(input,select){-webkit-appearance:none;appearance:none;display:block;box-sizing:border-box;width:100%;height:48px;min-height:48px;border:1px solid var(--border-control);border-radius:12px;background-color:white;color:var(--ink);padding:12px 14px;font:400 1rem/1.4 var(--font-sans);margin:0;box-shadow:none}
.wb :is(.archive-controls,.wb-directory-filters) select{padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m6 9 6 6 6-6' stroke='%232c0760' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
.wb .archive-controls>div{min-width:0}
.wb .archive-controls label{line-height:1.4;margin:0 0 8px}
.wb :is(.wb-search,.wb-directory-searchbox) input[type=search]{-webkit-appearance:none;appearance:none;box-sizing:border-box;border-radius:12px;min-height:48px;line-height:1.4;font-size:1rem;box-shadow:none}
.wb input[type=search]::-webkit-search-decoration{-webkit-appearance:none}
/* Stores keep their search/data contract and gain a full-width brand hero. */
.wb.article-content.wb-directory-page{width:100%;max-width:none;padding:0 0 64px;margin:0}
.wb .wb-directory-body{padding-top:32px}
.wb .wb-directory-context{padding-bottom:22px}
.wb .wb-directory-hero h1{max-width:760px}
.wb .wb-featured-brands{padding-top:44px}
.wb .wb-featured-brands-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}
.wb .wb-featured-brands-head h2{font-size:1.8rem;letter-spacing:-.035em;margin:8px 0 0;line-height:1.15}
.wb .wb-featured-brands-head>p{font-size:.86rem;color:var(--muted);margin:0;flex-shrink:0}
.wb .wb-featured-brand-copy{max-width:800px;color:var(--muted);font-size:.95rem;line-height:1.65;margin:20px 0 0}
.wb .wb-featured-brand-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:10px}
.wb .wb-featured-brand-grid>a{display:flex;align-items:center;justify-content:center;min-height:100px;padding:16px 10px;border:1px solid var(--line);border-radius:16px;background:white;transition:border-color .15s,box-shadow .15s}
.wb .wb-featured-brand-grid>a:hover{border-color:var(--violet);box-shadow:var(--shadow-card)}
.wb .wb-featured-brand-grid img{display:block;width:100%;height:66px;max-width:110px;object-fit:contain;border-radius:0}
@media(max-width:1000px){.wb .wb-featured-brand-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:700px){
 .wb .wb-photo-hero,.wb .migration-home>.migration-home-hero.wb-photo-hero{display:flex;flex-direction:column;min-height:0;padding:0}
 .wb .wb-photo-hero>img{position:relative;inset:auto;order:-1;width:100%;height:clamp(190px,58vw,280px);z-index:auto;flex:none}
 .wb .wb-photo-hero::after{display:none}
 .wb .wb-photo-hero .wb-photo-hero-inner{padding:36px 0 44px}
 .wb .wb-photo-hero h1{font-size:clamp(2.1rem,8.6vw,3.2rem);line-height:1.08;letter-spacing:-.04em;margin:16px 0 22px}
 .wb .wb-photo-hero .wb-photo-hero-inner p:not(.wb-eyebrow){font-size:1rem;line-height:1.65}
 .wb .wb-featured-brands{padding-top:32px}
 .wb .wb-featured-brands-head{display:block;margin-bottom:16px}
 .wb .wb-featured-brands-head h2{font-size:1.6rem;margin-bottom:12px}
 .wb .wb-featured-brand-grid{display:flex;gap:10px;overflow-x:auto;padding:0 1px 10px;scroll-snap-type:x proximity;scrollbar-width:thin}
 .wb .wb-featured-brand-grid>a{flex:0 0 112px;min-height:92px;scroll-snap-align:start}
 .wb .wb-featured-brand-grid img{height:58px}
 .wb .wb-directory-body{padding-top:22px}
 .wb-singular>.wb.article-content{padding:32px 16px 52px}
}

/* Shared split-photo heroes. Existing content and controls remain in their own templates. */
.wb .wb-photo-hero,.wb .migration-home>.migration-home-hero.wb-photo-hero{background:linear-gradient(125deg,#1c0340 0%,#5b2a9e 85%);color:white;min-height:470px;padding:0}
.wb .wb-photo-hero::after{display:none}
.wb .wb-photo-hero>img{inset:0 0 0 auto;width:43%;height:100%;z-index:0;object-position:55% center;clip-path:polygon(0 0,100% 0,100% 100%,12.000% 100.000%, 11.262% 96.875%, 10.547% 93.750%, 9.855% 90.625%, 9.188% 87.500%, 8.543% 84.375%, 7.922% 81.250%, 7.324% 78.125%, 6.750% 75.000%, 6.199% 71.875%, 5.672% 68.750%, 5.168% 65.625%, 4.688% 62.500%, 4.230% 59.375%, 3.797% 56.250%, 3.387% 53.125%, 3.000% 50.000%, 2.637% 46.875%, 2.297% 43.750%, 1.980% 40.625%, 1.688% 37.500%, 1.418% 34.375%, 1.172% 31.250%, 0.949% 28.125%, 0.750% 25.000%, 0.574% 21.875%, 0.422% 18.750%, 0.293% 15.625%, 0.188% 12.500%, 0.105% 9.375%, 0.047% 6.250%, 0.012% 3.125%, 0.000% 0.000%)}
.wb .wb-photo-hero .wb-photo-hero-inner{position:relative;z-index:1;padding:64px 0 60px;pointer-events:none}
.wb .wb-photo-hero .wb-photo-hero-inner>*{width:57%;max-width:690px;pointer-events:auto}
.wb .wb-photo-hero .wb-photo-hero-inner .wb-eyebrow{color:#c9978f;font-size:.8rem;letter-spacing:.15em;margin:0 0 24px}
.wb .wb-photo-hero .wb-photo-hero-inner h1{color:white;font-size:clamp(2.25rem,3.65vw,3.9rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 32px;padding-right:26px}
.wb .wb-photo-hero .wb-photo-hero-inner p:not(.wb-eyebrow){color:white}
.wb .wb-photo-hero .wb-photo-hero-inner>.wb-search{max-width:57%;margin-top:30px}
.wb .wb-photo-hero .wb-chips{display:flex;flex-wrap:wrap;gap:12px}
.wb .wb-photo-hero .wb-post-byline{border:0;padding:0;gap:16px;margin-top:42px;color:white}
.wb .wb-photo-hero .wb-post-byline .wb-author-avatar{width:68px;height:68px;max-width:68px;border-radius:50%}
.wb .wb-photo-hero .wb-photo-hero-inner .wb-post-byline p{font-size:.95rem;line-height:1.5;color:white;margin:0}
.wb .wb-photo-hero .wb-photo-hero-inner .wb-post-byline p+p{font-size:.87rem;margin-top:6px;color:white}
.wb .wb-photo-hero .wb-byline-category{display:inline}
.wb .wb-photo-hero .wb-post-byline a{color:white}
.wb .wb-photo-hero :focus-visible{outline-color:var(--focus-dark)}
.wb .wb-photo-hero .wb-search :focus-visible{outline-color:var(--focus-light)}
/* Text-only heroes keep their full content measure rather than an empty photo column. */
.wb .wb-photo-hero:not(:has(>img)) .wb-photo-hero-inner>*{width:100%;max-width:900px}
.wb.wb-author-page .wb-author-hero{background:linear-gradient(125deg,#1c0340 0%,#5b2a9e 85%);color:white}
.wb.wb-author-page .wb-author-hero .wb-eyebrow{color:#c9978f}
.wb.wb-author-page .wb-author-hero h1{color:white}
@media(min-width:701px) and (max-width:1050px){
 .wb .wb-photo-hero .wb-search{flex-wrap:wrap}
 .wb .wb-photo-hero .wb-search input[type=search]{flex:1 0 100%;width:100%}
 .wb .wb-photo-hero .wb-search button{flex:1}
}
@media(max-width:700px){
 .wb .wb-photo-hero,.wb .migration-home>.migration-home-hero.wb-photo-hero{display:flex;flex-direction:column;min-height:0;padding:0}
 .wb .wb-photo-hero>img{position:relative;inset:auto;order:2;width:100%;height:240px;clip-path:none;object-position:center}
 .wb .wb-photo-hero .wb-photo-hero-inner{padding:36px 0 32px}
 .wb .wb-photo-hero .wb-photo-hero-inner>*{width:100%;max-width:none}
 .wb .wb-photo-hero .wb-photo-hero-inner .wb-eyebrow{margin-bottom:18px}
 .wb .wb-photo-hero .wb-photo-hero-inner h1{font-size:clamp(2rem,8vw,3rem);line-height:1.1;padding-right:0;margin:0 0 28px}
 .wb .wb-photo-hero .wb-photo-hero-inner>.wb-search{width:100%;max-width:100%;flex-wrap:wrap}
 .wb .wb-photo-hero .wb-search input[type=search]{flex:1 0 100%;width:100%}
 .wb .wb-photo-hero .wb-search button{flex:1}
 .wb .wb-photo-hero .wb-post-byline{align-items:center;gap:12px;margin-top:28px}
 .wb .wb-photo-hero .wb-post-byline .wb-author-avatar{width:56px;height:56px;max-width:56px}
 .wb .wb-photo-hero .wb-byline-category{display:block}
}

/* Home has no breadcrumb; provide a little breathing room below the header. */
.wb .migration-home{padding-top:32px}
@media(max-width:700px){.wb .migration-home{padding-top:24px}}
