:root {
--color-primary: #2d5016;
--color-secondary: #4a7c2c;
--color-accent: #7fb069;
--color-highlight: #e8b44f;
--color-light: #f5f7f2;
--color-white: #ffffff;
--color-text: #2c2c2c;
--color-text-light: #5a5a5a;
--font-primary: 'Crimson Pro', serif;
--font-display: 'Outfit', sans-serif;
--space-xs: 0.5rem;
--space-sm: 1rem;
--space-md: 2rem;
--space-lg: 4rem;
--space-xl: 6rem;
--radius-sm: 0.3rem;
--radius-md: 0.6rem;
--radius-lg: 1.2rem;
--transition-quick: 0.2s ease;
--transition-smooth: 0.4s ease;
--shadow-sm: 0 2px 10px rgba(0,0,0,0.08);
--shadow-md: 0 4px 20px rgba(0,0,0,0.12);
--shadow-lg: 0 8px 30px rgba(0,0,0,0.18);
}

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

html {
font-size: 100%;
scroll-behavior: smooth;
}

body {
font-family: var(--font-primary);
color: var(--color-text);
background: var(--color-white);
line-height: 1.7;
overflow-x: hidden;
}

body:has(.main-nav.active),
body.nav-active {
overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
font-family: var(--font-display);
font-weight: 700;
line-height: 1.3;
}

h1 {
font-size: clamp(2rem, 5vw, 3.8rem);
}

h2 {
font-size: clamp(1.6rem, 4vw, 2.8rem);
}

h3 {
font-size: clamp(1.2rem, 3vw, 1.9rem);
}

a {
text-decoration: none;
color: inherit;
transition: var(--transition-quick);
}

img {
max-width: 100%;
height: auto;
display: block;
}

button {
font-family: inherit;
cursor: pointer;
border: none;
background: none;
}

.slide-header {
position: fixed;
top: 0;
left: 0;
right: 0;
background: rgba(255, 255, 255, 0.97);
backdrop-filter: blur(8px);
box-shadow: var(--shadow-sm);
z-index: 1000;
transform: translateY(0);
transition: var(--transition-smooth);
}

.slide-header.hidden {
transform: translateY(-100%);
}

.header-wrap {
max-width: 1400px;
margin: 0 auto;
padding: var(--space-sm) var(--space-md);
display: flex;
justify-content: space-between;
align-items: center;
}

.logo-text {
font-family: var(--font-display);
font-size: 1.6rem;
font-weight: 800;
color: var(--color-primary);
}

.nav-toggle {
display: none;
flex-direction: column;
gap: 0.35rem;
z-index: 1001;
}

.nav-toggle span {
width: 1.6rem;
height: 0.2rem;
background: var(--color-primary);
transition: var(--transition-smooth);
border-radius: var(--radius-sm);
}

.nav-toggle.active span:nth-child(1) {
transform: rotate(45deg) translate(7px, 7px);
background: var(--color-white);
}

.nav-toggle.active span:nth-child(2) {
opacity: 0;
}

.nav-toggle.active span:nth-child(3) {
transform: rotate(-45deg) translate(5px, -6px);
background: var(--color-white);
}

.main-nav {
display: flex;
gap: var(--space-md);
}

.main-nav a {
font-weight: 600;
font-size: 1rem;
color: var(--color-text);
position: relative;
padding: 0.3rem 0;
}

.main-nav a::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 0.2rem;
background: var(--color-accent);
transition: var(--transition-quick);
}

.main-nav a:hover::after {
width: 100%;
}

.intro-bloom {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
position: relative;
background: linear-gradient(135deg, rgba(45, 80, 22, 0.85) 0%, rgba(74, 124, 44, 0.85) 100%), url('../visuals/bg-image-1.webp');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
color: var(--color-white);
padding: var(--space-xl) var(--space-md);
overflow: hidden;
}

.bloom-content {
position: relative;
z-index: 2;
text-align: center;
max-width: 800px;
}

