.franchise-page { background: #fff; }
.franchise-hero { position: relative; width: min(1280px, calc(100% - 48px)); min-height: 620px; display: grid; grid-template-columns: minmax(0, .92fr) minmax(440px, 1.08fr); overflow: hidden; margin: 26px auto 0; border: 1px solid #15333c; border-radius: 14px; color: #fff; background: #0d1f26; box-shadow: var(--shadow); isolation: isolate; }
.franchise-hero::before { position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 62% 25%, rgba(3,178,209,.25), transparent 25%), linear-gradient(120deg, #0d1f26 0%, #0d1f26 49%, #0b5968 100%); content: ""; }.franchise-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(52px, 6vw, 92px); }.franchise-hero .eyebrow { color: #65e5ef; }.franchise-hero .eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: #65e5bb; box-shadow: 0 0 0 4px rgba(101,229,187,.12); }.franchise-hero h1 { margin: 0 0 23px; color: #fff; font-family: var(--mona); font-size: clamp(57px, 7vw, 91px); font-weight: 730; letter-spacing: -.078em; line-height: .89; font-variation-settings: "wght" 730, "wdth" 107, "opsz" 72; }.franchise-hero h1 em { color: #65e5ef; font-style: normal; }.franchise-hero-copy > p:not(.eyebrow) { max-width: 430px; margin: 0; color: #b8d3d7; font-size: 17px; line-height: 1.55; }.franchise-hero-visual { position: relative; overflow: hidden; }.franchise-hero-visual::before { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, #0d1f26 0%, transparent 34%), linear-gradient(180deg, transparent, rgba(13,31,38,.36)); content: ""; }.franchise-hero-visual img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.78) contrast(1.04); }.visual-status { position: absolute; z-index: 2; right: 34px; bottom: 70px; min-width: 206px; padding: 15px; border: 1px solid rgba(182,235,237,.26); border-radius: 10px; color: #dffeff; background: rgba(7,37,45,.76); box-shadow: 0 12px 36px rgba(0,0,0,.18); backdrop-filter: blur(14px); }.visual-status span { width: 7px; height: 7px; display: inline-block; margin-right: 7px; border-radius: 50%; background: #65e5bb; }.visual-status b { font-size: 13px; }.visual-status small { display: block; margin-top: 7px; color: #b8d3d7; font-size: 11px; }.franchise-hero-foot { position: absolute; right: 42px; bottom: 24px; left: 42px; display: flex; justify-content: space-between; color: #a5c3c7; font-size: 11px; font-weight: 560; }
.franchise-proof { width: min(1280px, calc(100% - 48px)); display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 auto; border: 1px solid var(--grid-line); border-top: 0; border-radius: 0 0 14px 14px; }.franchise-proof article { min-height: 111px; display: flex; gap: 15px; padding: 26px; border-right: 1px solid var(--grid-line); }.franchise-proof article:last-child { border-right: 0; }.franchise-proof article > span { color: var(--spin-aqua); font-size: 12px; font-weight: 700; }.franchise-proof b { display: block; color: #172e35; font-size: 14px; font-weight: 680; letter-spacing: -.025em; }.franchise-proof p { margin: 5px 0 0; color: var(--muted); font-size: 13px; line-height: 1.42; }
.franchise-model { width: min(1180px, calc(100% - 48px)); display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(45px, 9vw, 128px); align-items: start; margin: 120px auto; }.franchise-model .eyebrow, .franchise-image-story .eyebrow, .franchise-form-section .eyebrow { color: var(--deep-aqua); }.franchise-model h2, .franchise-image-story h2, .franchise-form-section h2 { margin: 0 0 21px; color: #0d1f26; font-family: var(--mona); font-size: clamp(39px, 4.9vw, 65px); font-weight: 710; letter-spacing: -.068em; line-height: .93; font-variation-settings: "wght" 710, "wdth" 105, "opsz" 54; }.franchise-model-copy > p:not(.eyebrow), .franchise-image-story p:not(.eyebrow), .form-intro > p:not(.eyebrow) { color: var(--muted); font-size: 16px; line-height: 1.6; }.franchise-model-cards { display: grid; gap: 0; overflow: hidden; border: 1px solid #cfdce0; border-radius: 12px; }.franchise-model-cards article { min-height: 158px; padding: 22px; border-bottom: 1px solid #cfdce0; background: #fff; transition: color .25s ease, background .25s ease; }.franchise-model-cards article:last-child { border-bottom: 0; }.franchise-model-cards article:hover { color: #fff; background: #0d1f26; }.franchise-model-cards span { display: block; margin-bottom: 24px; color: var(--spin-aqua); font-size: 11px; font-weight: 700; }.franchise-model-cards h3 { margin: 0 0 7px; color: inherit; font-family: var(--mona); font-size: 22px; font-weight: 680; letter-spacing: -.05em; }.franchise-model-cards p { max-width: 510px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }.franchise-model-cards article:hover p { color: #b6d0d4; }
.franchise-image-story { width: min(1180px, calc(100% - 48px)); display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(45px, 9vw, 125px); align-items: center; margin: 120px auto; }.franchise-image-story figure { position: relative; min-height: 470px; overflow: hidden; margin: 0; border: 1px solid #bcd9dc; border-radius: 12px; background: #0d1f26; box-shadow: var(--shadow); }.franchise-image-story figure::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 38%, rgba(13,31,38,.86)); content: ""; }.franchise-image-story img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; filter: saturate(.82) contrast(1.05); transition: transform .8s var(--ease-out); }.franchise-image-story figure:hover img { transform: scale(1.04); }.franchise-image-story figcaption { position: absolute; z-index: 1; right: 25px; bottom: 24px; left: 25px; }.franchise-image-story figcaption span { display: block; margin-bottom: 5px; color: #b5f7f9; font-size: 11px; font-weight: 650; }.franchise-image-story figcaption b { color: #fff; font-family: var(--mona); font-size: 31px; font-weight: 690; letter-spacing: -.06em; }
.franchise-form-section { width: min(1180px, calc(100% - 48px)); display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(40px, 8vw, 112px); margin: 132px auto; padding: clamp(30px, 5vw, 65px); border: 1px solid #15333c; border-radius: 14px; background: #0d1f26; }.franchise-form-section .eyebrow { color: #65e5ef; }.franchise-form-section h2 { color: #fff; }.form-intro > p:not(.eyebrow) { color: #b8d3d7; }.franchise-form { padding: 22px; border: 1px solid rgba(182,235,237,.25); border-radius: 10px; background: rgba(255,255,255,.06); }.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }.franchise-form label { display: grid; gap: 7px; color: #dffeff; font-size: 12px; font-weight: 650; }.franchise-form input, .franchise-form select, .franchise-form textarea { width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid rgba(182,235,237,.3); border-radius: 7px; outline: none; color: #fff; background: rgba(4,26,32,.54); font: inherit; font-size: 14px; transition: border-color .2s ease, box-shadow .2s ease; }.franchise-form select { color: #dffeff; }.franchise-form option { color: #0d1f26; background: #fff; }.franchise-form textarea { min-height: 105px; resize: vertical; }.franchise-form input::placeholder, .franchise-form textarea::placeholder { color: #90afb3; }.franchise-form input:focus, .franchise-form select:focus, .franchise-form textarea:focus { border-color: #7ce5ed; box-shadow: 0 0 0 3px rgba(124,229,237,.15); }.form-message { margin-top: 15px; }.form-consent { grid-template-columns: 17px 1fr; align-items: start; margin-top: 16px; color: #b8d3d7 !important; font-size: 12px !important; font-weight: 500 !important; line-height: 1.45; }.form-consent input { width: 17px; min-height: 17px; margin-top: 1px; accent-color: #7ce5ed; }.form-submit { display: flex; align-items: center; gap: 16px; margin-top: 21px; }.form-submit .button { flex: none; }.form-submit p { margin: 0; color: #a9c8cb; font-size: 11px; line-height: 1.4; }
@media (max-width: 850px) { .franchise-hero, .franchise-proof { width: calc(100% - 32px); }.franchise-hero { grid-template-columns: 1fr; }.franchise-hero-copy { min-height: 500px; }.franchise-hero-visual { min-height: 340px; }.franchise-proof article { padding: 21px; }.franchise-model, .franchise-image-story, .franchise-form-section { width: calc(100% - 48px); }.franchise-model, .franchise-image-story { grid-template-columns: 1fr; gap: 48px; }.franchise-form-section { grid-template-columns: 1fr; gap: 34px; } }
@media (max-width: 590px) { .franchise-hero, .franchise-proof { width: calc(100% - 28px); }.franchise-hero { min-height: 690px; margin-top: 14px; }.franchise-hero-copy { min-height: 490px; padding: 54px 25px 42px; }.franchise-hero h1 { font-size: clamp(53px, 15vw, 72px); }.franchise-hero-copy > p:not(.eyebrow) { font-size: 15px; }.franchise-hero-visual { min-height: 270px; }.franchise-hero-visual::before { background: linear-gradient(180deg, #0d1f26, rgba(13,31,38,.1) 40%); }.visual-status { right: 22px; bottom: 55px; }.franchise-hero-foot { right: 24px; bottom: 22px; left: 24px; gap: 12px; font-size: 9px; }.franchise-proof { grid-template-columns: 1fr; }.franchise-proof article { min-height: auto; padding: 18px; border-right: 0; border-bottom: 1px solid var(--grid-line); }.franchise-proof article:last-child { border-bottom: 0; }.franchise-model, .franchise-image-story, .franchise-form-section { width: calc(100% - 32px); }.franchise-model, .franchise-image-story { margin: 82px auto; }.franchise-model h2, .franchise-image-story h2, .franchise-form-section h2 { font-size: clamp(37px, 11vw, 54px); }.franchise-image-story figure { min-height: 380px; }.franchise-form-section { margin: 86px auto; padding: 28px 20px; }.franchise-form { padding: 17px; }.form-grid { grid-template-columns: 1fr; gap: 13px; }.form-submit { align-items: flex-start; flex-direction: column; }.form-submit .button { width: 100%; } }
