:root {
--color-primary: #2d5016;
--color-secondary: #5a8c2e;
--color-accent: #8fbc5a;
--color-dark: #1a2e0d;
--color-light: #f4f7f0;
--color-white: #ffffff;
--color-grey-100: #f8f9fa;
--color-grey-200: #e9ecef;
--color-grey-300: #dee2e6;
--color-grey-700: #495057;
--color-grey-900: #212529;

--font-primary: 'Space Grotesk', sans-serif;
--font-secondary: 'Syne', sans-serif;

--space-xs: 0.5rem;
--space-sm: 0.75rem;
--space-md: 1rem;
--space-lg: 1.5rem;
--space-xl: 2rem;
--space-2xl: 3rem;
--space-3xl: 4rem;

--radius-sm: 0.25rem;
--radius-md: 0.5rem;
--radius-lg: 1rem;

--shadow-sm: 0 1px 3px rgba(0,0,0,0.1);
--shadow-md: 0 4px 6px rgba(0,0,0,0.1);
--shadow-lg: 0 10px 25px rgba(0,0,0,0.15);

--transition-fast: 0.2s ease;
--transition-base: 0.3s ease;
--transition-slow: 0.5s ease;
}

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

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

body {
font-family: var(--font-primary);
font-size: 0.9rem;
line-height: 1.5;
color: var(--color-grey-900);
background-color: var(--color-white);
overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
font-family: var(--font-secondary);
font-weight: 700;
line-height: 1.2;
margin-bottom: var(--space-sm);
}

h1 {
font-size: 2rem;
}

h2 {
font-size: 1.5rem;
}

h3 {
font-size: 1.2rem;
}

p {
margin-bottom: var(--space-md);
}

a {
color: var(--color-primary);
text-decoration: none;
transition: color var(--transition-fast);
}

a:hover {
color: var(--color-secondary);
}

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

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

ul {
list-style: none;
}

.primary-nav {
position: absolute;
top: 0;
left: 0;
width: 100%;
z-index: 1000;
padding: var(--space-md) 0;
background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 100%);
}

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

.brand-mark {
font-family: var(--font-secondary);
font-size: 1.3rem;
font-weight: 800;
color: var(--color-white);
text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.menu-trigger {
display: none;
flex-direction: column;
gap: 0.3rem;
padding: var(--space-xs);
z-index: 1001;
}

.trigger-line {
width: 1.5rem;
height: 2px;
background-color: var(--color-white);
transition: all var(--transition-base);
}

.nav-panel {
display: flex;
gap: var(--space-lg);
}

.nav-panel a {
color: var(--color-white);
font-weight: 600;
font-size: 0.85rem;
text-shadow: 0 1px 2px rgba(0,0,0,0.2);
transition: all var(--transition-fast);
}

.nav-panel a:hover {
color: var(--color-accent);
transform: translateY(-2px);
}

.entry-space {
min-height: 85vh;
display: grid;
grid-template-columns: 1fr 1fr;
align-items: center;
gap: var(--space-2xl);
padding: var(--space-3xl) var(--space-md);
background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
position: relative;
overflow: hidden;
}

.entry-space::before {
content: '';
position: absolute;
top: -50%;
right: -20%;
width: 80%;
height: 150%;
background: rgba(255,255,255,0.05);
transform: rotate(-15deg);
}

.entry-content {
position: relative;
z-index: 2;
max-width: 600px;
margin: 0 auto;
}

.entry-title {
font-size: 2.5rem;
color: var(--color-white);
margin-bottom: var(--space-md);
line-height: 1.1;
}

.entry-statement {
font-size: 1rem;
color: rgba(255,255,255,0.9);
margin-bottom: var(--space-xl);
line-height: 1.6;
}

.entry-actions {
display: flex;
gap: var(--space-md);
flex-wrap: wrap;
}

.action-primary, .action-secondary {
padding: var(--space-sm) var(--space-lg);
border-radius: var(--radius-md);
font-weight: 600;
font-size: 0.85rem;
transition: all var(--transition-base);
display: inline-block;
}

.action-primary {
background-color: var(--color-white);
color: var(--color-primary);
}

.action-primary:hover {
background-color: var(--color-accent);
color: var(--color-dark);
transform: translateY(-2px);
box-shadow: var(--shadow-md);
}

.action-secondary {
background-color: transparent;
color: var(--color-white);
border: 2px solid var(--color-white);
}

.action-secondary:hover {
background-color: var(--color-white);
color: var(--color-primary);
}

.entry-visual {
position: relative;
z-index: 2;
}

.entry-visual img {
width: 100%;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-lg);
}