.bloom-content h1 {
font-size: clamp(2.5rem, 7vw, 5.5rem);
margin-bottom: var(--space-md);
letter-spacing: -0.02em;
}

.bloom-content p {
font-size: clamp(1.1rem, 2.5vw, 1.6rem);
opacity: 0.95;
}

.bloom-visual {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 100%;
height: 100%;
z-index: 1;
}

.petal-shape {
position: absolute;
width: 40%;
height: 40%;
background: rgba(127, 176, 105, 0.15);
border-radius: 50% 0 50% 0;
top: 30%;
left: 30%;
animation: float-petal 15s ease-in-out infinite;
}

.petal-shape.delay-1 {
animation-delay: -5s;
background: rgba(232, 180, 79, 0.12);
border-radius: 0 50% 0 50%;
}

.petal-shape.delay-2 {
animation-delay: -10s;
background: rgba(74, 124, 44, 0.1);
border-radius: 50%;
}

@keyframes float-petal {
0%, 100% { transform: translate(0, 0) rotate(0deg); }
33% { transform: translate(20px, -30px) rotate(120deg); }
66% { transform: translate(-20px, 20px) rotate(240deg); }
}

.offset-intro {
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: var(--space-lg);
padding: var(--space-xl) var(--space-md);
max-width: 1400px;
margin: 0 auto;
align-items: center;
}

.intro-left {
padding-right: var(--space-md);
}

.intro-icon {
font-size: 3.5rem;
color: var(--color-accent);
margin-bottom: var(--space-md);
}

.intro-left h2 {
margin-bottom: var(--space-md);
color: var(--color-primary);
}

.intro-left p {
margin-bottom: var(--space-md);
line-height: 1.8;
color: var(--color-text-light);
font-size: 1.05rem;
}

.intro-right {
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-lg);
transform: rotate(2deg);
}

.intro-right img {
width: 100%;
height: auto;
}

.wave-services {
padding: var(--space-xl) var(--space-md);
background: var(--color-light);
}

.wave-services h2 {
text-align: center;
margin-bottom: var(--space-lg);
color: var(--color-primary);
}

.service-flow {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: var(--space-md);
max-width: 1200px;
margin: 0 auto;
}

.service-block {
background: var(--color-white);
padding: var(--space-md);
border-radius: var(--radius-md);
box-shadow: var(--shadow-sm);
text-align: center;
transition: var(--transition-smooth);
}

.service-block:hover {
transform: translateY(-0.5rem);
box-shadow: var(--shadow-md);
}

.service-block i {
font-size: 2.8rem;
color: var(--color-secondary);
margin-bottom: var(--space-sm);
}

.service-block h3 {
margin-bottom: var(--space-sm);
color: var(--color-primary);
}

.service-block p {
color: var(--color-text-light);
font-size: 0.98rem;
line-height: 1.6;
}

.stagger-showcase {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-xl);
padding: var(--space-xl) var(--space-md);
max-width: 1400px;
margin: 0 auto;
align-items: center;
}

.showcase-text h2 {
margin-bottom: var(--space-md);
color: var(--color-primary);
}

.showcase-text p {
margin-bottom: var(--space-md);
line-height: 1.8;
color: var(--color-text-light);
font-size: 1.05rem;
}

.text-link {
color: var(--color-secondary);
font-weight: 600;
display: inline-flex;
align-items: center;
gap: 0.5rem;
}

.text-link:hover {
gap: 0.8rem;
color: var(--color-accent);
}

.showcase-image {
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-md);
transform: rotate(-2deg);
}

.showcase-image img {
width: 100%;
height: auto;
}

.testimonial-layer {
padding: var(--space-xl) var(--space-md);
background: var(--color-white);
}

.testimonial-layer h2 {
text-align: center;
margin-bottom: var(--space-lg);
color: var(--color-primary);
}

.testimonial-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--space-md);
max-width: 1200px;
margin: 0 auto;
}

