:root {
–cyan: #029CD7;
–cyan-2: #0EBEFF;
–cyan-3: #E6F6FE;
–navy: #0B1A2B;
–navy-2: #182942;
–navy-3: #2A3B52;
–ink: #0B1A2B;
–text: #2D3D54;
–muted: #5C6F8A;
–soft: #94A4BD;
–bg: #FAFAF7; /* warm white — replaces cold #fff */
–paper: #ffffff;
–off: #F2F0EA; /* warm light cream */
–line: #E5E1D6;
–line-2: #EFECE3;
–shadow-sm: 0 1px 2px rgba(11,26,43,.04), 0 4px 12px rgba(11,26,43,.04);
–shadow-md: 0 4px 18px rgba(11,26,43,.06), 0 14px 32px rgba(11,26,43,.06);
–shadow-lg: 0 10px 36px rgba(11,26,43,.08), 0 28px 60px rgba(11,26,43,.08);
}

* { box-sizing: border-box; }

.yio-page {
font-family: ‘Inter’, -apple-system, BlinkMacSystemFont, ‘Segoe UI’, Roboto, sans-serif;
color: var(–text);
line-height: 1.7;
letter-spacing: -0.005em;
background: var(–bg);
}

.yio-page h1, .yio-page h2, .yio-page h3, .yio-page h4 {
font-family: ‘Space Grotesk’, -apple-system, BlinkMacSystemFont, sans-serif;
color: var(–navy);
line-height: 1.08;
letter-spacing: -0.028em;
margin: 0;
font-weight: 600;
}
.yio-page h2 {
font-size: clamp(2rem, 4vw, 2.9rem);
font-weight: 600;
margin: 0 0 24px;
max-width: 22ch;
}
.yio-page h2 em {
color: var(–cyan);
font-style: normal;
font-weight: 600;
}
.yio-page h3 {
font-size: 1.18rem;
margin: 0 0 12px;
font-weight: 600;
letter-spacing: -0.018em;
}
.yio-page p { margin: 0 0 1em; }
.yio-page p:last-child { margin-bottom: 0; }

.yio-page a {
color: var(–cyan);
text-decoration: none;
border-bottom: 1px solid transparent;
transition: color .18s ease, border-color .18s ease;
}
.yio-page a:hover {
color: #0080B8;
border-bottom-color: var(–cyan);
}

/* ─── HERO ────────────────────────────────────────────────────── */
.yio-hero {
background: var(–navy);
color: #fff;
padding: 110px 24px 100px;
position: relative;
overflow: hidden;
}
.yio-hero::before {
content: ”;
position: absolute;
inset: 0;
background-image: url(‘https://images.unsplash.com/photo-1597733336794-12d05021d510?fm=jpg&q=70&w=1800&auto=format&fit=crop’);
background-size: cover;
background-position: center;
opacity: .18;
z-index: 0;
}
.yio-hero::after {
content: ”;
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 80% 60% at 75% 20%, rgba(2,156,215,.28), transparent 60%),
linear-gradient(180deg, rgba(11,26,43,.4) 0%, rgba(11,26,43,.85) 100%);
z-index: 0;
pointer-events: none;
}

.yio-hero-inner {
max-width: 1180px;
margin: 0 auto;
display: grid;
grid-template-columns: 1.1fr .9fr;
gap: 64px;
align-items: center;
position: relative;
z-index: 1;
}
.yio-hero-eyebrow {
display: inline-flex;
align-items: center;
gap: 12px;
font-family: ‘Space Grotesk’, sans-serif;
font-size: .8rem;
font-weight: 600;
letter-spacing: .14em;
text-transform: uppercase;
color: var(–cyan-2);
margin-bottom: 24px;
}
.yio-hero-eyebrow::before {
content: ”;
width: 36px; height: 1px;
background: var(–cyan-2);
}
.yio-hero h1 {
color: #fff;
font-family: ‘Space Grotesk’, sans-serif;
font-size: clamp(2rem, 3.6vw, 3.1rem);
font-weight: 600;
letter-spacing: -0.028em;
line-height: 1.08;
margin: 0 0 24px;
max-width: 19ch;
}
.yio-hero h1 em {
color: var(–cyan-2);
font-style: normal;
font-weight: 600;
}
.yio-hero-sub {
color: rgba(255,255,255,.78);
font-size: 1.1rem;
max-width: 50ch;
line-height: 1.6;
margin: 0;
}

