/* ===== GOOGLE FONTS (import works inside style block) ===== */
@import url(‘https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=DM+Sans:wght@400;500;600;700&display=swap’);
/* ===== SCOPED RESET & VARIABLES ===== */
.iof-lp,
.iof-lp *,
.iof-lp *::before,
.iof-lp *::after {
box-sizing: border-box !important;
margin: 0;
padding: 0;
}
.iof-lp {
–warm-cream: #FAF7F2;
–warm-cream-dark: #F3EDE3;
–terracotta: #9e3c33;
–terracotta-dark: #7d2f28;
–olive: #5B6B4A;
–olive-light: #7A8C66;
–ink: #2C2420;
–ink-light: #5A4F47;
–gold: #C9A84C;
–gold-light: #E8D48B;
–white: #FFFFFF;
–border: #E5DDD3;
–shadow-sm: 0 1px 3px rgba(44,36,32,0.06);
–shadow-md: 0 4px 16px rgba(44,36,32,0.08);
–shadow-lg: 0 8px 32px rgba(44,36,32,0.12);
–radius: 12px;
–radius-lg: 20px;
–font-display: ‘Playfair Display’, Georgia, serif;
–font-body: ‘DM Sans’, -apple-system, sans-serif;
font-family: var(–font-body) !important;
color: var(–ink) !important;
line-height: 1.65 !important;
-webkit-font-smoothing: antialiased;
font-size: 16px !important;
}
/* ===== FULL-WIDTH BREAKOUT (escapes any WP container) ===== */
.iof-lp .iof-fw {
width: 100vw !important;
max-width: 100vw !important;
position: relative !important;
left: 50% !important;
right: 50% !important;
margin-left: -50vw !important;
margin-right: -50vw !important;
}
/* Inner container to re-center content */
.iof-lp .iof-container {
max-width: 1100px !important;
margin: 0 auto !important;
padding: 0 24px !important;
}
/* ===== GENERAL ELEMENT RESETS (override WP theme) ===== */
.iof-lp img {
max-width: 100% !important;
display: block !important;
height: auto !important;
border: none !important;
box-shadow: none !important;
}
.iof-lp a {
color: inherit !important;
text-decoration: none !important;
box-shadow: none !important;
}
.iof-lp ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.iof-lp li { margin: 0 !important; }
.iof-lp h1, .iof-lp h2, .iof-lp h3 {
margin: 0 !important;
padding: 0 !important;
letter-spacing: normal !important;
text-transform: none !important;
}
.iof-lp p { margin: 0 !important; }
.iof-lp table { border: none !important; }
.iof-lp th, .iof-lp td { border: none !important; }
.iof-lp blockquote {
margin: 0 !important;
padding: 0 !important;
border: none !important;
quotes: none !important;
}
.iof-lp blockquote::before,
.iof-lp blockquote::after { content: none !important; }
/* ===== STICKY MOBILE CTA ===== */
.iof-lp .iof-sticky-cta {
display: none !important;
position: fixed !important;
bottom: 0 !important;
left: 0 !important;
right: 0 !important;
background: var(–white) !important;
border-top: 1px solid var(–border) !important;
padding: 12px 20px !important;
z-index: 99999 !important;
box-shadow: 0 -4px 20px rgba(44,36,32,0.1) !important;
}
.iof-lp .iof-sticky-cta-inner {
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
max-width: 600px !important;
margin: 0 auto !important;
}
.iof-lp .iof-sticky-price {
font-family: var(–font-display) !important;
font-size: 20px !important;
font-weight: 700 !important;
color: var(–ink) !important;
}
.iof-lp .iof-sticky-price .iof-was {
font-size: 14px !important;
color: var(–ink-light) !important;
text-decoration: line-through !important;
font-family: var(–font-body) !important;
font-weight: 400 !important;
margin-right: 6px !important;
}
@media (max-width: 768px) {
.iof-lp .iof-sticky-cta { display: block !important; }
}
/* ===== SECTION LABEL ===== */
.iof-lp .iof-label {
font-size: 12px !important;
font-weight: 700 !important;
text-transform: uppercase !important;
letter-spacing: 2px !important;
color: var(–terracotta) !important;
margin-bottom: 16px !important;
font-family: var(–font-body) !important;
text-align: center !important;
}
/* ===== BUTTONS ===== */
.iof-lp .iof-btn {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
gap: 8px !important;
background: var(–terracotta) !important;
color: var(–white) !important;
font-family: var(–font-body) !important;
font-size: 17px !important;
font-weight: 700 !important;
padding: 18px 40px !important;
border-radius: 12px !important;
border: none !important;
cursor: pointer !important;
transition: all 0.2s ease !important;
box-shadow: 0 4px 16px rgba(158,60,51,0.3) !important;
text-decoration: none !important;
letter-spacing: 0.2px !important;
line-height: 1.3 !important;
}
.iof-lp .iof-btn:hover {
background: var(–terracotta-dark) !important;
color: var(–white) !important;
transform: translateY(-1px) !important;
box-shadow: 0 6px 24px rgba(158,60,51,0.35) !important;
}
.iof-lp .iof-btn-sm {
padding: 14px 28px !important;
font-size: 15px !important;
}
.iof-lp .iof-btn-outline {
background: transparent !important;
color: var(–terracotta) !important;
border: 2px solid var(–terracotta) !important;
box-shadow: none !important;
}
.iof-lp .iof-btn-outline:hover {
background: var(–terracotta) !important;
color: var(–white) !important;
}
.iof-lp .iof-btn-lg {
font-size: 18px !important;
padding: 20px 48px !important;
}
/* ===== HERO ===== */
.iof-lp .iof-hero {
padding: 64px 24px 72px !important;
text-align: center !important;
position: relative !important;
overflow: hidden !important;
background: linear-gradient(180deg, var(–warm-cream) 0%, var(–warm-cream-dark) 100%) !important;
}
.iof-lp .iof-hero::before {
content: ” !important;
position: absolute !important;
top: -60px !important;
left: 50% !important;
transform: translateX(-50%) !important;
width: 800px !important;
height: 800px !important;
background: radial-gradient(circle, rgba(158,60,51,0.06) 0%, transparent 70%) !important;
pointer-events: none !important;
}
.iof-lp .iof-hero h1 {
font-family: var(–font-display) !important;
font-size: clamp(32px, 5vw, 52px) !important;
font-weight: 700 !important;
line-height: 1.15 !important;
max-width: 700px !important;
margin: 0 auto 20px !important;
color: var(–ink) !important;
}
.iof-lp .iof-hero-sub {
font-size: 18px !important;
color: var(–ink-light) !important;
max-width: 560px !important;
margin: 0 auto 36px !important;
line-height: 1.7 !important;
font-family: var(–font-body) !important;
}
.iof-lp .iof-hero-trust {
display: flex !important;
justify-content: center !important;
gap: 28px !important;
margin-top: 28px !important;
flex-wrap: wrap !important;
}
.iof-lp .iof-hero-trust-item {
display: flex !important;
align-items: center !important;
gap: 6px !important;
font-size: 13px !important;
color: var(–ink-light) !important;
font-family: var(–font-body) !important;
}
.iof-lp .iof-hero-trust-item svg { flex-shrink: 0 !important; }
/* ===== TRY FREE NUDGE ===== */
.iof-lp .iof-try-free-wrap {
padding: 0 24px 48px !important;
background: var(–warm-cream) !important;
display: flex !important;
justify-content: center !important;
}
.iof-lp .iof-try-free {
background: var(–white) !important;
border: 2px dashed var(–border) !important;
border-radius: var(–radius-lg) !important;
padding: 28px 32px !important;
width: 100% !important;
max-width: 620px !important;
margin: -20px auto 0 auto !important;
text-align: center !important;
}
.iof-lp .iof-try-free p {
font-size: 15px !important;
color: var(–ink-light) !important;
margin-bottom: 12px !important;
font-family: var(–font-body) !important;
line-height: 1.65 !important;
}
.iof-lp .iof-try-free p:last-child { margin-bottom: 0 !important; }
.iof-lp .iof-try-free a {
color: var(–terracotta) !important;
font-weight: 600 !important;
text-decoration: underline !important;
text-underline-offset: 3px !important;
}
.iof-lp .iof-try-free strong {
color: var(–ink) !important;
font-weight: 600 !important;
}
/* ===== PEEK INSIDE ===== */
.iof-lp .iof-peek {
padding: 80px 24px !important;
background: var(–white) !important;
}
.iof-lp .iof-peek h2 {
font-family: var(–font-display) !important;
font-size: clamp(26px, 3.5vw, 38px) !important;
font-weight: 700 !important;
line-height: 1.25 !important;
margin-bottom: 12px !important;
color: var(–ink) !important;
text-align: center !important;
}
.iof-lp .iof-peek-subtitle {
font-size: 17px !important;
color: var(–ink-light) !important;
max-width: 620px !important;
margin-bottom: 44px !important;
margin-left: auto !important;
margin-right: auto !important;
line-height: 1.65 !important;
font-family: var(–font-body) !important;
text-align: center !important;
}
.iof-lp .iof-peek-grid {
display: grid !important;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
gap: 24px !important;
}
.iof-lp .iof-peek-card {
background: var(–warm-cream) !important;
border: 1px solid var(–border) !important;
border-radius: var(–radius-lg) !important;
overflow: hidden !important;
box-shadow: var(–shadow-sm) !important;
transition: box-shadow 0.25s ease, transform 0.25s ease !important;
}
.iof-lp .iof-peek-card:hover {
box-shadow: var(–shadow-md) !important;
transform: translateY(-2px) !important;
}
.iof-lp .iof-peek-img {
width: 100% !important;
height: 200px !important;
object-fit: cover !important;
display: block !important;
}
.iof-lp .iof-peek-meta {
padding: 22px 24px 26px !important;
}
.iof-lp .iof-peek-kicker {
font-size: 12px !important;
font-weight: 700 !important;
text-transform: uppercase !important;
letter-spacing: 2px !important;
color: var(–terracotta) !important;
margin-bottom: 10px !important;
font-family: var(–font-body) !important;
}
.iof-lp .iof-peek-card h3 {
font-family: var(–font-display) !important;
font-size: 20px !important;
font-weight: 600 !important;
margin-bottom: 10px !important;
color: var(–ink) !important;
}
.iof-lp .iof-peek-card p {
font-size: 15px !important;
color: var(–ink-light) !important;
line-height: 1.6 !important;
font-family: var(–font-body) !important;
}
/* ===== PROBLEM / AGITATION ===== */
.iof-lp .iof-problem {
padding: 80px 24px !important;
background: var(–white) !important;
}
.iof-lp .iof-problem h2 {
font-family: var(–font-display) !important;
font-size: clamp(26px, 3.5vw, 38px) !important;
font-weight: 700 !important;
line-height: 1.25 !important;
max-width: 640px !important;
margin-bottom: 40px !important;
margin-left: auto !important;
margin-right: auto !important;
color: var(–ink) !important;
text-align: center !important;
}
.iof-lp .iof-pain-grid {
display: grid !important;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
gap: 24px !important;
}
.iof-lp .iof-pain-card {
background: var(–warm-cream) !important;
border-radius: var(–radius) !important;
padding: 28px !important;
border-left: 4px solid var(–terracotta) !important;
}
.iof-lp .iof-pain-icon {
font-size: 28px !important;
margin-bottom: 12px !important;
}
.iof-lp .iof-pain-card h3 {
font-family: var(–font-display) !important;
font-size: 18px !important;
font-weight: 600 !important;
margin-bottom: 8px !important;
color: var(–ink) !important;
}
.iof-lp .iof-pain-card p {
font-size: 15px !important;
color: var(–ink-light) !important;
line-height: 1.6 !important;
font-family: var(–font-body) !important;
}
/* ===== WHAT’S INSIDE ===== */
.iof-lp .iof-inside {
padding: 80px 24px !important;
background: var(–warm-cream) !important;
}
.iof-lp .iof-inside h2 {
font-family: var(–font-display) !important;
font-size: clamp(26px, 3.5vw, 38px) !important;
font-weight: 700 !important;
line-height: 1.25 !important;
margin-bottom: 16px !important;
color: var(–ink) !important;
text-align: center !important;
}
.iof-lp .iof-inside-subtitle {
font-size: 17px !important;
color: var(–ink-light) !important;
max-width: 580px !important;
margin-bottom: 48px !important;
margin-left: auto !important;
margin-right: auto !important;
line-height: 1.65 !important;
font-family: var(–font-body) !important;
text-align: center !important;
}
.iof-lp .iof-inside-grid {
display: grid !important;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
gap: 24px !important;
margin-bottom: 48px !important;
}
.iof-lp .iof-inside-card {
background: var(–white) !important;
border-radius: var(–radius-lg) !important;
padding: 32px 28px !important;
box-shadow: var(–shadow-sm) !important;
border: 1px solid var(–border) !important;
transition: box-shadow 0.25s ease, transform 0.25s ease !important;
}
.iof-lp .iof-inside-card:hover {
box-shadow: var(–shadow-md) !important;
transform: translateY(-2px) !important;
}
.iof-lp .iof-card-icon {
width: 48px !important;
height: 48px !important;
border-radius: 12px !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
font-size: 24px !important;
margin-bottom: 20px !important;
}
.iof-lp .iof-card-icon-rome { background: #FDE8E0 !important; }
.iof-lp .iof-card-icon-florence { background: #E8F0E3 !important; }
.iof-lp .iof-card-icon-venice { background: #E0ECF5 !important; }
.iof-lp .iof-card-icon-tracker { background: #FDF4E0 !important; }
.iof-lp .iof-card-icon-map { background: #F0E8F5 !important; }
.iof-lp .iof-card-icon-food { background: #FFF0E6 !important; }
.iof-lp .iof-inside-card h3 {
font-family: var(–font-display) !important;
font-size: 20px !important;
font-weight: 600 !important;
margin-bottom: 10px !important;
color: var(–ink) !important;
}
.iof-lp .iof-days {
font-size: 13px !important;
font-weight: 600 !important;
color: var(–terracotta) !important;
margin-bottom: 8px !important;
font-family: var(–font-body) !important;
}
.iof-lp .iof-inside-card p {
font-size: 15px !important;
color: var(–ink-light) !important;
line-height: 1.6 !important;
font-family: var(–font-body) !important;
}
.iof-lp .iof-inside-card li {
font-size: 14px !important;
color: var(–ink-light) !important;
padding: 4px 0 !important;
padding-left: 20px !important;
position: relative !important;
font-family: var(–font-body) !important;
line-height: 1.5 !important;
}
.iof-lp .iof-inside-card li::before {
content: ‘\2713’ !important;
position: absolute !important;
left: 0 !important;
color: var(–olive) !important;
font-weight: 700 !important;
}
/* ===== MID CTA ===== */
.iof-lp .iof-mid-cta {
padding: 56px 24px !important;
background: linear-gradient(135deg, var(–warm-cream-dark) 0%, var(–warm-cream) 100%) !important;
text-align: center !important;
border-top: 1px solid var(–border) !important;
border-bottom: 1px solid var(–border) !important;
}
.iof-lp .iof-mid-cta p {
font-family: var(–font-display) !important;
font-size: 22px !important;
font-weight: 600 !important;
margin-bottom: 20px !important;
color: var(–ink) !important;
}
.iof-lp .iof-price-inline {
font-size: 15px !important;
color: var(–ink-light) !important;
margin-bottom: 20px !important;
font-family: var(–font-body) !important;
}
.iof-lp .iof-price-inline .iof-was {
text-decoration: line-through !important;
}
.iof-lp .iof-price-inline .iof-now {
font-weight: 700 !important;
color: var(–ink) !important;
font-size: 20px !important;
}
/* ===== TIMELINE ===== */
.iof-lp .iof-timeline {
padding: 80px 24px !important;
background: var(–white) !important;
}
.iof-lp .iof-timeline h2 {
font-family: var(–font-display) !important;
font-size: clamp(26px, 3.5vw, 38px) !important;
font-weight: 700 !important;
line-height: 1.25 !important;
margin-bottom: 48px !important;
text-align: center !important;
color: var(–ink) !important;
}
.iof-lp .iof-tl-list {
max-width: 680px !important;
margin: 0 auto !important;
position: relative !important;
}
.iof-lp .iof-tl-list::before {
content: ” !important;
position: absolute !important;
left: 24px !important;
top: 0 !important;
bottom: 0 !important;
width: 2px !important;
background: var(–border) !important;
}
.iof-lp .iof-tl-item {
display: flex !important;
gap: 24px !important;
margin-bottom: 32px !important;
position: relative !important;
}
.iof-lp .iof-tl-dot {
width: 50px !important;
min-width: 50px !important;
height: 50px !important;
border-radius: 50% !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
font-family: var(–font-display) !important;
font-size: 18px !important;
font-weight: 700 !important;
color: var(–white) !important;
position: relative !important;
z-index: 2 !important;
}
.iof-lp .iof-tl-dot-rome { background: var(–terracotta) !important; }
.iof-lp .iof-tl-dot-florence { background: var(–olive) !important; }
.iof-lp .iof-tl-dot-venice { background: #3B7CB8 !important; }
.iof-lp .iof-tl-city {
font-size: 12px !important;
font-weight: 700 !important;
text-transform: uppercase !important;
letter-spacing: 1.5px !important;
margin-bottom: 4px !important;
font-family: var(–font-body) !important;
}
.iof-lp .iof-tl-city-rome { color: var(–terracotta) !important; }
.iof-lp .iof-tl-city-florence { color: var(–olive) !important; }
.iof-lp .iof-tl-city-venice { color: #3B7CB8 !important; }
.iof-lp .iof-tl-content h3 {
font-family: var(–font-display) !important;
font-size: 18px !important;
font-weight: 600 !important;
margin-bottom: 4px !important;
padding-top: 2px !important;
color: var(–ink) !important;
}
.iof-lp .iof-tl-content p {
font-size: 15px !important;
color: var(–ink-light) !important;
line-height: 1.55 !important;
font-family: var(–font-body) !important;
}
/* ===== COMPARISON TABLE ===== */
.iof-lp .iof-compare {
padding: 80px 24px !important;
background: var(–warm-cream) !important;
}
.iof-lp .iof-compare-inner {
max-width: 700px !important;
margin: 0 auto !important;
}
.iof-lp .iof-compare h2 {
font-family: var(–font-display) !important;
font-size: clamp(26px, 3.5vw, 34px) !important;
font-weight: 700 !important;
line-height: 1.25 !important;
margin-bottom: 36px !important;
text-align: center !important;
color: var(–ink) !important;
}
.iof-lp .iof-compare-table {
width: 100% !important;
border-collapse: collapse !important;
background: var(–white) !important;
border-radius: var(–radius-lg) !important;
overflow: hidden !important;
box-shadow: var(–shadow-md) !important;
border: none !important;
}
.iof-lp .iof-compare-table thead {
background: var(–ink) !important;
}
.iof-lp .iof-compare-table th {
padding: 16px 20px !important;
font-size: 14px !important;
font-weight: 600 !important;
text-align: left !important;
color: var(–white) !important;
font-family: var(–font-body) !important;
background: var(–ink) !important;
border: none !important;
}
.iof-lp .iof-compare-table th:last-child {
color: var(–gold-light) !important;
}
.iof-lp .iof-compare-table td {
padding: 14px 20px !important;
font-size: 14px !important;
border-bottom: 1px solid var(–border) !important;
border-left: none !important;
border-right: none !important;
border-top: none !important;
color: var(–ink-light) !important;
font-family: var(–font-body) !important;
background: var(–white) !important;
}
.iof-lp .iof-compare-table tr:last-child td { border-bottom: none !important; }
.iof-lp .iof-compare-table td:first-child {
font-weight: 500 !important;
color: var(–ink) !important;
}
.iof-lp .iof-compare-table td:last-child {
color: var(–olive) !important;
font-weight: 600 !important;
}
.iof-lp .iof-cross { color: #c0b0a0 !important; }
/* ===== HOW IT WORKS ===== */
.iof-lp .iof-how {
padding: 80px 24px !important;
background: var(–white) !important;
text-align: center !important;
}
.iof-lp .iof-how h2 {
font-family: var(–font-display) !important;
font-size: clamp(26px, 3.5vw, 34px) !important;
font-weight: 700 !important;
margin-bottom: 48px !important;
color: var(–ink) !important;
}
.iof-lp .iof-how-steps {
display: grid !important;
grid-template-columns: repeat(3, 1fr) !important;
gap: 32px !important;
max-width: 800px !important;
margin: 0 auto !important;
}
.iof-lp .iof-step-num {
width: 56px !important;
height: 56px !important;
border-radius: 50% !important;
background: var(–warm-cream) !important;
border: 2px solid var(–terracotta) !important;
color: var(–terracotta) !important;
font-family: var(–font-display) !important;
font-size: 22px !important;
font-weight: 700 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
margin: 0 auto 16px !important;
}
.iof-lp .iof-how-step h3 {
font-family: var(–font-display) !important;
font-size: 18px !important;
font-weight: 600 !important;
margin-bottom: 8px !important;
color: var(–ink) !important;
}
.iof-lp .iof-how-step p {
font-size: 14px !important;
color: var(–ink-light) !important;
line-height: 1.6 !important;
font-family: var(–font-body) !important;
}
/* ===== SOCIAL PROOF ===== */
.iof-lp .iof-proof {
padding: 80px 24px !important;
background: var(–white) !important;
text-align: center !important;
}
.iof-lp .iof-proof h2 {
font-family: var(–font-display) !important;
font-size: clamp(26px, 3.5vw, 34px) !important;
font-weight: 700 !important;
margin-bottom: 48px !important;
color: var(–ink) !important;
}
.iof-lp .iof-proof-stats {
display: flex !important;
justify-content: center !important;
gap: 48px !important;
margin-bottom: 52px !important;
flex-wrap: wrap !important;
}
.iof-lp .iof-stat-num {
font-family: var(–font-display) !important;
font-size: 42px !important;
font-weight: 700 !important;
color: var(–terracotta) !important;
line-height: 1 !important;
}
.iof-lp .iof-stat-label {
font-size: 14px !important;
color: var(–ink-light) !important;
margin-top: 4px !important;
font-family: var(–font-body) !important;
}
.iof-lp .iof-testimonials {
display: grid !important;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
gap: 24px !important;
text-align: left !important;
}
.iof-lp .iof-testimonial {
background: var(–warm-cream) !important;
border-radius: var(–radius-lg) !important;
padding: 28px !important;
border: 1px solid var(–border) !important;
}
.iof-lp .iof-stars {
color: var(–gold) !important;
font-size: 16px !important;
margin-bottom: 12px !important;
letter-spacing: 2px !important;
}
.iof-lp .iof-testimonial blockquote {
font-size: 15px !important;
line-height: 1.65 !important;
color: var(–ink) !important;
margin-bottom: 16px !important;
font-style: italic !important;
font-family: var(–font-body) !important;
padding: 0 !important;
border: none !important;
background: transparent !important;
}
.iof-lp .iof-author {
font-size: 13px !important;
font-weight: 600 !important;
color: var(–ink-light) !important;
font-family: var(–font-body) !important;
}
/* ===== ABOUT ===== */
.iof-lp .iof-about {
padding: 80px 24px !important;
background: var(–warm-cream-dark) !important;
}
.iof-lp .iof-about-inner {
max-width: 800px !important;
margin: 0 auto !important;
display: grid !important;
grid-template-columns: 200px 1fr !important;
gap: 40px !important;
align-items: start !important;
}
.iof-lp .iof-about-photo {
width: 200px !important;
height: 200px !important;
border-radius: 50% !important;
object-fit: cover !important;
border: 4px solid var(–white) !important;
box-shadow: var(–shadow-md) !important;
}
.iof-lp .iof-about-text h2 {
font-family: var(–font-display) !important;
font-size: 28px !important;
font-weight: 700 !important;
margin-bottom: 16px !important;
color: var(–ink) !important;
}
.iof-lp .iof-about-text p {
font-size: 15px !important;
color: var(–ink-light) !important;
line-height: 1.75 !important;
margin-bottom: 16px !important;
font-family: var(–font-body) !important;
}
.iof-lp .iof-about-highlights {
display: flex !important;
gap: 20px !important;
flex-wrap: wrap !important;
margin-top: 20px !important;
}
.iof-lp .iof-about-hl {
display: flex !important;
align-items: center !important;
gap: 8px !important;
font-size: 14px !important;
font-weight: 600 !important;
color: var(–ink) !important;
font-family: var(–font-body) !important;
}
.iof-lp .iof-about-hl-icon {
width: 32px !important;
height: 32px !important;
border-radius: 8px !important;
background: var(–white) !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
font-size: 16px !important;
}
.iof-lp .iof-about-text a {
color: var(–terracotta) !important;
}
/* ===== WHO IT’S FOR ===== */
.iof-lp .iof-who {
padding: 80px 24px !important;
background: var(–white) !important;
}
.iof-lp .iof-who-inner {
max-width: 800px !important;
margin: 0 auto !important;
}
.iof-lp .iof-who h2 {
font-family: var(–font-display) !important;
font-size: clamp(26px, 3.5vw, 34px) !important;
font-weight: 700 !important;
margin-bottom: 40px !important;
text-align: center !important;
color: var(–ink) !important;
}
.iof-lp .iof-who-cols {
display: grid !important;
grid-template-columns: 1fr 1fr !important;
gap: 32px !important;
}
.iof-lp .iof-who-col h3 {
font-family: var(–font-display) !important;
font-size: 20px !important;
font-weight: 600 !important;
margin-bottom: 16px !important;
color: var(–ink) !important;
}
.iof-lp .iof-who-col li {
font-size: 15px !important;
color: var(–ink-light) !important;
padding: 8px 0 !important;
padding-left: 24px !important;
position: relative !important;
line-height: 1.55 !important;
font-family: var(–font-body) !important;
}
.iof-lp .iof-who-yes li::before {
content: ‘\2713’ !important;
position: absolute !important;
left: 0 !important;
color: var(–olive) !important;
font-weight: 700 !important;
}
.iof-lp .iof-who-no li::before {
content: ‘\2717’ !important;
position: absolute !important;
left: 0 !important;
color: #c0b0a0 !important;
font-weight: 700 !important;
}
/* ===== FAQ ===== */
.iof-lp .iof-faq {
padding: 80px 24px !important;
background: var(–warm-cream) !important;
}
.iof-lp .iof-faq-inner {
max-width: 700px !important;
margin: 0 auto !important;
}
.iof-lp .iof-faq h2 {
font-family: var(–font-display) !important;
font-size: clamp(26px, 3.5vw, 34px) !important;
font-weight: 700 !important;
margin-bottom: 40px !important;
text-align: center !important;
color: var(–ink) !important;
}
.iof-lp .iof-faq-item {
background: var(–white) !important;
border-radius: var(–radius) !important;
margin-bottom: 12px !important;
border: 1px solid var(–border) !important;
overflow: hidden !important;
}
.iof-lp .iof-faq-q {
display: flex !important;
justify-content: space-between !important;
align-items: center !important;
padding: 20px 24px !important;
cursor: pointer !important;
font-size: 16px !important;
font-weight: 600 !important;
color: var(–ink) !important;
user-select: none !important;
transition: background 0.2s !important;
font-family: var(–font-body) !important;
background: var(–white) !important;
}
.iof-lp .iof-faq-q:hover { background: var(–warm-cream) !important; }
.iof-lp .iof-faq-toggle {
font-size: 22px !important;
color: var(–ink-light) !important;
transition: transform 0.3s ease !important;
flex-shrink: 0 !important;
margin-left: 16px !important;
}
.iof-lp .iof-faq-a {
max-height: 0 !important;
overflow: hidden !important;
transition: max-height 0.35s ease, padding 0.35s ease !important;
padding: 0 24px !important;
}
.iof-lp .iof-faq-item.iof-open .iof-faq-a {
max-height: 300px !important;
padding: 0 24px 20px !important;
}
.iof-lp .iof-faq-item.iof-open .iof-faq-toggle {
transform: rotate(90deg) !important;
}
.iof-lp .iof-faq-a p {
font-size: 15px !important;
color: var(–ink-light) !important;
line-height: 1.65 !important;
font-family: var(–font-body) !important;
}
.iof-lp .iof-faq-a a {
color: var(–terracotta) !important;
font-weight: 600 !important;
text-decoration: underline !important;
}
/* ===== FINAL CTA ===== */
.iof-lp .iof-final {
padding: 80px 24px 100px !important;
background: var(–ink) !important;
color: var(–white) !important;
text-align: center !important;
position: relative !important;
overflow: hidden !important;
}
.iof-lp .iof-final::before {
content: ” !important;
position: absolute !important;
top: -100px !important;
left: 50% !important;
transform: translateX(-50%) !important;
width: 900px !important;
height: 400px !important;
background: radial-gradient(ellipse, rgba(158,60,51,0.15) 0%, transparent 70%) !important;
pointer-events: none !important;
}
.iof-lp .iof-final h2 {
font-family: var(–font-display) !important;
font-size: clamp(28px, 4vw, 42px) !important;
font-weight: 700 !important;
line-height: 1.2 !important;
max-width: 560px !important;
margin: 0 auto 16px !important;
position: relative !important;
color: var(–white) !important;
}
.iof-lp .iof-final-sub {
font-size: 17px !important;
color: rgba(255,255,255,0.65) !important;
max-width: 480px !important;
margin: 0 auto 36px !important;
line-height: 1.65 !important;
font-family: var(–font-body) !important;
}
.iof-lp .iof-final-price {
margin-bottom: 28px !important;
}
.iof-lp .iof-final-price .iof-was {
font-size: 18px !important;
color: rgba(255,255,255,0.4) !important;
text-decoration: line-through !important;
}
.iof-lp .iof-final-price .iof-now {
font-family: var(–font-display) !important;
font-size: 52px !important;
font-weight: 700 !important;
display: block !important;
margin-top: 4px !important;
color: var(–white) !important;
}
.iof-lp .iof-final-guarantee {
display: flex !important;
justify-content: center !important;
gap: 24px !important;
margin-top: 28px !important;
flex-wrap: wrap !important;
}
.iof-lp .iof-final-guarantee span {
font-size: 13px !important;
color: rgba(255,255,255,0.5) !important;
display: flex !important;
align-items: center !important;
gap: 6px !important;
font-family: var(–font-body) !important;
}
/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
.iof-lp .iof-hero { padding: 48px 20px 56px !important; }
.iof-lp .iof-hero h1 { font-size: 30px !important; }
.iof-lp .iof-hero-sub { font-size: 16px !important; }
.iof-lp .iof-pain-grid { grid-template-columns: 1fr !important; }
.iof-lp .iof-inside-grid { grid-template-columns: 1fr !important; }
.iof-lp .iof-testimonials { grid-template-columns: 1fr !important; }
.iof-lp .iof-proof-stats { gap: 32px !important; }
.iof-lp .iof-stat-num { font-size: 32px !important; }
.iof-lp .iof-compare-table th,
.iof-lp .iof-compare-table td { padding: 12px 14px !important; font-size: 13px !important; }
.iof-lp .iof-final-price .iof-now { font-size: 40px !important; }
.iof-lp .iof-how-steps { grid-template-columns: 1fr !important; gap: 24px !important; }
.iof-lp .iof-peek-grid { grid-template-columns: 1fr !important; }
.iof-lp .iof-peek-img { height: 180px !important; }
}
@media (max-width: 640px) {
.iof-lp .iof-about-inner {
grid-template-columns: 1fr !important;
text-align: center !important;
}
.iof-lp .iof-about-photo { margin: 0 auto !important; }
.iof-lp .iof-about-highlights { justify-content: center !important; }
.iof-lp .iof-who-cols { grid-template-columns: 1fr !important; }
}
Rome in a day, done right
A 40+ page walking plan with an interactive Google Map, curated food picks, and smart crowd timing, designed for travelers who have one day and zero time to waste.
Peek inside the guide
Secure checkout
Instant download
Use on phone or print
Not sure yet? Start with our free Milan guide, same format, same depth, same maps. See the quality first.
Why is Milan free? We know there are a lot of AI-generated travel guides out there. We wanted you to see what a real, hand-curated guide looks like before you spend a cent.
Download the Milan in 2 Days guide, it is the exact same format, depth, and quality as this Rome guide. Once you open it, you will feel the difference.
Peek inside
What every guide looks like inside
These screenshots are from our free Milan guide, the exact same format, depth, and quality you will get in the Rome guide.
Sound familiar?
One day in Rome, and no room for mistakes
⏱️
“I only have one day, what do I cut?”
Rome has centuries of must-sees. With 24 hours you cannot afford a wrong turn or a wasted queue. You need someone who has already made the hard choices for you.
🎟️
“Which ticket site is the real one?”
Colosseum resellers, timed-entry confusion, skip-the-line upsells, one wrong link can cost you the morning of your only day.
🍝
“I do not want to waste my one Roman meal on a tourist trap”
The best Roman food is rarely on the tourist strip. With only one lunch and one dinner, every meal matters.
What is inside
Everything you need for 1 perfect day in Rome
A 40+ page PDF, interactive Google Map, and a curated food guide, designed to make every hour of your day count.
🏛️
Morning to Midday
Ancient Rome and the Historic Center
The ancient quarter at its calmest, then the historic center’s landmark piazzas, timed so you are always one step ahead of the crowds.
🌇
Afternoon to Evening
River Walk, Grand Piazzas, and a Sunset Finish
Cross the river, take in bridge views, and end the day at a grand piazza as the golden light settles over the city.
📍
Interactive
Google Map with Layers
Your full route, food and drinks, and toilets, all toggleable from your phone.
- Walking directions for the full day
- Food and drinks pins with notes
- Public toilets layer
🍝
Curated
Food and Drinks Guide
Trattorias, supplì spots, gelato, places we keep going back to, pinned right along your route.
- Vetted recommendations near your route
- Categories, price range, and dietary tags
- Budget-friendly to special occasion
📋
Practical extras
Rome Logistics Sorted
The pages that prevent the most common one-day-in-Rome mistakes.
- How to buy tickets (official links, timing tips)
- Getting around Rome (metro, bus, tram, apps)
- Budget tracker, packing checklist, emergency contacts
40+ page PDF, interactive map, food guide, and ticket strategy, everything for your one day in Rome.
€17.90 €9.90
Get the Rome Guide
Your day at a glance
One day that actually makes sense
AM
Morning
Ancient Rome and the Historic Center
The ancient quarter first, when it is quietest, then into the historic center’s piazzas, fountains, and landmarks before the midday rush.
PM
Afternoon and Evening
River Walk and Sunset Finish
Cross the Tiber, soak in the bridge views, and end your day at one of Rome’s grandest piazzas as the light turns golden.
Why this guide
Winging it vs. the Rome guide
| Feature |
Winging it |
Rome in a Day |
| Optimized single-day route | ✗ Zig and zag | ✓ One smart loop |
| Crowd-smart timing | ✗ Hope for the best | ✓ Built in |
| Ticket strategy with official links | ✗ Confusing resellers | ✓ Step-by-step |
| Google Map with layers | ✗ Make your own | ✓ Ready to use |
| Curated food near your route | ✗ Tourist traps | ✓ Vetted picks |
| Hours spent planning | 5-10 hours | Under 20 min |
How it works
Purchase to planning in 3 minutes
1
Download
Instant access to the PDF, map, and food guide right after checkout.
2
Plan
Open the map, save it to your phone, skim the logistics page. Done.
3
Walk
Follow the step-by-step plan on the ground. Toggle map layers as you go.
Trusted by travelers
Join 63,000 Italy travelers (and counting)
10+
Years exploring Italy
★★★★★
“This guide made my day in Rome absolutely perfect. I saw the highlights without feeling rushed.”
— Alessia G., Berlin
★★★★★
“The insider tips and clear route helped me avoid tourist traps and discover hidden gems.”
— Giovanni P., New York
★★★★★
“Loved the optional shortcuts and the gelato stops along the way.”
— Marta L., Sydney
Meet your guide
Ciao, I am Maria
A techie by day and an Italy explorer at heart, I have been living in Rome for over 10 years. My happiest days involve unhurried strolls through hidden courtyards, bites at bustling markets, and dinners in tiny trattorie with handwritten menus.
With a small team of local friends and contributors spread across Italy, I share calm routes, authentic eats, and small discoveries, one market, meal, and neighborhood gem at a time. Our four-legged travel CEO, Gioia, keeps us honest about the city’s best-kept secrets.
These guides are not AI-generated lists. Every restaurant, every route, every timing note comes from walking these streets ourselves, year after year. Rome is home.
Is this guide right for you?
✅ Perfect if…
- You have one full day in Rome, layover, cruise stop, or a quick city break
- You need a single, efficient walking plan that strings together the main sights
- You want food and coffee suggestions near key stops so you do not waste time detouring
- You are the one in the group who has to “figure out the day” and want plug-and-play instructions on your phone
🚫 Not a fit if…
- You have 2 or more days, the Two Days in Rome or Three Days in Rome guides give you more breathing room
- You want to wander slowly with no plan at all
- You need a car-based itinerary with very limited walking
Frequently asked questions
How much walking is involved? ›
It is a full day on foot, roughly 14,000 to 18,000 steps, with built-in breaks and cafe stops. Comfortable shoes are essential.
Can I really see Rome in one day? ›
You cannot see everything, but you can see the greatest hits, and enjoy them without rushing. This guide is built to make every hour count so you leave feeling like you truly experienced Rome.
Do I need to book tickets in advance? ›
For the Colosseum, yes, timed-entry slots are essential. The guide walks you through exactly which official portal to use and which time slot works best with the itinerary.
Is everything updated for 2026? ›
Yes. Hours, access notes, ticket links, and restaurant recommendations are all current for 2026.
Does the map work on my phone? ›
Yes. Open in Google Maps on iOS or Android, one tap and you are navigating.
What if I have dietary restrictions? ›
Our food guide marks vegetarian-friendly options and notes when gluten-free or dairy-free is feasible.
What is the refund policy? ›
Because this is an instant digital download, all sales are final. But if you have trouble accessing your files or the map, reply to your confirmation email or contact hello@italyonfoot.com and we will help right away.
Can I see the quality before I buy? ›
Ready to go?
One day. Zero guesswork.
Your complete Rome-in-a-day system, download it now and have your trip sorted in under 20 minutes.
€17.90
€9.90
Get the Rome Guide: €9.90
Secure Stripe checkout
Instant download
Updated for 2026
(function(){
document.querySelectorAll(‘.iof-faq-q’).forEach(function(q){
q.addEventListener(‘click’,function(){
var item=this.parentElement;
var wasOpen=item.classList.contains(‘iof-open’);
document.querySelectorAll(‘.iof-faq-item’).forEach(function(i){i.classList.remove(‘iof-open’);});
if(!wasOpen) item.classList.add(‘iof-open’);
});
});
})();