.testimonial-box {
background: var(--color-light);
padding: var(--space-md) var(--space-lg);
border-radius: var(--radius-md);
border-left: 4px solid var(--color-accent);
}

.testimonial-box p {
font-style: italic;
margin-bottom: var(--space-sm);
color: var(--color-text);
line-height: 1.7;
}

.client-name {
font-size: 0.92rem;
color: var(--color-text-light);
font-weight: 600;
}

.diagonal-cta {
padding: var(--space-xl) var(--space-md);
background: linear-gradient(120deg, var(--color-secondary) 0%, var(--color-primary) 100%);
color: var(--color-white);
text-align: center;
clip-path: polygon(0 5%, 100% 0, 100% 95%, 0 100%);
}

.cta-inner h2 {
margin-bottom: var(--space-md);
}

.cta-inner p {
font-size: 1.2rem;
margin-bottom: var(--space-lg);
opacity: 0.95;
}

.cta-btn {
display: inline-block;
padding: var(--space-sm) var(--space-lg);
background: var(--color-highlight);
color: var(--color-primary);
font-weight: 700;
border-radius: var(--radius-md);
box-shadow: var(--shadow-md);
transition: var(--transition-smooth);
font-family: var(--font-display);
}

.cta-btn:hover {
transform: translateY(-0.3rem);
box-shadow: var(--shadow-lg);
background: #f0c060;
}

.location-section {
display: grid;
grid-template-columns: 1fr 1.5fr;
gap: var(--space-lg);
padding: var(--space-xl) var(--space-md);
max-width: 1400px;
margin: 0 auto;
}

.location-details h2 {
margin-bottom: var(--space-md);
color: var(--color-primary);
}

.location-details p {
margin-bottom: var(--space-sm);
color: var(--color-text-light);
display: flex;
align-items: center;
gap: var(--space-sm);
}

.location-details i {
color: var(--color-accent);
}

.location-details a {
color: var(--color-secondary);
}

.location-details a:hover {
text-decoration: underline;
}

.location-map iframe {
width: 100%;
height: 100%;
min-height: 400px;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-md);
}

.minimal-footer {
background: var(--color-primary);
color: var(--color-white);
padding: var(--space-md);
text-align: center;
}

.footer-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: var(--space-sm);
}

.footer-nav {
display: flex;
justify-content: center;
gap: var(--space-md);
flex-wrap: wrap;
}

.footer-nav a {
font-size: 0.92rem;
opacity: 0.85;
transition: var(--transition-quick);
}

.footer-nav a:hover {
opacity: 1;
color: var(--color-highlight);
}

.privacy-notice {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: var(--color-secondary);
color: var(--color-white);
padding: var(--space-md);
box-shadow: var(--shadow-lg);
z-index: 2000;
transform: translateY(100%);
transition: var(--transition-smooth);
}

.privacy-notice.show {
transform: translateY(0);
}

.notice-content {
max-width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
gap: var(--space-md);
flex-wrap: wrap;
}

.notice-content p {
flex: 1;
min-width: 250px;
}

.notice-actions {
display: flex;
gap: var(--space-sm);
}

.notice-actions a {
color: var(--color-highlight);
text-decoration: underline;
}

.notice-actions button {
padding: var(--space-xs) var(--space-md);
background: var(--color-highlight);
color: var(--color-primary);
border-radius: var(--radius-sm);
font-weight: 600;
transition: var(--transition-quick);
}

.notice-actions button:hover {
background: #f0c060;
}

.page-intro {
padding: calc(var(--space-xl) + 3rem) var(--space-md) var(--space-lg);
background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-primary) 100%);
color: var(--color-white);
text-align: center;
}

.page-intro h1 {
margin-bottom: var(--space-md);
}

.page-intro p {
font-size: 1.2rem;
opacity: 0.95;
max-width: 700px;
margin: 0 auto;
}

.package-display {
padding: var(--space-xl) var(--space-md);
background: var(--color-light);
}