.principle-layer {
padding: var(--space-2xl) var(--space-md);
background-color: var(--color-light);
}

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

.principle-item {
background-color: var(--color-white);
padding: var(--space-lg);
border-radius: var(--radius-md);
box-shadow: var(--shadow-sm);
transition: all var(--transition-base);
}

.principle-item:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-md);
}

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

.principle-item h2 {
font-size: 1.1rem;
color: var(--color-dark);
margin-bottom: var(--space-sm);
}

.principle-item p {
font-size: 0.85rem;
color: var(--color-grey-700);
margin-bottom: 0;
}

.application-showcase {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-white);
}

.showcase-header {
max-width: 800px;
margin: 0 auto var(--space-xl);
text-align: center;
}

.showcase-header h2 {
font-size: 1.8rem;
color: var(--color-dark);
margin-bottom: var(--space-md);
}

.showcase-header p {
font-size: 0.95rem;
color: var(--color-grey-700);
}

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

.application-card {
padding: var(--space-lg);
background-color: var(--color-grey-100);
border-left: 4px solid var(--color-primary);
border-radius: var(--radius-sm);
transition: all var(--transition-base);
}

.application-card:hover {
background-color: var(--color-white);
border-left-color: var(--color-accent);
box-shadow: var(--shadow-sm);
}

.application-card h3 {
font-size: 1rem;
color: var(--color-primary);
margin-bottom: var(--space-xs);
}

.application-card p {
font-size: 0.85rem;
color: var(--color-grey-700);
margin-bottom: 0;
}

.material-insight {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-2xl);
align-items: center;
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-grey-100);
}

.insight-visual img {
width: 100%;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-md);
}

.insight-content h2 {
font-size: 1.6rem;
color: var(--color-dark);
margin-bottom: var(--space-md);
}

.insight-content p {
font-size: 0.9rem;
color: var(--color-grey-700);
margin-bottom: var(--space-lg);
}

.insight-features {
display: flex;
flex-direction: column;
gap: var(--space-sm);
}

.insight-features li {
padding-left: var(--space-lg);
position: relative;
font-size: 0.85rem;
color: var(--color-grey-700);
}

.insight-features li::before {
content: '✓';
position: absolute;
left: 0;
color: var(--color-primary);
font-weight: 700;
}

.process-timeline {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-white);
}

.process-timeline h2 {
text-align: center;
font-size: 1.8rem;
color: var(--color-dark);
margin-bottom: var(--space-2xl);
}

.timeline-flow {
max-width: 1000px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: var(--space-lg);
}

.timeline-step {
display: grid;
grid-template-columns: 80px 1fr;
gap: var(--space-md);
padding: var(--space-lg);
background-color: var(--color-light);
border-radius: var(--radius-md);
transition: all var(--transition-base);
}

.timeline-step:hover {
background-color: var(--color-white);
box-shadow: var(--shadow-sm);
}

.step-number {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 1.3rem;
  font-weight: 700;
  border-radius: 50%;
  font-family: var(--font-secondary);
}

.step-content {
  display: flex;
  flex-direction: column;
}

.timeline-step h3 {
  font-size: 1.1rem;
  color: var(--color-dark);
  margin-bottom: var(--space-xs);
}

.timeline-step p {
  font-size: 0.85rem;
  color: var(--color-grey-700);
  margin-bottom: 0;
}

.location-context {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-2xl);
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-grey-100);
}

.context-content h2 {
font-size: 1.6rem;
color: var(--color-dark);
margin-bottom: var(--space-md);
}

.context-content p {
font-size: 0.9rem;
color: var(--color-grey-700);
margin-bottom: var(--space-lg);
}

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

.detail-item {
display: flex;
align-items: center;
gap: var(--space-sm);
}

.detail-item i {
color: var(--color-primary);
}