.yio-success-badge, .yio-warning-badge {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 7px 14px;
border-radius: 999px;
font-size: .8rem;
font-weight: 600;
margin-bottom: 22px;
letter-spacing: .015em;
}
.yio-success-badge {
background: rgba(34,197,94,.14);
border: 1px solid rgba(74,222,128,.4);
color: #4ADE80;
}
.yio-warning-badge {
background: rgba(251,146,60,.14);
border: 1px solid rgba(251,146,60,.4);
color: #FB923C;
}

/* Hero form card */
.yio-form-card {
background: rgba(255,255,255,.06);
border: 1px solid rgba(255,255,255,.12);
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
border-radius: 18px;
padding: 28px 28px 12px;
box-shadow: var(–shadow-lg);
}
.yio-form-card h3 {
color: #fff;
font-size: 1.18rem;
margin: 0 0 6px;
}
.yio-form-card > p {
color: rgba(255,255,255,.65);
font-size: .92rem;
margin: 0 0 18px;
}
.yio-form-tag {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(–cyan-2);
font-size: .76rem;
font-weight: 600;
letter-spacing: .12em;
text-transform: uppercase;
margin-bottom: 12px;
}
.yio-pulse-dot {
width: 7px; height: 7px;
border-radius: 50%;
background: #4ADE80;
box-shadow: 0 0 0 0 rgba(74,222,128,.7);
animation: yio-pulse 1.6s ease-out infinite;
}
@keyframes yio-pulse {
0% { box-shadow: 0 0 0 0 rgba(74,222,128,.7); }
70% { box-shadow: 0 0 0 9px rgba(74,222,128,0); }
100% { box-shadow: 0 0 0 0 rgba(74,222,128,0); }
}
/* CRITICAL: GHL survey iframe — let form_embed.js handle resize, but keep a sensible min-height for first paint */
.yio-iframe {
width: 100%;
min-height: 480px;
border: 0;
display: block;
background: transparent;
}

/* ─── SECTIONS ────────────────────────────────────────────────── */
.yio-section {
padding: 120px 24px;
background: var(–bg);
}
.yio-section.yio-section-alt { background: var(–off); }
.yio-section-inner {
max-width: 980px;
margin: 0 auto;
}

/* Numbered eyebrow — appears at top of every section */
.yio-sec-mark {
display: inline-flex;
align-items: center;
gap: 16px;
margin-bottom: 28px;
font-family: ‘Space Grotesk’, sans-serif;
font-size: .78rem;
font-weight: 600;
letter-spacing: .14em;
text-transform: uppercase;
color: var(–cyan);
}
.yio-sec-mark span { display: inline-flex; align-items: center; gap: 16px; }
.yio-sec-mark::after {
content: ”;
width: 64px; height: 1px;
background: var(–cyan);
opacity: .4;
}
/* When the section uses a centered header, center the eyebrow too */
.yio-sec-mark:has(+ .yio-sh-centered),
.yio-section-inner:has(.yio-sh-centered) > .yio-sec-mark {
display: flex;
justify-content: center;
margin-left: auto;
margin-right: auto;
width: fit-content;
}

.yio-page .yio-lead {
font-size: 1.14rem;
color: var(–navy-3);
max-width: 62ch;
margin: 0 0 40px;
line-height: 1.6;
font-weight: 400;
}

/* ─── BULLETS — minimalist line markers ───────────────────────── */
.yio-bullets {
list-style: none;
padding: 0;
margin: 24px 0 32px;
}
.yio-bullets li {
position: relative;
padding: 14px 0 14px 38px;
border-bottom: 1px solid var(–line-2);
font-size: 1rem;
}
.yio-bullets li:last-child { border-bottom: 0; }
.yio-bullets li::before {
content: ”;
position: absolute;
left: 0; top: 22px;
width: 22px; height: 1px;
background: var(–cyan);
}
.yio-bullets li strong {
color: var(–navy);
font-weight: 600;
}