.package-display h2 {
text-align: center;
margin-bottom: var(--space-lg);
color: var(--color-primary);
}

.package-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--space-lg);
max-width: 1200px;
margin: 0 auto;
}

.package-item {
background: var(--color-white);
border-radius: var(--radius-lg);
padding: var(--space-lg);
box-shadow: var(--shadow-md);
text-align: center;
transition: var(--transition-smooth);
}

.package-item:hover {
transform: translateY(-0.6rem);
box-shadow: var(--shadow-lg);
}

.package-icon {
margin-bottom: var(--space-md);
}

.package-icon i {
font-size: 4rem;
color: var(--color-secondary);
}

.package-item h3 {
margin-bottom: var(--space-sm);
color: var(--color-primary);
}

.package-item p {
color: var(--color-text-light);
margin-bottom: var(--space-md);
line-height: 1.6;
}

.package-price {
font-size: 2.8rem;
font-weight: 800;
color: var(--color-accent);
font-family: var(--font-display);
margin-bottom: var(--space-xs);
}

.price-note {
font-size: 0.9rem;
color: var(--color-text-light);
margin-bottom: var(--space-md);
}

.package-btn {
display: inline-block;
padding: var(--space-sm) var(--space-md);
background: var(--color-primary);
color: var(--color-white);
border-radius: var(--radius-md);
font-weight: 600;
transition: var(--transition-quick);
}

.package-btn:hover {
background: var(--color-secondary);
}

.design-approach {
padding: var(--space-xl) var(--space-md);
background: var(--color-white);
}

.design-approach h2 {
text-align: center;
margin-bottom: var(--space-lg);
color: var(--color-primary);
}

.approach-layout {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: var(--space-md);
max-width: 1200px;
margin: 0 auto;
}

.approach-step {
padding: var(--space-md);
border: 2px solid var(--color-light);
border-radius: var(--radius-md);
position: relative;
transition: var(--transition-quick);
}

.approach-step:hover {
border-color: var(--color-accent);
}

.step-num {
font-size: 3.5rem;
font-weight: 800;
color: var(--color-accent);
opacity: 0.2;
font-family: var(--font-display);
line-height: 1;
margin-bottom: var(--space-sm);
}

.approach-step h3 {
margin-bottom: var(--space-sm);
color: var(--color-primary);
}

.approach-step p {
color: var(--color-text-light);
font-size: 0.98rem;
line-height: 1.6;
}

.feature-highlight {
padding: var(--space-xl) var(--space-md);
background: var(--color-primary);
color: var(--color-white);
}

.highlight-content {
max-width: 900px;
margin: 0 auto;
}

.highlight-content h2 {
text-align: center;
margin-bottom: var(--space-lg);
}

.highlight-content ul {
list-style: none;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--space-md);
}

.highlight-content li {
display: flex;
align-items: flex-start;
gap: var(--space-sm);
}

.highlight-content i {
color: var(--color-highlight);
margin-top: 0.2rem;
}

.style-options {
padding: var(--space-xl) var(--space-md);
background: var(--color-light);
}

.style-options h2 {
text-align: center;
margin-bottom: var(--space-lg);
color: var(--color-primary);
}

.style-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: var(--space-md);
max-width: 1200px;
margin: 0 auto;
}

.style-card {
background: var(--color-white);
padding: var(--space-md);
border-radius: var(--radius-md);
text-align: center;
box-shadow: var(--shadow-sm);
transition: var(--transition-smooth);
}

.style-card:hover {
transform: translateY(-0.4rem);
box-shadow: var(--shadow-md);
}

.style-card i {
font-size: 2.5rem;
color: var(--color-accent);
margin-bottom: var(--space-sm);
}

.style-card h3 {
margin-bottom: var(--space-sm);
color: var(--color-primary);
}

.style-card p {
color: var(--color-text-light);
font-size: 0.95rem;
line-height: 1.6;
}

.seasonal-info {
padding: var(--space-xl) var(--space-md);
background: var(--color-white);
max-width: 900px;
margin: 0 auto;
}