.detail-item p {
margin-bottom: 0;
font-size: 0.85rem;
color: var(--color-grey-700);
}

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

.value-proposition {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-white);
}

.value-proposition h2 {
text-align: center;
font-size: 1.8rem;
color: var(--color-dark);
margin-bottom: var(--space-2xl);
}

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

.value-block {
padding: var(--space-lg);
background-color: var(--color-light);
border-radius: var(--radius-md);
transition: all var(--transition-base);
}

.value-block:hover {
background-color: var(--color-accent);
transform: scale(1.03);
}

.value-block h3 {
font-size: 1.1rem;
color: var(--color-dark);
margin-bottom: var(--space-sm);
}

.value-block p {
font-size: 0.85rem;
color: var(--color-grey-700);
margin-bottom: 0;
}

.engagement-prompt {
padding: var(--space-3xl) var(--space-md);
background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-primary) 100%);
text-align: center;
}

.prompt-container {
max-width: 700px;
margin: 0 auto;
}

.prompt-container h2 {
font-size: 1.8rem;
color: var(--color-white);
margin-bottom: var(--space-md);
}

.prompt-container p {
font-size: 1rem;
color: rgba(255,255,255,0.9);
margin-bottom: var(--space-xl);
}

.prompt-action {
display: inline-block;
padding: var(--space-md) var(--space-xl);
background-color: var(--color-white);
color: var(--color-primary);
font-weight: 700;
font-size: 0.9rem;
border-radius: var(--radius-md);
transition: all var(--transition-base);
}

.prompt-action:hover {
background-color: var(--color-accent);
color: var(--color-dark);
transform: translateY(-3px);
box-shadow: var(--shadow-lg);
}

.site-footer {
padding: var(--space-lg) var(--space-md);
background-color: var(--color-dark);
}

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

.footer-content p {
color: var(--color-grey-300);
font-size: 0.8rem;
margin-bottom: 0;
}

.footer-links {
display: flex;
gap: var(--space-md);
}

.footer-links a {
color: var(--color-grey-300);
font-size: 0.8rem;
transition: color var(--transition-fast);
}

.footer-links a:hover {
color: var(--color-accent);
}

.privacy-notice {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
background-color: var(--color-dark);
padding: var(--space-md);
z-index: 2000;
box-shadow: 0 -2px 10px rgba(0,0,0,0.2);
transform: translateY(100%);
transition: transform var(--transition-base);
}

.privacy-notice.active {
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 {
color: var(--color-grey-300);
font-size: 0.8rem;
margin-bottom: 0;
}

.notice-content a {
color: var(--color-accent);
text-decoration: underline;
}

.notice-accept {
padding: var(--space-xs) var(--space-md);
background-color: var(--color-primary);
color: var(--color-white);
border-radius: var(--radius-sm);
font-size: 0.8rem;
font-weight: 600;
transition: all var(--transition-fast);
}

.notice-accept:hover {
background-color: var(--color-secondary);
}

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

.page-intro h1 {
font-size: 2.2rem;
color: var(--color-white);
margin-bottom: var(--space-md);
}

.intro-text {
max-width: 800px;
margin: 0 auto;
font-size: 1rem;
color: rgba(255,255,255,0.9);
}

.colour-philosophy {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-white);
}

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

.philosophy-content h2 {
font-size: 1.6rem;
color: var(--color-dark);
margin-bottom: var(--space-md);
}

.philosophy-content p {
font-size: 0.9rem;
color: var(--color-grey-700);
line-height: 1.7;
}

.matching-approach {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-light);
}

.matching-approach h2 {
text-align: center;
font-size: 1.8rem;
color: var(--color-dark);
margin-bottom: var(--space-2xl);
}

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

.approach-item {
padding: var(--space-lg);
background-color: var(--color-white);
border-radius: var(--radius-md);
box-shadow: var(--shadow-sm);
transition: all var(--transition-base);
}

.approach-item:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-md);
}

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

.approach-item p {
font-size: 0.85rem;
color: var(--color-grey-700);
margin-bottom: 0;
}

.palette-examples {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-white);
}

.palette-examples h2 {
text-align: center;
font-size: 1.8rem;
color: var(--color-dark);
margin-bottom: var(--space-2xl);
}

