: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; }
}
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.
Confirm AT&T Fiber availability at your Gulf Breeze location in seconds.
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.
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.
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.
Your address is sent directly to our local Gulf Breeze team the moment you hit submit.
Our team cross-references AT&T’s fiber network records against your specific Gulf Breeze address.
Most manual checks in Gulf Breeze are completed within one business day. We call during the time window you selected.
If AT&T Fiber is available, we explain which plans, what speeds, and how installation works — at no obligation.
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.
Your address was recently built or is part of a new Gulf Breeze development not yet in the database.
The online checker returned an unclear or error result at your specific location.
Your street shows partial coverage in the automated availability system.
You live in a waterfront, gated, or off-main-road community where mapping data lags.

A neighbor has AT&T Fiber service but your address did not confirm online.
Submitting your address is the fastest path to a definitive answer — gigabit speeds may already be active feet from your front door.
When you submit your address, you have our commitment that a real member of our local team will follow up with 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.
Use the form at the top of the page. We’ll call you back within one business day.