.seasonal-info h2 {
text-align: center;
margin-bottom: var(--space-lg);
color: var(--color-primary);
}

.seasonal-text p {
margin-bottom: var(--space-md);
line-height: 1.8;
color: var(--color-text-light);
font-size: 1.05rem;
}

.cta-simple {
padding: var(--space-xl) var(--space-md);
background: var(--color-light);
text-align: center;
}

.cta-simple h2 {
margin-bottom: var(--space-md);
color: var(--color-primary);
}

.cta-simple p {
margin-bottom: var(--space-lg);
color: var(--color-text-light);
font-size: 1.1rem;
}

.care-intro {
padding: var(--space-xl) var(--space-md);
max-width: 900px;
margin: 0 auto;
text-align: center;
}

.care-icon {
font-size: 4rem;
color: var(--color-accent);
margin-bottom: var(--space-md);
}

.care-text h2 {
margin-bottom: var(--space-md);
color: var(--color-primary);
}

.care-text p {
margin-bottom: var(--space-md);
line-height: 1.8;
color: var(--color-text-light);
font-size: 1.05rem;
}

.tips-collection {
padding: var(--space-xl) var(--space-md);
background: var(--color-light);
}

.tips-collection h2 {
text-align: center;
margin-bottom: var(--space-lg);
color: var(--color-primary);
}

.tips-layout {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: var(--space-md);
max-width: 1200px;
margin: 0 auto;
}

.tip-block {
background: var(--color-white);
padding: var(--space-md);
border-radius: var(--radius-md);
box-shadow: var(--shadow-sm);
}

.tip-block i {
font-size: 2.5rem;
color: var(--color-secondary);
margin-bottom: var(--space-sm);
}

.tip-block h3 {
margin-bottom: var(--space-sm);
color: var(--color-primary);
}

.tip-block p {
color: var(--color-text-light);
font-size: 0.98rem;
line-height: 1.7;
margin-bottom: var(--space-sm);
}

.seasonal-guide {
padding: var(--space-xl) var(--space-md);
background: var(--color-white);
}

.seasonal-guide h2 {
text-align: center;
margin-bottom: var(--space-lg);
color: var(--color-primary);
}

.season-blocks {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: var(--space-md);
max-width: 1200px;
margin: 0 auto;
}

.season-item {
background: var(--color-light);
padding: var(--space-md);
border-radius: var(--radius-md);
border-top: 4px solid var(--color-accent);
}

.season-item h3 {
margin-bottom: var(--space-sm);
color: var(--color-primary);
}

.season-item p {
color: var(--color-text-light);
font-size: 0.98rem;
line-height: 1.6;
}

.common-issues {
padding: var(--space-xl) var(--space-md);
background: var(--color-light);
max-width: 1000px;
margin: 0 auto;
}

.common-issues h2 {
text-align: center;
margin-bottom: var(--space-lg);
color: var(--color-primary);
}

.issue-list {
display: flex;
flex-direction: column;
gap: var(--space-md);
}

.issue-item {
background: var(--color-white);
padding: var(--space-md);
border-radius: var(--radius-md);
}

.issue-item h3 {
margin-bottom: var(--space-sm);
color: var(--color-primary);
font-size: 1.1rem;
}

.issue-item p {
color: var(--color-text-light);
line-height: 1.6;
}

.maintenance-services {
padding: var(--space-xl) var(--space-md);
background: var(--color-secondary);
color: var(--color-white);
text-align: center;
}

.service-info i {
font-size: 4rem;
color: var(--color-highlight);
margin-bottom: var(--space-md);
}

.service-info h2 {
margin-bottom: var(--space-md);
}

.service-info p {
max-width: 700px;
margin: 0 auto var(--space-lg);
font-size: 1.1rem;
opacity: 0.95;
}

.resource-section {
padding: var(--space-xl) var(--space-md);
background: var(--color-white);
max-width: 900px;
margin: 0 auto;
}