.palette-list {
max-width: 1000px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: var(--space-lg);
}

.palette-combo {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--space-md);
padding: var(--space-lg);
background-color: var(--color-grey-100);
border-radius: var(--radius-md);
}

.combo-interior, .combo-outdoor {
padding: var(--space-md);
}

.combo-interior h3, .combo-outdoor h3 {
font-size: 0.85rem;
color: var(--color-grey-700);
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: var(--space-xs);
}

.combo-interior p, .combo-outdoor p {
font-size: 0.85rem;
color: var(--color-grey-900);
margin-bottom: var(--space-xs);
}

.combo-interior p strong, .combo-outdoor p strong {
color: var(--color-primary);
}

.practical-considerations {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-light);
}

.practical-considerations h2 {
text-align: center;
font-size: 1.8rem;
color: var(--color-dark);
margin-bottom: var(--space-2xl);
}

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

.consideration-item {
padding: var(--space-lg);
background-color: var(--color-white);
border-radius: var(--radius-md);
text-align: center;
}

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

.consideration-item h3 {
font-size: 1rem;
color: var(--color-dark);
margin-bottom: var(--space-sm);
}

.consideration-item p {
font-size: 0.85rem;
color: var(--color-grey-700);
margin-bottom: 0;
}

.consultation-process {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-white);
}

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

.process-content h2 {
font-size: 1.6rem;
color: var(--color-dark);
margin-bottom: var(--space-md);
}

.process-content p {
font-size: 0.9rem;
color: var(--color-grey-700);
margin-bottom: var(--space-lg);
}

.process-steps {
list-style: decimal;
padding-left: var(--space-lg);
}

.process-steps li {
font-size: 0.9rem;
color: var(--color-grey-700);
margin-bottom: var(--space-md);
padding-left: var(--space-sm);
}

.visual-example {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-grey-100);
}

.example-image {
max-width: 1000px;
margin: 0 auto var(--space-lg);
}

.example-image img {
width: 100%;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-md);
}

.example-caption {
max-width: 800px;
margin: 0 auto;
text-align: center;
}

.example-caption p {
font-size: 0.9rem;
color: var(--color-grey-700);
font-style: italic;
}

.next-steps {
padding: var(--space-3xl) var(--space-md);
background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-primary) 100%);
text-align: center;
}

.steps-container {
max-width: 700px;
margin: 0 auto;
}

.steps-container h2 {
font-size: 1.8rem;
color: var(--color-white);
margin-bottom: var(--space-md);
}

.steps-container p {
font-size: 1rem;
color: rgba(255,255,255,0.9);
margin-bottom: var(--space-xl);
}

.steps-action {
display: inline-block;
padding: var(--space-md) var(--space-xl);
background-color: var(--color-white);
color: var(--color-primary);
font-weight: 700;
font-size: 0.9rem;
border-radius: var(--radius-md);
transition: all var(--transition-base);
}

.steps-action:hover {
background-color: var(--color-accent);
color: var(--color-dark);
transform: translateY(-3px);
box-shadow: var(--shadow-lg);
}

.pricing-context {
padding: var(--space-2xl) var(--space-md);
background-color: var(--color-white);
}

.context-wrapper {
max-width: 900px;
margin: 0 auto;
}

.context-wrapper h2 {
font-size: 1.6rem;
color: var(--color-dark);
margin-bottom: var(--space-md);
}

.context-wrapper p {
font-size: 0.9rem;
color: var(--color-grey-700);
line-height: 1.7;
}

.product-showcase {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-light);
}

.product-showcase h2 {
text-align: center;
font-size: 1.8rem;
color: var(--color-dark);
margin-bottom: var(--space-2xl);
}

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

.product-card {
background-color: var(--color-white);
border-radius: var(--radius-md);
overflow: hidden;
box-shadow: var(--shadow-sm);
transition: all var(--transition-base);
display: flex;
flex-direction: column;
}

.product-card:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-lg);
}

.product-header {
padding: var(--space-lg);
background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
text-align: center;
}

.product-header h3 {
font-size: 1.2rem;
color: var(--color-white);
margin-bottom: var(--space-sm);
}

