.interior-page { background: var(--cream); }
.interior-page nav { background: rgba(28, 15, 20, .97); box-shadow: 0 8px 30px rgba(0,0,0,.12); }
.interior-main { padding-top: 0; }
.interior-section { padding: 130px 0; }
.interior-hero { position: relative; min-height: 760px; display: flex; align-items: center; overflow: hidden; color: #fff; background: var(--plum); }
.interior-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.franchise-hero-new > img { object-position: center 42%; }
.interior-hero__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(27,10,18,.96) 0%, rgba(27,10,18,.84) 42%, rgba(27,10,18,.27) 76%), linear-gradient(0deg, rgba(20,8,14,.45), transparent); }
.interior-hero__content { position: relative; z-index: 2; padding-top: 82px; }
.interior-hero h1, .interior-section h2, .application-section h2, .career-hero h1, .legal-hero h1 { margin: 0; font-family: var(--display); font-weight: 500; letter-spacing: -.065em; line-height: .97; }
.interior-hero h1 { max-width: 880px; font-size: clamp(58px, 7vw, 102px); }
.interior-hero__content > p:not(.eyebrow) { max-width: 620px; margin: 28px 0 32px; color: rgba(255,255,255,.72); font-size: 19px; }
.franchise-numbers { background: var(--coral); }
.stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.stat-grid > div { min-height: 170px; display: flex; flex-direction: column; justify-content: center; padding: 28px 5vw; border-right: 1px solid rgba(40,20,20,.18); }
.stat-grid > div:first-child { padding-left: 0; }
.stat-grid > div:last-child { border: 0; }
.stat-grid strong { font: 500 48px var(--display); letter-spacing: -.06em; }
.stat-grid span { max-width: 180px; margin-top: 4px; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.split-heading { display: grid; grid-template-columns: 1fr .88fr; gap: 9vw; align-items: start; }
.interior-section h2, .application-section h2, .career-hero h1, .legal-hero h1 { font-size: clamp(48px, 5.6vw, 82px); }
.split-heading p { color: #655c5b; }
.split-heading .lead { margin-top: 30px; }
.concept-section { background: var(--paper); }
.interior-heading { max-width: 760px; margin-bottom: 58px; }
.concept-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.concept-card { background: #dfd4c6; }
.concept-card--dark { color: #fff; background: var(--wine); }
.concept-card > img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.concept-card__body { padding: 34px 38px 40px; }
.concept-card__body > span { color: var(--coral); font-size: 10px; letter-spacing: .16em; }
.concept-card__body h3 { margin: 7px 0 13px; font: 500 36px var(--display); letter-spacing: -.045em; }
.concept-card__body p { min-height: 82px; margin: 0 0 22px; color: #5e5453; font-size: 14px; }
.concept-card--dark p { color: rgba(255,255,255,.66); }
.concept-card__body strong { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.support-section { color: #fff; background: var(--plum); }
.support-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 9vw; }
.support-intro { position: sticky; top: 120px; align-self: start; }
.support-intro h2 { margin-bottom: 28px; }
.support-intro > p:last-child { max-width: 500px; color: rgba(255,255,255,.62); }
.support-list { border-top: 1px solid rgba(255,255,255,.18); }
.support-list article { display: grid; grid-template-columns: 50px 1fr; gap: 16px; padding: 28px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.support-list article > span { color: var(--coral); font-size: 10px; }
.support-list h3 { margin: 0 0 7px; font: 500 20px var(--display); }
.support-list p { margin: 0; color: rgba(255,255,255,.58); font-size: 13px; }
.investment-section { background: var(--cream); }
.interior-heading--center { margin-inline: auto; text-align: center; }
.investment-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.investment-grid article { min-height: 270px; display: flex; flex-direction: column; justify-content: flex-end; padding: 30px; border-right: 1px solid var(--line); }
.investment-grid article:last-child { border: 0; }
.investment-grid span { margin-bottom: auto; color: var(--wine); font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.investment-grid strong { font: 500 clamp(42px, 5vw, 64px) var(--display); letter-spacing: -.06em; }
.investment-grid p { margin: 2px 0 0; color: #6b6060; font-size: 12px; }
.investment-note { max-width: 850px; margin: 24px auto 0; color: #776d6c; font-size: 11px; text-align: center; }
.application-section { padding: 130px 0; color: #fff; background: var(--wine); }
.application-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9vw; align-items: start; }
.application-grid > div:first-child > p:last-child { max-width: 480px; color: rgba(255,255,255,.64); }
.modern-form { display: grid; gap: 25px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.form-group { display: grid; gap: 7px; }
.modern-form label, .application-form label { color: rgba(255,255,255,.68); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.modern-form input, .modern-form textarea, .application-form input, .application-form textarea { width: 100%; padding: 12px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.36); border-radius: 0; outline: 0; color: #fff; background: transparent; }
.modern-form input:focus, .modern-form textarea:focus, .application-form input:focus, .application-form textarea:focus { border-color: var(--coral); }
.modern-form textarea, .application-form textarea { resize: vertical; }
.checkbox-group { display: grid; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; }
.checkbox-group input { width: 16px; height: 16px; margin-top: 3px; accent-color: var(--coral); }
.checkbox-group label { color: rgba(255,255,255,.65); font-size: 11px; line-height: 1.5; text-transform: none; }
.checkbox-group label a { color: #fff; text-decoration: underline; }
.modern-form .button { width: fit-content; min-width: 190px; gap: 30px; border: 0; cursor: pointer; }
#franchise-message.success, #franchise-message.error { grid-column: 2; margin-top: 15px; padding: 12px 16px; background: rgba(255,255,255,.1); }

/* Careers */
.career-hero, .legal-hero { padding: 175px 0 95px; color: #fff; background: var(--plum); }
.career-hero p, .legal-hero p { max-width: 680px; color: rgba(255,255,255,.65); font-size: 18px; }
.career-section { padding: 100px 0 130px; }
.career-section .job-detail-layout > div:first-child > h2 { margin: 0; font: 500 clamp(46px, 5.5vw, 76px)/.98 var(--display); letter-spacing: -.06em; }
.career-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.job-card { min-height: 330px; display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--line); background: var(--cream); transition: transform .25s, border-color .25s; }
.job-card:hover { transform: translateY(-5px); border-color: var(--coral); }
.job-card__location { color: var(--wine); font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.job-card h2 { margin: 18px 0 12px; font: 500 27px/1.15 var(--display); letter-spacing: -.035em; }
.job-card__preview { color: #6c6261; font-size: 13px; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.job-card__link { margin-top: auto; padding-top: 20px; color: var(--wine); font-size: 12px; font-weight: 600; }
.talent-cta { margin-top: 65px; padding: 55px; display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; color: #fff; background: var(--wine); }
.talent-cta h2 { margin: 0 0 8px; font: 500 32px var(--display); }
.talent-cta p { margin: 0; color: rgba(255,255,255,.64); }
.job-detail-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 8vw; }
.job-copy { color: #4f4747; }
.job-copy h2, .job-copy h3 { font-family: var(--display); }
.application-panel { padding: 45px; color: #fff; background: var(--wine); }
.application-panel h2 { margin: 0 0 30px; font: 500 34px var(--display); }
.application-form { display: grid; gap: 22px; }
.hidden { display: none !important; }
.form-message.success, .form-message.error { margin-top: 18px; padding: 12px 15px; border: 1px solid rgba(255,255,255,.24); color: #fff; font-size: 13px; }

/* Legal and locations */
.legal-content { padding: 90px 0 130px; }
.legal-document { max-width: 900px; margin: auto; }
.legal-document h2 { margin: 54px 0 13px; font: 500 28px var(--display); letter-spacing: -.03em; }
.legal-document p, .legal-document li { color: #5e5554; font-size: 14px; }
.legal-document a { color: var(--wine); text-decoration: underline; }
.imprint-card { max-width: 760px; padding: 48px; border: 1px solid var(--line); background: var(--paper); }
.locations-page-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.locations-page-grid .location-card { min-height: 380px; }

/* City search landing pages */
.city-hero { position: relative; min-height: 780px; display: flex; align-items: flex-end; overflow: hidden; color: #fff; background: var(--plum); }
.city-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.city-hero__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(27,10,18,.97), rgba(27,10,18,.72) 55%, rgba(27,10,18,.28)), linear-gradient(0deg, rgba(20,8,14,.72), transparent 60%); }
.city-hero__content { position: relative; z-index: 1; padding: 160px 0 70px; }
.breadcrumbs { display: flex; gap: 9px; margin-bottom: 64px; color: rgba(255,255,255,.58); font-size: 11px; }
.breadcrumbs a:hover { color: #fff; }
.city-hero h1 { max-width: 900px; margin: 10px 0 25px; font: 500 clamp(58px, 7vw, 104px)/.95 var(--display); letter-spacing: -.065em; }
.city-hero__lead { max-width: 720px; color: rgba(255,255,255,.78); font-size: 19px; }
.city-status { max-width: 860px; margin-top: 32px; padding: 19px 22px; display: grid; grid-template-columns: auto 1fr; gap: 28px; align-items: center; border: 1px solid rgba(255,255,255,.22); background: rgba(27,10,18,.42); backdrop-filter: blur(12px); }
.city-status strong { color: var(--coral); font-size: 12px; letter-spacing: .07em; text-transform: uppercase; }
.city-status span { color: rgba(255,255,255,.66); font-size: 12px; }
.city-intro { background: var(--paper); }
.city-intro .split-heading h2, .city-local h2, .city-expect h2, .city-faq h2, .city-links h2, .city-cta h2 { margin: 0; font: 500 clamp(46px, 5.5vw, 78px)/.98 var(--display); letter-spacing: -.06em; }
.city-intro .split-heading p { font-size: 16px; line-height: 1.75; }
.city-pillars { margin-top: 80px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.city-pillars article { min-height: 270px; padding: 30px; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.city-pillars article:last-child { border: 0; }
.city-pillars span { color: var(--coral); font-size: 11px; }
.city-pillars h3 { margin: auto 0 10px; font: 500 28px var(--display); letter-spacing: -.04em; }
.city-pillars p { margin: 0; color: #675d5c; font-size: 13px; }
.city-local { color: #fff; background: var(--wine); }
.city-local__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; }
.city-local__image { overflow: hidden; }
.city-local__image img { width: 100%; aspect-ratio: 4/5; object-fit: cover; transition: transform .6s ease; }
.city-local__image:hover img { transform: scale(1.025); }
.city-local__grid > div:last-child p:last-child { max-width: 560px; color: rgba(255,255,255,.67); font-size: 17px; line-height: 1.75; }
.city-expect { background: var(--cream); }
.city-expect__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9vw; }
.city-expect ol { margin: 0; padding: 0; list-style: none; counter-reset: city-expect; border-top: 1px solid var(--line); }
.city-expect li { counter-increment: city-expect; padding: 25px 5px; display: grid; grid-template-columns: 55px 1fr; border-bottom: 1px solid var(--line); color: #514848; }
.city-expect li::before { content: '0' counter(city-expect); color: var(--coral); font-size: 11px; }
.city-faq { background: var(--paper); }
.city-faq__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9vw; }
.city-faq__items { border-top: 1px solid var(--line); }
.city-faq details { border-bottom: 1px solid var(--line); }
.city-faq summary { padding: 24px 40px 24px 0; position: relative; cursor: pointer; list-style: none; font: 500 19px var(--display); }
.city-faq summary::-webkit-details-marker { display: none; }
.city-faq summary::after { content: '+'; position: absolute; right: 8px; color: var(--coral); }
.city-faq details[open] summary::after { content: '−'; }
.city-faq details p { margin: -5px 55px 25px 0; color: #665d5c; font-size: 14px; }
.city-links { background: var(--cream); }
.city-link-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.city-link-grid a { min-height: 260px; padding: 30px; display: flex; flex-direction: column; border: 1px solid var(--line); transition: transform .25s, background .25s; }
.city-link-grid a:hover { transform: translateY(-4px); background: var(--paper); }
.city-link-grid span, .city-link-grid small { color: #6d6261; font-size: 10px; letter-spacing: .11em; text-transform: uppercase; }
.city-link-grid strong { margin: auto 0; font: 500 clamp(44px, 5vw, 68px) var(--display); letter-spacing: -.06em; }
.city-cta { padding: 80px 0; color: #fff; background: var(--coral); }
.city-cta .container { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; }
.city-cta h2 { font-size: clamp(44px, 5vw, 70px); }
.city-cta p { margin: 10px 0 0; color: rgba(255,255,255,.78); }

@media (max-width: 980px) {
  .interior-section, .application-section { padding: 95px 0; }
  .split-heading, .support-grid, .application-grid, .job-detail-layout, .city-local__grid, .city-expect__grid, .city-faq__grid { grid-template-columns: 1fr; gap: 55px; }
  .support-intro { position: static; }
  .career-grid, .locations-page-grid { grid-template-columns: 1fr 1fr; }
  .city-pillars { grid-template-columns: 1fr; }
  .city-pillars article { min-height: 210px; border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 680px) {
  .interior-hero { min-height: 720px; align-items: flex-end; }
  .interior-hero__content { padding-bottom: 70px; }
  .interior-hero h1 { font-size: 50px; }
  .interior-hero__veil { background: linear-gradient(0deg, rgba(27,10,18,.98), rgba(27,10,18,.42)); }
  .stat-grid, .concept-grid, .investment-grid, .career-grid, .locations-page-grid { grid-template-columns: 1fr; }
  .stat-grid > div { min-height: 120px; padding: 22px 0; border-right: 0; border-bottom: 1px solid rgba(40,20,20,.18); }
  .concept-card__body { padding: 27px 24px 32px; }
  .investment-grid article { min-height: 220px; border-right: 0; border-bottom: 1px solid var(--line); }
  .form-row { grid-template-columns: 1fr; }
  .talent-cta { padding: 35px 26px; grid-template-columns: 1fr; }
  .talent-cta .button { width: 100%; }
  .application-panel, .imprint-card { padding: 30px 22px; }
  .city-hero { min-height: 740px; }
  .city-hero__content { padding-bottom: 45px; }
  .breadcrumbs { margin-bottom: 40px; }
  .city-hero h1 { font-size: 50px; }
  .city-status { grid-template-columns: 1fr; gap: 8px; }
  .city-pillars { margin-top: 55px; }
  .city-link-grid, .city-cta .container { grid-template-columns: 1fr; }
  .city-cta .button { width: 100%; }
}