.resource-section h2 {
text-align: center;
margin-bottom: var(--space-lg);
color: var(--color-primary);
}

.resource-text p {
margin-bottom: var(--space-md);
line-height: 1.8;
color: var(--color-text-light);
font-size: 1.05rem;
}

.contact-intro {
padding: calc(var(--space-xl) + 3rem) var(--space-md) var(--space-lg);
background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-primary) 100%);
color: var(--color-white);
text-align: center;
}

.contact-header h1 {
margin-bottom: var(--space-md);
}

.contact-header p {
font-size: 1.2rem;
opacity: 0.95;
max-width: 700px;
margin: 0 auto;
}

.contact-main {
display: grid;
grid-template-columns: 1.5fr 1fr;
gap: var(--space-xl);
padding: var(--space-xl) var(--space-md);
max-width: 1400px;
margin: 0 auto;
}

.form-container h2 {
margin-bottom: var(--space-md);
color: var(--color-primary);
}

.contact-form {
display: flex;
flex-direction: column;
gap: var(--space-md);
}

.field-group {
display: flex;
flex-direction: column;
gap: var(--space-xs);
}

.field-group label {
font-weight: 600;
color: var(--color-text);
}

.field-group input,
.field-group textarea {
padding: var(--space-sm);
border: 2px solid var(--color-light);
border-radius: var(--radius-md);
font-family: inherit;
font-size: 1rem;
transition: var(--transition-quick);
}

.field-group input:focus,
.field-group textarea:focus {
outline: none;
border-color: var(--color-accent);
}

.consent-field {
flex-direction: row;
align-items: flex-start;
gap: var(--space-sm);
}

.consent-field input {
width: auto;
margin-top: 0.3rem;
}

.consent-field label {
font-weight: 400;
font-size: 0.92rem;
}

.consent-field a {
color: var(--color-secondary);
text-decoration: underline;
}

.submit-btn {
padding: var(--space-sm) var(--space-lg);
background: var(--color-accent);
color: var(--color-white);
font-weight: 600;
border-radius: var(--radius-md);
transition: var(--transition-quick);
align-self: flex-start;
font-family: var(--font-display);
}

.submit-btn:hover {
background: var(--color-secondary);
transform: translateY(-0.2rem);
}

.contact-info {
display: flex;
flex-direction: column;
gap: var(--space-md);
}

.info-card {
padding: var(--space-md);
background: var(--color-light);
border-radius: var(--radius-md);
}

.info-card i {
font-size: 1.6rem;
color: var(--color-accent);
margin-bottom: var(--space-sm);
}

.info-card h3 {
margin-bottom: var(--space-sm);
color: var(--color-primary);
}

.info-card p {
color: var(--color-text-light);
line-height: 1.6;
}

.info-card a {
color: var(--color-secondary);
}

.info-card a:hover {
text-decoration: underline;
}

.map-section {
padding: var(--space-xl) var(--space-md);
background: var(--color-light);
}

.map-section h2 {
text-align: center;
margin-bottom: var(--space-lg);
color: var(--color-primary);
}

.map-wrapper {
max-width: 1200px;
margin: 0 auto;
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-md);
}

.map-wrapper iframe {
width: 100%;
height: 450px;
}

.faq-contact {
padding: var(--space-xl) var(--space-md);
max-width: 1000px;
margin: 0 auto;
}

.faq-contact h2 {
text-align: center;
margin-bottom: var(--space-lg);
color: var(--color-primary);
}

.faq-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--space-md);
}

.faq-box {
padding: var(--space-md);
background: var(--color-light);
border-radius: var(--radius-md);
}

.faq-box h3 {
margin-bottom: var(--space-sm);
color: var(--color-primary);
font-size: 1.05rem;
}

.faq-box p {
color: var(--color-text-light);
line-height: 1.6;
}

.visit-encourage {
padding: var(--space-xl) var(--space-md);
background: var(--color-white);
}