.product-price {
font-size: 2rem;
font-weight: 700;
color: var(--color-white);
font-family: var(--font-secondary);
}

.product-price span {
font-size: 0.9rem;
font-weight: 400;
}

.product-details {
padding: var(--space-lg);
flex-grow: 1;
display: flex;
flex-direction: column;
}

.product-description {
font-size: 0.9rem;
color: var(--color-grey-700);
margin-bottom: var(--space-md);
}

.product-features {
list-style: none;
margin-bottom: var(--space-lg);
flex-grow: 1;
}

.product-features li {
font-size: 0.85rem;
color: var(--color-grey-700);
padding-left: var(--space-lg);
position: relative;
margin-bottom: var(--space-xs);
}

.product-features li::before {
content: '•';
position: absolute;
left: var(--space-sm);
color: var(--color-primary);
font-weight: 700;
}

.product-action {
display: block;
text-align: center;
padding: var(--space-sm) var(--space-md);
background-color: var(--color-primary);
color: var(--color-white);
border-radius: var(--radius-sm);
font-weight: 600;
font-size: 0.85rem;
transition: all var(--transition-fast);
}

.product-action:hover {
background-color: var(--color-secondary);
transform: scale(1.02);
}

.pricing-factors {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-white);
}

.pricing-factors h2 {
text-align: center;
font-size: 1.8rem;
color: var(--color-dark);
margin-bottom: var(--space-2xl);
}

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

.factor-item {
padding: var(--space-lg);
background-color: var(--color-grey-100);
border-radius: var(--radius-md);
}

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

.factor-item p {
font-size: 0.85rem;
color: var(--color-grey-700);
margin-bottom: 0;
}

.investment-comparison {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-light);
}

.comparison-content {
max-width: 800px;
margin: 0 auto;
}

.comparison-content h2 {
font-size: 1.6rem;
color: var(--color-dark);
margin-bottom: var(--space-md);
text-align: center;
}

.comparison-content > p {
font-size: 0.9rem;
color: var(--color-grey-700);
margin-bottom: var(--space-xl);
text-align: center;
}

.comparison-table {
background-color: var(--color-white);
border-radius: var(--radius-md);
overflow: hidden;
box-shadow: var(--shadow-sm);
margin-bottom: var(--space-md);
}

.comparison-row {
display: grid;
grid-template-columns: 2fr 1fr;
padding: var(--space-md);
border-bottom: 1px solid var(--color-grey-200);
}

.comparison-row:last-child {
border-bottom: none;
}

.highlight-row {
background-color: var(--color-accent);
}

.comparison-label {
font-size: 0.9rem;
color: var(--color-grey-900);
font-weight: 600;
}

.comparison-value {
font-size: 0.9rem;
color: var(--color-grey-700);
text-align: right;
font-weight: 600;
}

.comparison-note {
font-size: 0.8rem;
color: var(--color-grey-700);
font-style: italic;
}

.quote-process {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-white);
}

.quote-process h2 {
text-align: center;
font-size: 1.8rem;
color: var(--color-dark);
margin-bottom: var(--space-2xl);
}

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

.flow-step {
text-align: center;
padding: var(--space-lg);
background-color: var(--color-light);
border-radius: var(--radius-md);
}

.step-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 60px;
height: 60px;
background-color: var(--color-primary);
color: var(--color-white);
border-radius: 50%;
margin-bottom: var(--space-md);
}

.flow-step h3 {
font-size: 1rem;
color: var(--color-dark);
margin-bottom: var(--space-sm);
}

.flow-step p {
font-size: 0.85rem;
color: var(--color-grey-700);
margin-bottom: 0;
}

.payment-terms {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-grey-100);
}

.terms-content {
max-width: 800px;
margin: 0 auto;
}

.terms-content h2 {
font-size: 1.6rem;
color: var(--color-dark);
margin-bottom: var(--space-md);
}

.terms-content p {
font-size: 0.9rem;
color: var(--color-grey-700);
}

.terms-list {
list-style: none;
margin-bottom: var(--space-lg);
}

.terms-list li {
font-size: 0.9rem;
color: var(--color-grey-700);
margin-bottom: var(--space-sm);
padding-left: var(--space-lg);
position: relative;
}