/* ─── CARDS-4 — 16:9 image cards with gradient overlay ────────── */
.yio-cards-4 {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 28px;
margin: 40px 0;
}
.yio-card {
background: var(–paper);
border: 1px solid var(–line);
border-radius: 16px;
overflow: hidden;
transition: transform .25s ease, box-shadow .25s ease;
}
.yio-card:hover {
transform: translateY(-4px);
box-shadow: var(–shadow-md);
}
.yio-card-img {
aspect-ratio: 16/10;
position: relative;
overflow: hidden;
background: var(–off);
}
.yio-card-img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .5s ease;
}
.yio-card-img::after {
content: ”;
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(11,26,43,0) 50%, rgba(11,26,43,.55) 100%);
pointer-events: none;
z-index: 1;
}
.yio-card:hover .yio-card-img img { transform: scale(1.05); }
.yio-card-img-tag { display: none; } /* tags removed — felt corporate */
.yio-card-body { padding: 24px 24px 26px; }
.yio-card-body h3 {
font-size: 1.1rem;
margin: 0 0 10px;
letter-spacing: -0.02em;
}
.yio-card-body p {
font-size: .96rem;
margin: 0;
color: var(–text);
line-height: 1.6;
}

/* ─── ALTERNATING FEATURE STRIP — true zig-zag, 4:5 portrait ──── */
.yio-feature-strip {
display: grid;
grid-template-columns: 1fr 1.05fr;
gap: 64px;
align-items: center;
margin: 56px 0;
padding: 16px 0;
}
.yio-feature-strip.yio-flip > .yio-feature-img { order: 2; }
.yio-feature-img {
aspect-ratio: 4/5;
border-radius: 18px;
overflow: hidden;
box-shadow: var(–shadow-md);
background: var(–off);
position: relative;
}
.yio-feature-img::after {
content: ”;
position: absolute;
inset: 0;
background: linear-gradient(140deg, transparent 50%, rgba(11,26,43,.15) 100%);
pointer-events: none;
}
.yio-feature-img img {
width: 100%; height: 100%;
object-fit: cover;
display: block;
}
.yio-feature-body h3 {
font-family: ‘Space Grotesk’, sans-serif;
font-size: clamp(1.4rem, 2.4vw, 1.7rem);
margin: 0 0 16px;
letter-spacing: -0.022em;
line-height: 1.2;
max-width: 22ch;
}
.yio-feature-body p {
font-size: 1.02rem;
line-height: 1.65;
color: var(–text);
}

/* ─── SPLIT — small inline image + text (used inside section flow) */
.yio-split {
display: grid;
grid-template-columns: 280px 1fr;
gap: 40px;
align-items: start;
padding: 32px 0;
border-bottom: 1px solid var(–line-2);
}
.yio-split:last-child { border-bottom: 0; }
.yio-split-img {
aspect-ratio: 4/5;
border-radius: 14px;
overflow: hidden;
background: var(–off);
}
.yio-split-img img {
width: 100%; height: 100%;
object-fit: cover;
display: block;
}
.yio-split h3 {
font-size: 1.18rem;
margin: 4px 0 12px;
}

/* ─── CINEMATIC IMAGE BREAK — full-bleed panoramic divider ────── */
.yio-cinematic {
position: relative;
height: 360px;
overflow: hidden;
background: var(–navy);
}
.yio-cinematic img {
width: 100%; height: 100%;
object-fit: cover;
display: block;
opacity: .85;
}
.yio-cinematic::after {
content: ”;
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(11,26,43,.5) 0%, rgba(11,26,43,.7) 100%);
}
.yio-cinematic-quote {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
z-index: 2;
padding: 0 32px;
}
.yio-cinematic-quote p {
color: #fff;
font-family: ‘Space Grotesk’, sans-serif;
font-size: clamp(1.4rem, 2.6vw, 1.9rem);
font-weight: 500;
letter-spacing: -0.02em;
line-height: 1.3;
text-align: center;
max-width: 28ch;
margin: 0;
}