.encourage-content {
max-width: 1000px;
margin: 0 auto;
text-align: center;
}

.encourage-content h2 {
margin-bottom: var(--space-md);
color: var(--color-primary);
}

.encourage-content p {
margin-bottom: var(--space-lg);
color: var(--color-text-light);
font-size: 1.05rem;
line-height: 1.8;
}

.encourage-content img {
width: 100%;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-md);
margin: 0 auto;
}

.contact-cta {
padding: var(--space-xl) var(--space-md);
background: var(--color-light);
text-align: center;
}

.contact-cta h2 {
margin-bottom: var(--space-md);
color: var(--color-primary);
}

.contact-cta p {
color: var(--color-text-light);
font-size: 1.1rem;
}

.thankyou-main {
min-height: 90vh;
display: flex;
align-items: center;
justify-content: center;
padding: calc(var(--space-xl) + 3rem) var(--space-md);
background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-primary) 100%);
color: var(--color-white);
text-align: center;
}

.thankyou-content {
max-width: 700px;
}

.success-mark {
font-size: 5.5rem;
color: var(--color-highlight);
margin-bottom: var(--space-md);
}

.thankyou-content h1 {
margin-bottom: var(--space-md);
}

.thankyou-content p {
font-size: 1.1rem;
margin-bottom: var(--space-md);
opacity: 0.95;
line-height: 1.7;
}

.back-home {
display: inline-block;
padding: var(--space-sm) var(--space-lg);
background: var(--color-highlight);
color: var(--color-primary);
font-weight: 700;
border-radius: var(--radius-md);
margin-top: var(--space-md);
transition: var(--transition-quick);
font-family: var(--font-display);
}

.back-home:hover {
background: #f0c060;
transform: translateY(-0.2rem);
}

.next-actions {
padding: var(--space-xl) var(--space-md);
background: var(--color-white);
}

.next-actions h2 {
text-align: center;
margin-bottom: var(--space-lg);
color: var(--color-primary);
}

.action-steps {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: var(--space-md);
max-width: 1000px;
margin: 0 auto;
}

.action-item {
text-align: center;
padding: var(--space-md);
}

.action-item i {
font-size: 2.8rem;
color: var(--color-accent);
margin-bottom: var(--space-sm);
}

.action-item h3 {
margin-bottom: var(--space-sm);
color: var(--color-primary);
}

.action-item p {
color: var(--color-text-light);
font-size: 0.98rem;
line-height: 1.6;
}

.explore-while {
padding: var(--space-xl) var(--space-md);
background: var(--color-light);
}

.explore-while h2 {
text-align: center;
margin-bottom: var(--space-lg);
color: var(--color-primary);
}

.explore-options {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: var(--space-md);
max-width: 800px;
margin: 0 auto;
}

.explore-box {
background: var(--color-white);
padding: var(--space-lg);
border-radius: var(--radius-lg);
text-align: center;
box-shadow: var(--shadow-sm);
transition: var(--transition-smooth);
}

.explore-box:hover {
transform: translateY(-0.5rem);
box-shadow: var(--shadow-md);
}

.explore-box i {
font-size: 3rem;
color: var(--color-secondary);
margin-bottom: var(--space-sm);
}

.explore-box h3 {
margin-bottom: var(--space-sm);
color: var(--color-primary);
}

.explore-box p {
color: var(--color-text-light);
font-size: 0.95rem;
}

.error-main {
min-height: 90vh;
display: flex;
align-items: center;
justify-content: center;
padding: calc(var(--space-xl) + 3rem) var(--space-md);
background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-primary) 100%);
color: var(--color-white);
text-align: center;
}

.error-content {
max-width: 700px;
}

.error-number {
font-size: 9rem;
font-weight: 800;
font-family: var(--font-display);
color: var(--color-highlight);
line-height: 1;
margin-bottom: var(--space-md);
}

.error-content h1 {
margin-bottom: var(--space-md);
}

.error-content p {
font-size: 1.1rem;
margin-bottom: var(--space-lg);
opacity: 0.95;
}