.terms-list li::before {
content: '→';
position: absolute;
left: 0;
color: var(--color-primary);
font-weight: 700;
}

.contact-hero {
padding: var(--space-3xl) var(--space-md) var(--space-2xl);
background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
text-align: center;
}

.hero-content {
max-width: 800px;
margin: 0 auto;
}

.hero-content h1 {
font-size: 2.2rem;
color: var(--color-white);
margin-bottom: var(--space-md);
}

.hero-content p {
font-size: 1rem;
color: rgba(255,255,255,0.9);
}

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

.contact-form-area h2 {
font-size: 1.5rem;
color: var(--color-dark);
margin-bottom: var(--space-lg);
}

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

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

.form-field label {
font-size: 0.85rem;
font-weight: 600;
color: var(--color-grey-700);
}

.form-field input,
.form-field textarea {
padding: var(--space-sm);
border: 1px solid var(--color-grey-300);
border-radius: var(--radius-sm);
font-family: inherit;
font-size: 0.9rem;
transition: border-color var(--transition-fast);
}

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

.form-consent {
display: flex;
align-items: flex-start;
gap: var(--space-sm);
}

.form-consent input[type="checkbox"] {
margin-top: 0.2rem;
}

.form-consent label {
font-size: 0.8rem;
color: var(--color-grey-700);
}

.form-submit {
padding: var(--space-sm) var(--space-xl);
background-color: var(--color-primary);
color: var(--color-white);
font-weight: 700;
font-size: 0.9rem;
border-radius: var(--radius-md);
transition: all var(--transition-base);
align-self: flex-start;
}

.form-submit:hover {
background-color: var(--color-secondary);
transform: translateY(-2px);
box-shadow: var(--shadow-md);
}

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

.info-block h2 {
font-size: 1.2rem;
color: var(--color-dark);
margin-bottom: var(--space-md);
}

.info-item {
display: flex;
align-items: flex-start;
gap: var(--space-md);
margin-bottom: var(--space-md);
}

.info-item i {
color: var(--color-primary);
margin-top: 0.2rem;
}

.info-details h3 {
font-size: 0.85rem;
color: var(--color-grey-700);
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: var(--space-xs);
}

.info-details p,
.info-details a {
font-size: 0.9rem;
color: var(--color-grey-900);
margin-bottom: 0;
}

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

.hours-item {
display: flex;
justify-content: space-between;
font-size: 0.85rem;
color: var(--color-grey-700);
padding: var(--space-xs) 0;
border-bottom: 1px solid var(--color-grey-200);
}

.preparation-list {
list-style: none;
}

.preparation-list li {
font-size: 0.85rem;
color: var(--color-grey-700);
padding-left: var(--space-lg);
position: relative;
margin-bottom: var(--space-xs);
}

.preparation-list li::before {
content: '✓';
position: absolute;
left: 0;
color: var(--color-primary);
font-weight: 700;
}

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

.location-map h2 {
text-align: center;
font-size: 1.8rem;
color: var(--color-dark);
margin-bottom: var(--space-xl);
}

.map-container {
max-width: 1000px;
margin: 0 auto;
}

.map-container iframe {
width: 100%;
height: 450px;
border-radius: var(--radius-md);
box-shadow: var(--shadow-md);
}

.contact-expectations {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-white);
}

.expectations-content h2 {
text-align: center;
font-size: 1.8rem;
color: var(--color-dark);
margin-bottom: var(--space-2xl);
}

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

.expectation-item {
text-align: center;
padding: var(--space-lg);
background-color: var(--color-light);
border-radius: var(--radius-md);
}

.expectation-number {
display: inline-flex;
align-items: center;
justify-content: center;
width: 50px;
height: 50px;
background-color: var(--color-primary);
color: var(--color-white);
font-size: 1.5rem;
font-weight: 700;
border-radius: 50%;
margin-bottom: var(--space-md);
font-family: var(--font-secondary);
}

.expectation-item h3 {
font-size: 1rem;
color: var(--color-dark);
margin-bottom: var(--space-sm);
}

.expectation-item p {
font-size: 0.85rem;
color: var(--color-grey-700);
margin-bottom: 0;
}