/* ─── TABLES — refined, subtle ─────────────────────────────────── */
.yio-table-wrap {
margin: 32px 0;
overflow-x: auto;
border: 1px solid var(–line);
border-radius: 16px;
background: var(–paper);
box-shadow: var(–shadow-sm);
}
.yio-table {
width: 100%;
border-collapse: collapse;
min-width: 580px;
}
.yio-table th {
background: var(–navy);
color: #fff;
padding: 18px 20px;
text-align: left;
font-family: ‘Space Grotesk’, sans-serif;
font-size: .9rem;
font-weight: 600;
letter-spacing: .015em;
}
.yio-table td {
padding: 16px 20px;
border-bottom: 1px solid var(–line-2);
font-size: .98rem;
}
.yio-table tr:last-child td { border-bottom: 0; }
.yio-table tr:nth-child(even) td { background: var(–off); }

/* ─── FAQ — interactive accordion (details/summary, no JS) ─────── */
.yio-faq {
max-width: 820px;
margin: 32px auto;
}
.yio-faq-item {
border-bottom: 1px solid var(–line);
background: transparent;
transition: background .2s ease;
}
.yio-faq-item:first-child { border-top: 1px solid var(–line); }
.yio-faq-item summary {
list-style: none;
cursor: pointer;
padding: 24px 56px 24px 4px;
position: relative;
display: block;
transition: padding-left .2s ease;
}
.yio-faq-item summary::-webkit-details-marker { display: none; }
.yio-faq-item summary:hover { padding-left: 12px; }
.yio-faq-q {
font-family: ‘Space Grotesk’, sans-serif;
font-weight: 600;
font-size: 1.08rem;
color: var(–navy);
letter-spacing: -0.018em;
line-height: 1.35;
display: block;
}
.yio-faq-icon {
position: absolute;
right: 8px;
top: 50%;
width: 32px; height: 32px;
border-radius: 50%;
border: 1px solid var(–line);
background: var(–paper);
transform: translateY(-50%);
transition: background .2s ease, border-color .2s ease, transform .25s ease;
}
.yio-faq-icon::before,
.yio-faq-icon::after {
content: ”;
position: absolute;
background: var(–cyan);
top: 50%; left: 50%;
transform: translate(-50%, -50%);
transition: transform .3s cubic-bezier(.5,.05,.2,.95);
}
.yio-faq-icon::before { width: 12px; height: 2px; } /* horizontal */
.yio-faq-icon::after { width: 2px; height: 12px; } /* vertical */
.yio-faq-item[open] .yio-faq-icon {
background: var(–cyan);
border-color: var(–cyan);
transform: translateY(-50%) rotate(180deg);
}
.yio-faq-item[open] .yio-faq-icon::before,
.yio-faq-item[open] .yio-faq-icon::after { background: #fff; }
.yio-faq-item[open] .yio-faq-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.yio-faq-item summary:hover .yio-faq-icon { border-color: var(–cyan); }
.yio-faq-a {
padding: 0 4px 28px;
animation: yio-faq-fade .25s ease both;
}
.yio-faq-a p {
margin: 0;
color: var(–text);
font-size: 1rem;
line-height: 1.65;
max-width: 64ch;
}
@keyframes yio-faq-fade {
from { opacity: 0; transform: translateY(-4px); }
to { opacity: 1; transform: translateY(0); }
}

/* ─── CTA BAND ────────────────────────────────────────────────── */
.yio-cta-band {
background: linear-gradient(135deg, var(–navy) 0%, #08283A 100%);
color: #fff;
padding: 110px 24px;
position: relative;
overflow: hidden;
}
.yio-cta-band::before {
content: ”;
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 70% 50% at 80% 20%, rgba(2,156,215,.22), transparent 60%),
radial-gradient(ellipse 50% 40% at 20% 90%, rgba(14,190,255,.14), transparent 60%);
}
.yio-cta-inner {
max-width: 760px;
margin: 0 auto;
position: relative;
z-index: 1;
text-align: center;
}
.yio-cta-inner h2 {
color: #fff;
margin: 0 auto 20px;
max-width: 22ch;
font-size: clamp(2rem, 4vw, 2.8rem);
}
.yio-cta-inner p {
color: rgba(255,255,255,.78);
margin: 0 auto 36px;
max-width: 56ch;
font-size: 1.08rem;
}
.yio-btn-primary {
display: inline-block;
background: var(–cyan);
color: #fff !important;
padding: 17px 36px;
border-radius: 12px;
font-weight: 600;
border: 0;
border-bottom: 0 !important;
text-decoration: none;
font-family: ‘Space Grotesk’, sans-serif;
font-size: 1.02rem;
letter-spacing: .005em;
transition: background .2s, transform .2s, box-shadow .2s;
}
.yio-btn-primary:hover {
background: #0080B8;
transform: translateY(-2px);
box-shadow: 0 14px 32px rgba(2,156,215,.35);
border-bottom: 0 !important;
}
.yio-cta-secondary {
display: inline-block;
color: rgba(255,255,255,.85) !important;
padding: 17px 18px;
border-bottom: 1px solid rgba(255,255,255,.28) !important;
margin-left: 18px;
font-family: ‘Space Grotesk’, sans-serif;
font-weight: 500;
}
.yio-cta-secondary:hover {
color: #fff !important;
border-bottom-color: var(–cyan-2) !important;
}

/* ─── CLOSING-LINKS SECTION ───────────────────────────────────── */
.yio-close-wrap {
background: var(–off);
padding: 64px 24px 80px;
}
.yio-close-links {
max-width: 880px;
margin: 0 auto;
padding: 40px 44px;
background: var(–paper);
border: 1px solid var(–line);
border-radius: 20px;
box-shadow: var(–shadow-sm);
}
.yio-close-links-label {
display: block;
font-family: ‘Space Grotesk’, sans-serif;
font-size: .76rem;
font-weight: 600;
letter-spacing: .14em;
text-transform: uppercase;
color: var(–cyan);
margin: 0 0 22px;
}
.yio-close-links ul { list-style: none; padding: 0; margin: 0; }
.yio-close-links li {
border-top: 1px solid var(–line-2);
}
.yio-close-links li:first-child { border-top: 0; }
.yio-close-links a {
display: flex;
align-items: center;
gap: 16px;
padding: 20px 0;
color: var(–navy) !important;
border-bottom: 0 !important;
font-size: 1.02rem;
font-weight: 500;
letter-spacing: -0.005em;
transition: color .15s ease, padding-left .25s ease;
}
.yio-close-links a:hover {
color: var(–cyan) !important;
padding-left: 8px;
}
.yio-close-links a::before {
content: ”;
width: 22px; height: 2px;
background: var(–cyan);
flex-shrink: 0;
transition: width .25s ease;
}
.yio-close-links a:hover::before { width: 32px; }
.yio-close-links a::after {
content: ‘↗’;
margin-left: auto;
color: var(–soft);
font-size: 1.1rem;
transition: color .15s ease, transform .25s ease;
}
.yio-close-links a:hover::after {
color: var(–cyan);
transform: translate(3px, -3px);
}
.yio-also-serving {
width: 100%;
max-width: 880px;
margin: 24px auto 0 !important;
padding: 20px 24px 0;
border-top: 1px solid var(–line);
color: var(–muted);
font-size: .94rem;
font-style: italic;
text-align: center !important;
display: block;
box-sizing: border-box;
}
.yio-also-serving a {
color: var(–navy) !important;
font-style: normal;
font-weight: 500;
border-bottom: 1px solid var(–line) !important;
}
.yio-also-serving a:hover {
color: var(–cyan) !important;
border-bottom-color: var(–cyan) !important;
}

/* ─── SECTION HEADER ───────────────────────────────────────────
Default: centered, stacked. H2 on top, lead paragraph below,
both centered with controlled max-widths. The numbered eyebrow
above (.yio-sec-mark) should also be centered when used with this. */
.yio-section-header {
margin: 0 0 56px;
}
.yio-sh-centered {
text-align: center;
max-width: 760px;
margin-left: auto;
margin-right: auto;
}
.yio-sh-centered h2 {
margin: 0 auto 22px;
max-width: 22ch;
}
.yio-sh-centered .yio-lead {
margin: 0 auto;
max-width: 60ch;
color: var(–muted);
}

/* Legacy 2-column option, retained but not default. */
.yio-sh-split {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: end;
}
.yio-sh-split h2 { margin: 0; max-width: 14ch; }
.yio-sh-split .yio-lead { margin: 0 0 6px; max-width: 50ch; }

/* ─── ENTITY GRID — neighborhoods, cities, providers ──────────── */
.yio-entity-grid {
display: grid;
gap: 16px;
margin: 32px 0;
}
.yio-entity-grid-3 { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.yio-entity-grid-4 { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.yio-entity-card {
background: var(–paper);
border: 1px solid var(–line);
border-left: 3px solid var(–cyan);
border-radius: 12px;
padding: 20px 22px;
transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.yio-entity-card:hover {
transform: translateY(-2px);
box-shadow: var(–shadow-sm);
}
.yio-entity-name {
font-family: ‘Space Grotesk’, sans-serif;
font-weight: 600;
font-size: 1.04rem;
color: var(–navy);
letter-spacing: -0.018em;
line-height: 1.25;
}
.yio-entity-card p {
margin: 8px 0 0;
font-size: .9rem;
color: var(–muted);
line-height: 1.5;
}

/* ─── FEATURE GRID — benefit/feature cells ────────────────────── */
.yio-feature-grid {
display: grid;
gap: 24px;
margin: 36px 0 8px;
}
.yio-feature-grid-2 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.yio-feature-grid-3 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.yio-feat-cell {
background: var(–paper);
border: 1px solid var(–line);
border-radius: 14px;
padding: 26px 24px 24px;
transition: transform .2s ease, box-shadow .2s ease;
}
.yio-feat-cell:hover {
transform: translateY(-2px);
box-shadow: var(–shadow-sm);
}
.yio-feat-icon {
width: 44px; height: 44px;
border-radius: 12px;
background: var(–cyan-3);
color: var(–cyan);
display: inline-flex;
align-items: center;
justify-content: center;
font-family: ‘Space Grotesk’, sans-serif;
font-size: 1.15rem;
font-weight: 700;
margin-bottom: 16px;
letter-spacing: -0.02em;
}
.yio-feat-icon svg {
width: 22px; height: 22px;
}
.yio-feat-label {
font-family: ‘Space Grotesk’, sans-serif;
font-weight: 600;
font-size: 1.05rem;
color: var(–navy);
margin-bottom: 8px;
letter-spacing: -0.018em;
}
.yio-feat-desc {
margin: 0;
font-size: .94rem;
color: var(–text);
line-height: 1.55;
}

/* Image-led variant — feature_grid_imaged() uses these */
.yio-feature-grid-imaged {
margin: 36px 0;
gap: 24px;
}
.yio-feat-cell-imaged {
padding: 0;
overflow: hidden;
background: var(–paper);
border: 1px solid var(–line);
border-radius: 14px;
transition: transform .22s ease, box-shadow .22s ease;
}
.yio-feat-cell-imaged:hover {
transform: translateY(-3px);
box-shadow: var(–shadow-md);
}
.yio-feat-img {
aspect-ratio: 16/10;
overflow: hidden;
background: var(–off);
position: relative;
}
.yio-feat-img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .5s ease;
}
.yio-feat-cell-imaged:hover .yio-feat-img img { transform: scale(1.05); }
.yio-feat-img::after {
content: ”;
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 60%, rgba(11,26,43,.35) 100%);
}
.yio-feat-cell-body {
padding: 22px 24px 24px;
}
.yio-feat-cell-imaged .yio-feat-label {
margin-bottom: 8px;
}

/* ─── STEP TRACK — sequential process ─────────────────────────── */
.yio-step-track {
list-style: none;
padding: 0;
margin: 36px 0;
display: grid;
gap: 24px;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
position: relative;
}
.yio-step {
position: relative;
padding: 0 0 0 0;
}
.yio-step-num {
font-family: ‘Space Grotesk’, sans-serif;
font-size: 1.6rem;
font-weight: 600;
color: var(–cyan);
letter-spacing: -0.02em;
margin-bottom: 14px;
position: relative;
display: inline-block;
}
.yio-step-num::after {
content: ”;
position: absolute;
top: 50%; left: calc(100% + 12px);
width: 60px; height: 1px;
background: var(–line);
}
.yio-step:last-child .yio-step-num::after { display: none; }
.yio-step-title {
font-family: ‘Space Grotesk’, sans-serif;
font-weight: 600;
font-size: 1.04rem;
color: var(–navy);
margin-bottom: 8px;
letter-spacing: -0.018em;
}
.yio-step-desc {
margin: 0;
font-size: .95rem;
color: var(–text);
line-height: 1.55;
}

/* ─── PRICING TIERS — replaces flat table ─────────────────────── */
.yio-tiers {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 16px;
margin: 32px 0;
}
.yio-tier {
background: var(–paper);
border: 1px solid var(–line);
border-radius: 16px;
padding: 28px 22px 26px;
position: relative;
transition: transform .2s ease, box-shadow .2s ease;
display: flex;
flex-direction: column;
}
.yio-tier:hover {
transform: translateY(-3px);
box-shadow: var(–shadow-md);
}
.yio-tier-popular {
border-color: var(–cyan);
border-width: 2px;
background: linear-gradient(180deg, var(–cyan-3) 0%, var(–paper) 60%);
box-shadow: var(–shadow-md);
}
.yio-tier-badge {
position: absolute;
top: -11px;
left: 50%;
transform: translateX(-50%);
background: var(–cyan);
color: #fff;
font-family: ‘Space Grotesk’, sans-serif;
font-size: .7rem;
font-weight: 600;
padding: 5px 12px;
border-radius: 999px;
letter-spacing: .08em;
text-transform: uppercase;
white-space: nowrap;
}
.yio-tier-name {
font-family: ‘Space Grotesk’, sans-serif;
font-size: .85rem;
font-weight: 600;
color: var(–cyan);
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 14px;
}
.yio-tier-speed {
font-family: ‘Space Grotesk’, sans-serif;
font-size: 1.3rem;
font-weight: 600;
color: var(–navy);
letter-spacing: -0.025em;
line-height: 1.15;
margin-bottom: 12px;
}
.yio-tier-price {
font-family: ‘Space Grotesk’, sans-serif;
font-size: 1.05rem;
color: var(–text);
font-weight: 500;
letter-spacing: -0.01em;
margin-bottom: 18px;
padding-bottom: 18px;
border-bottom: 1px solid var(–line-2);
}
.yio-tier-specs {
list-style: none;
padding: 0;
margin: 0;
flex-grow: 1;
}
.yio-tier-specs li {
position: relative;
padding: 6px 0 6px 20px;
font-size: .92rem;
color: var(–text);
}
.yio-tier-specs li::before {
content: ”;
position: absolute;
left: 0; top: 13px;
width: 12px; height: 1px;
background: var(–cyan);
}
.yio-tier-footnote {
font-size: .85rem;
color: var(–muted);
margin: 0;
font-style: italic;
}

/* ─── MOBILE ───────────────────────────────────────────────────── */
@media (max-width: 768px) {
.yio-hero { padding: 72px 20px 64px; }
.yio-hero-inner { grid-template-columns: 1fr; gap: 40px; }
.yio-section { padding: 80px 20px; }
.yio-cta-band { padding: 80px 20px; }
.yio-feature-strip { grid-template-columns: 1fr; gap: 28px; margin: 36px 0; }
.yio-feature-strip.yio-flip > .yio-feature-img { order: 0; }
.yio-feature-img { aspect-ratio: 4/3; }
.yio-split { grid-template-columns: 1fr; gap: 20px; }
.yio-split-img { max-width: 280px; }
.yio-cinematic { height: 240px; }
.yio-close-wrap { padding: 48px 16px 56px; }
.yio-close-links { padding: 28px 24px; }
.yio-also-serving { padding: 18px 24px 0; }
.yio-cta-secondary { display: block; margin: 16px 0 0; padding: 14px 0; }
.yio-step-num::after { display: none !important; }
.yio-feature-grid-3, .yio-feature-grid-2 { grid-template-columns: 1fr; }
.yio-entity-grid-3, .yio-entity-grid-4 { grid-template-columns: 1fr 1fr; }
.yio-tiers { grid-template-columns: 1fr; }
.yio-section-header { margin-bottom: 36px; }
.yio-sh-centered h2, .yio-sh-centered .yio-lead { max-width: none; }
.yio-sh-split { grid-template-columns: 1fr; gap: 20px; }
.yio-sh-split h2 { max-width: none; }
.yio-faq-item summary { padding: 20px 48px 20px 4px; }
.yio-faq-q { font-size: 1.02rem; }
}

AT&T Fiber · Gulf Breeze, FL

Check Fiber Internet Availability, Gulf Breeze, FL

Not every address in Gulf Breeze shows up correctly in an automated availability checker. If the widget didn’t return a clear result for your location, don’t worry, our local team can manually check fiber internet availability in Gulf Breeze, FL, and get back to you directly.

Live availability

Check your address

Confirm AT&T Fiber availability at your Gulf Breeze location in seconds.

01 — A unique market

Why Gulf Breeze Sometimes Needs a Manual Address Check

Gulf Breeze stretches across a peninsula with established streets, newer waterfront developments, and off-main-road communities that don’t always register cleanly in standard online lookup tools.

Blue and white fiber-optic light in dark room

A real person verifies, then calls you back

Some Gulf Breeze residents who are fully eligible for AT&T Fiber may see an inconclusive result — or no result at all — when they check availability online. That is exactly why this page exists. Fill out the short form below, and a member of our Gulf Breeze team will personally verify AT&T fiber availability at your address and call you back within one business day, with a confirmed answer and zero sales pressure.

02 — What happens after you submit

What Happens After You Submit

No automated queues, no third-party call centers — a real person reviews every manual check request, typically within a few hours of submission during business hours.

  1. 01
    We receive your request

    Your address is sent directly to our local Gulf Breeze team the moment you hit submit.

  2. 02
    We verify your address

    Our team cross-references AT&T’s fiber network records against your specific Gulf Breeze address.

  3. 03
    We call you back

    Most manual checks in Gulf Breeze are completed within one business day. We call during the time window you selected.

  4. 04
    We walk you through options

    If AT&T Fiber is available, we explain which plans, what speeds, and how installation works — at no obligation.

03 — Why some addresses need a manual check

Why Some Gulf Breeze Addresses Need a Manual Check

In some cases, AT&T fiber infrastructure has been extended into an area before the online availability tool has been fully updated to reflect it. A manual check ensures nothing gets missed.

Network router rear ports
New construction or development

Your address was recently built or is part of a new Gulf Breeze development not yet in the database.

Green and white fiber-optic illumination
Inconclusive online result

The online checker returned an unclear or error result at your specific location.

Bundle of network cables in blue light
Partial neighborhood coverage

Your street shows partial coverage in the automated availability system.

Fiber-optic cables in a data center
Off-main-road / waterfront

You live in a waterfront, gated, or off-main-road community where mapping data lags.

Network cables with blue ambient lighting
Neighbor has it, you don’t

A neighbor has AT&T Fiber service but your address did not confirm online.

Bundle of fiber-optic strands with green and yellow light
Service is closer than online says

Submitting your address is the fastest path to a definitive answer — gigabit speeds may already be active feet from your front door.

04 — We promise to call you back

We Promise to Call You Back

When you submit your address, you have our commitment that a real member of our local team will follow up with a confirmed answer.

Person on phone while using laptop representing a manual internet availability check

No pressure. No obligation. A confirmed answer.

This page is designed for Gulf Breeze residents and business owners who were not able to confirm availability through the standard online widget. Particularly useful for homeowners in newer subdivisions near Gulf Breeze Proper, waterfront properties along Santa Rosa Sound, and commercial addresses along Gulf Breeze Parkway, where network expansion has been ongoing.

If you manage a business in Gulf Breeze and need a reliable fiber connection for your team, our manual check process works the same way. Once availability is confirmed, we connect you directly with our business fiber specialists.

Submit your Gulf Breeze address for a manual check

Use the form at the top of the page. We’ll call you back within one business day.

Check Availability