.error-btn {
display: inline-block;
padding: var(--space-sm) var(--space-lg);
background: var(--color-highlight);
color: var(--color-primary);
font-weight: 700;
border-radius: var(--radius-md);
transition: var(--transition-quick);
font-family: var(--font-display);
}

.error-btn:hover {
background: #f0c060;
transform: translateY(-0.2rem);
}

.error-links {
padding: var(--space-xl) var(--space-md);
background: var(--color-white);
}

.error-links h2 {
text-align: center;
margin-bottom: var(--space-lg);
color: var(--color-primary);
}

.link-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: var(--space-md);
max-width: 1000px;
margin: 0 auto;
}

.link-box {
background: var(--color-light);
padding: var(--space-lg);
border-radius: var(--radius-lg);
text-align: center;
transition: var(--transition-smooth);
}

.link-box:hover {
background: var(--color-primary);
color: var(--color-white);
transform: translateY(-0.5rem);
}

.link-box i {
font-size: 2.8rem;
margin-bottom: var(--space-sm);
color: var(--color-accent);
}

.link-box h3 {
font-size: 1.1rem;
}

.policy-intro {
padding: calc(var(--space-xl) + 3rem) var(--space-md) var(--space-lg);
background: var(--color-primary);
color: var(--color-white);
text-align: center;
}

.policy-intro h1 {
margin-bottom: var(--space-sm);
}

.policy-intro p {
opacity: 0.85;
}

.policy-body {
max-width: 900px;
margin: 0 auto;
padding: var(--space-xl) var(--space-md);
}

.policy-block {
margin-bottom: var(--space-lg);
}

.policy-block h2 {
margin-bottom: var(--space-md);
color: var(--color-primary);
}

.policy-block p {
margin-bottom: var(--space-md);
line-height: 1.8;
color: var(--color-text-light);
}

.policy-block ul,
.policy-block ol {
margin-left: var(--space-md);
margin-bottom: var(--space-md);
}

.policy-block li {
margin-bottom: var(--space-sm);
line-height: 1.8;
color: var(--color-text-light);
}

.policy-block a {
color: var(--color-secondary);
text-decoration: underline;
}

@media (max-width: 1024px) {
.offset-intro {
grid-template-columns: 1fr;
}
.stagger-showcase {
grid-template-columns: 1fr;
}
.location-section {
grid-template-columns: 1fr;
}
.contact-main {
grid-template-columns: 1fr;
}
}

@media (max-width: 768px) {
.slide-header {
position: relative;
}
.header-wrap {
padding: var(--space-sm);
}
.logo-text {
font-size: 1.3rem;
}
.nav-toggle {
display: flex;

}
.main-nav {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: var(--color-primary);
flex-direction: column;
justify-content: center;
align-items: center;
gap: var(--space-lg);
transform: translateX(100%);
transition: var(--transition-smooth);
height: 100vh;
display: none;
}
.main-nav.active {
transform: translateX(0);
display: flex;
}
.main-nav a {
color: var(--color-white);
font-size: 1.6rem;
}
.intro-bloom {
padding: var(--space-lg) var(--space-md);
min-height: 80vh;
}
.service-flow {
grid-template-columns: 1fr;
}
.testimonial-grid {
grid-template-columns: 1fr;
}
.package-grid {
grid-template-columns: 1fr;
}
.approach-layout {
grid-template-columns: 1fr;
}
.style-grid {
grid-template-columns: 1fr;
}
.tips-layout {
grid-template-columns: 1fr;
}
.season-blocks {
grid-template-columns: 1fr;
}
.notice-content {
flex-direction: column;
text-align: center;
}
}

@media (max-width: 480px) {
:root {
--space-lg: 3rem;
--space-xl: 4rem;
}
.bloom-content h1 {
font-size: 2.2rem;
}
.error-number {
font-size: 6rem;
}
.showcase-text h2 {
    font-size: 1.5rem;
}

}