.service-area {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-grey-100);
}

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

.area-content h2 {
font-size: 1.6rem;
color: var(--color-dark);
margin-bottom: var(--space-md);
}

.area-content p {
font-size: 0.9rem;
color: var(--color-grey-700);
}

.thankyou-message {
padding: var(--space-3xl) var(--space-md);
min-height: 90vh;
display: flex;
align-items: center;
justify-content: center;
background-color: var(--color-light);
}

.message-container {
max-width: 700px;
text-align: center;
}

.message-icon {
margin-bottom: var(--space-lg);
}

.message-icon i {
color: var(--color-primary);
}

.message-container h1 {
font-size: 2rem;
color: var(--color-dark);
margin-bottom: var(--space-md);
}

.message-primary {
font-size: 1rem;
color: var(--color-grey-700);
margin-bottom: var(--space-md);
}

.message-secondary {
font-size: 0.9rem;
color: var(--color-grey-700);
margin-bottom: var(--space-xl);
}

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

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

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

.explore-content h2 {
font-size: 1.6rem;
color: var(--color-dark);
margin-bottom: var(--space-md);
}

.explore-content > p {
font-size: 0.9rem;
color: var(--color-grey-700);
margin-bottom: var(--space-xl);
}

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

.explore-card {
padding: var(--space-xl);
background-color: var(--color-light);
border-radius: var(--radius-md);
transition: all var(--transition-base);
text-align: center;
}

.explore-card:hover {
background-color: var(--color-accent);
transform: translateY(-5px);
box-shadow: var(--shadow-md);
}

.explore-card i {
color: var(--color-primary);
margin-bottom: var(--space-md);
}

.explore-card h3 {
font-size: 1.1rem;
color: var(--color-dark);
margin-bottom: var(--space-sm);
}

.explore-card p {
font-size: 0.85rem;
color: var(--color-grey-700);
margin-bottom: 0;
}

.error-message {
padding: var(--space-3xl) var(--space-md);
min-height: 90vh;
display: flex;
align-items: center;
justify-content: center;
background-color: var(--color-light);
}

.error-container {
max-width: 600px;
text-align: center;
}

.error-code {
font-size: 6rem;
font-weight: 800;
color: var(--color-primary);
font-family: var(--font-secondary);
line-height: 1;
margin-bottom: var(--space-md);
}

.error-container h1 {
font-size: 1.8rem;
color: var(--color-dark);
margin-bottom: var(--space-md);
}

.error-description {
font-size: 0.9rem;
color: var(--color-grey-700);
margin-bottom: var(--space-xl);
}

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

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

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

.links-content h2 {
text-align: center;
font-size: 1.6rem;
color: var(--color-dark);
margin-bottom: var(--space-xl);
}

.links-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
gap: var(--space-lg);
}

.link-card {
padding: var(--space-xl);
background-color: var(--color-light);
border-radius: var(--radius-md);
text-align: center;
transition: all var(--transition-base);
}

.link-card:hover {
background-color: var(--color-accent);
transform: translateY(-5px);
}

.link-card i {
color: var(--color-primary);
margin-bottom: var(--space-md);
}

.link-card h3 {
font-size: 1rem;
color: var(--color-dark);
margin-bottom: 0;
}

.policy-header {
padding: var(--space-3xl) var(--space-md) var(--space-xl);
background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
text-align: center;
}

.policy-header h1 {
font-size: 2rem;
color: var(--color-white);
margin-bottom: var(--space-sm);
}

.policy-date {
font-size: 0.85rem;
color: rgba(255,255,255,0.8);
}

.policy-content {
padding: var(--space-3xl) var(--space-md);
background-color: var(--color-white);
}

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

.policy-section {
margin-bottom: var(--space-2xl);
}

.policy-section h2 {
font-size: 1.4rem;
color: var(--color-dark);
margin-bottom: var(--space-md);
}

.policy-section h3 {
font-size: 1.1rem;
color: var(--color-primary);
margin-top: var(--space-lg);
margin-bottom: var(--space-sm);
}

.policy-section p {
font-size: 0.9rem;
color: var(--color-grey-700);
line-height: 1.7;
}

.policy-section ul {
list-style: disc;
padding-left: var(--space-xl);
margin-bottom: var(--space-md);
}

.policy-section ul li {
font-size: 0.9rem;
color: var(--color-grey-700);
margin-bottom: var(--space-xs);
}

.policy-section ol {
list-style: decimal;
padding-left: var(--space-xl);
margin-bottom: var(--space-md);
}

.policy-section ol li {
font-size: 0.9rem;
color: var(--color-grey-700);
margin-bottom: var(--space-sm);
}

@media (max-width: 1024px) {
.entry-space {
grid-template-columns: 1fr;
padding: var(--space-2xl) var(--space-md);
min-height: auto;
}

.menu-trigger {
  display: flex;
  }

  body.nav-open {
    overflow: hidden;
    }
    
  
  .nav-panel {
  position: fixed;
  top: 0;
  right: -100%;
  width: 70%;
  max-width: 300px;
  height: 100vh;
  background-color: var(--color-dark);
  flex-direction: column;
  padding: var(--space-3xl) var(--space-lg);
  gap: var(--space-md);
  transition: right var(--transition-base);
  z-index: 999;
  display: none;
  }
  
  .nav-panel.active {
  right: 0;
  display: flex;
  }

.entry-title {
font-size: 2rem;
}

.material-insight {
grid-template-columns: 1fr;
}

.location-context {
grid-template-columns: 1fr;
}

.contact-layout {
grid-template-columns: 1fr;
gap: var(--space-2xl);
}

.palette-combo {
grid-template-columns: 1fr;
}
}

@media (max-width: 768px) {
  .policy-header {
    margin-top: 2rem;
  }
.page-intro {
  margin-top: 2rem;
}

.entry-content {
margin-top: 2rem;
}

.nav-panel a {
color: var(--color-white);
font-size: 1rem;
padding: var(--space-sm) 0;
border-bottom: 1px solid rgba(255,255,255,0.1);
}

.primary-nav {
background-color: var(--color-dark);
}

.brand-mark {
color: var(--color-white);
}

.entry-title {
font-size: 1.8rem;
}

.entry-statement {
font-size: 0.9rem;
}

h1 {
font-size: 1.8rem;
}

h2 {
font-size: 1.3rem;
}

.principle-grid {
grid-template-columns: 1fr;
}

.application-list {
grid-template-columns: 1fr;
}

.value-grid {
grid-template-columns: 1fr;
}

.timeline-step {
grid-template-columns: 1fr;
text-align: center;
}

.step-number {
margin: 0 auto var(--space-md);
}

.product-grid {
grid-template-columns: 1fr;
}

.factors-list {
grid-template-columns: 1fr;
}

.process-flow {
grid-template-columns: 1fr;
}

.expectations-grid {
grid-template-columns: 1fr;
}

.explore-links {
grid-template-columns: 1fr;
}

.links-grid {
grid-template-columns: repeat(2, 1fr);
}

.error-code {
font-size: 4rem;
}

.contact-hero {
  margin-top: 2rem;
}


.thankyou-message  {
  margin-top: 2rem;
}
}

@media (max-width: 576px) { 
  .brand-mark {
    font-size: 1rem;
  }
}

@media (max-width: 480px) {
:root {
--space-xl: 1.5rem;
--space-2xl: 2rem;
--space-3xl: 2.5rem;
}

body {
font-size: 0.85rem;
}

.entry-title {
font-size: 1.5rem;
}

.palette-examples h2 {
  font-size: 1.3rem;
}

.context-wrapper h2 {
  font-size: 1.3rem;
}

.hero-content h1 {
  font-size: 1.8rem;
}

.entry-actions {
flex-direction: column;
}

.action-primary, .action-secondary {
width: 100%;
text-align: center;
}

.footer-content {
flex-direction: column;
text-align: center;
}

.footer-links {
flex-wrap: wrap;
justify-content: center;
}

.notice-content {
flex-direction: column;
text-align: center;
}

.comparison-row {
grid-template-columns: 1fr;
gap: var(--space-xs);
}

.comparison-value {
text-align: left;
}

.links-grid {
grid-template-columns: 1fr;
}

.map-container iframe {
height: 300px;
}

.brand-mark {
font-size: 0.8rem;
}
}
