2026-04-23 13:19:03 +05:30

5532 lines
93 KiB
CSS

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700;800&family=Barlow:wght@300;400;500;600&display=swap');
:root {
--navy: #0F2444;
--navy-mid: #1B3A6B;
--navy-light: #2A5298;
--orange: #E8572A;
--orange-dark: #C0421B;
--orange-light: #F07A50;
--cream: #F5F2ED;
--white: #fff;
--gray-100: #F7F6F3;
--gray-200: #ECEAE5;
--gray-400: #B0ADA6;
--gray-600: #6B6860;
--gray-800: #2E2C29;
--fd: 'Barlow Condensed', sans-serif;
--fb: 'Barlow', sans-serif;
}
/* ── UTILITIES ── */
.text-white-50 {
color: rgba(255, 255, 255, .5) !important;
}
.text-orange {
color: var(--orange) !important;
}
.mt-24 {
margin-top: 24px;
}
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
scroll-behavior: smooth;
}
body {
font-family: var(--fb);
background: var(--white);
color: var(--gray-800);
overflow-x: hidden;
}
a {
text-decoration: none;
}
/* ── NAV ── */
nav {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 100;
background: var(--navy);
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 48px;
height: 64px;
border-bottom: 2px solid var(--orange);
transition: box-shadow .3s;
}
.nav-logo {
display: flex;
align-items: center;
gap: 10px;
text-decoration: none;
flex-shrink: 0;
}
.nav-logo img {
height: 36px;
width: auto;
/* filter: brightness(0) invert(1); */
}
.nav-logo .lm {
width: 36px;
height: 36px;
border-radius: 50%;
border: 2.5px solid var(--orange);
display: flex;
align-items: center;
justify-content: center;
font-size: 13px;
font-weight: 800;
color: var(--white);
font-family: var(--fd);
}
.nav-links {
display: flex;
align-items: center;
gap: 24px;
list-style: none;
}
.nav-links a {
font-family: var(--fd);
font-size: 13px;
font-weight: 600;
color: rgba(255, 255, 255, .72);
text-decoration: none;
letter-spacing: .06em;
text-transform: uppercase;
transition: color .2s;
padding: 4px 0;
border-bottom: 2px solid transparent;
}
.nav-links a:hover,
.nav-links a.active {
color: var(--orange);
border-bottom-color: var(--orange);
}
/* Dropdown */
.nav-dropdown-wrap {
position: relative;
}
.nav-dropdown {
position: absolute;
top: 100%;
left: 0;
background: var(--navy);
min-width: 200px;
list-style: none;
padding: 10px 0;
border-bottom: 3px solid var(--orange);
opacity: 0;
visibility: hidden;
transform: translateY(10px);
transition: all .3s;
box-shadow: 0 10px 30px rgba(0, 0, 0, .3);
}
.nav-dropdown-wrap:hover .nav-dropdown {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.nav-dropdown li a {
display: block;
padding: 10px 24px;
border-bottom: none !important;
color: rgba(255, 255, 255, .7) !important;
font-size: 12px !important;
}
.nav-dropdown li a:hover {
color: var(--orange) !important;
background: rgba(255, 255, 255, .05);
}
.chevron-down {
font-size: 10px;
margin-left: 4px;
opacity: .7;
}
.mobile-dropdown-section {
display: flex;
flex-direction: column;
padding: 10px 0;
border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.mobile-section-title {
font-family: var(--fd);
font-size: 12px;
font-weight: 700;
color: var(--orange);
text-transform: uppercase;
margin-bottom: 10px;
letter-spacing: .1em;
}
.mobile-dropdown-section a {
font-size: 14px !important;
padding: 8px 0 8px 12px !important;
border-bottom: none !important;
}
.nav-right {
display: flex;
align-items: center;
gap: 10px;
}
.nav-login {
font-family: var(--fd);
font-size: 12px;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
color: rgba(255, 255, 255, .65);
text-decoration: none;
padding: 7px 14px;
border: 1px solid rgba(255, 255, 255, .2);
border-radius: 4px;
transition: all .2s;
white-space: nowrap;
}
.nav-login:hover {
border-color: var(--orange);
color: var(--orange);
}
.nav-cta {
background: var(--orange);
color: var(--white);
font-family: var(--fd);
font-size: 13px;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
padding: 9px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
transition: background .2s;
white-space: nowrap;
text-decoration: none;
display: inline-block;
}
.nav-cta:hover {
background: var(--orange-dark);
}
.nav-hamburger {
display: none;
background: none;
border: none;
cursor: pointer;
flex-direction: column;
gap: 5px;
padding: 4px;
}
.nav-hamburger span {
display: block;
width: 22px;
height: 2px;
background: rgba(255, 255, 255, .8);
border-radius: 2px;
transition: all .3s;
}
.mobile-menu {
display: none;
position: fixed;
top: 64px;
left: 0;
right: 0;
background: var(--navy);
border-bottom: 2px solid var(--orange);
padding: 16px 24px;
z-index: 99;
flex-direction: column;
gap: 0;
}
.mobile-menu.open {
display: flex;
}
.mobile-menu a,
.mobile-dropdown-btn {
font-family: var(--fd);
font-size: 16px;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
color: rgba(255, 255, 255, .75);
text-decoration: none;
padding: 13px 0;
border-bottom: 1px solid rgba(255, 255, 255, .07);
transition: color .2s;
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
background: none;
border-top: none;
border-left: none;
border-right: none;
cursor: pointer;
text-align: left;
}
.mobile-menu a:hover,
.mobile-dropdown-btn:hover {
color: var(--orange);
}
.mobile-menu a:last-child {
border-bottom: none;
}
.mobile-dropdown-content {
display: none;
flex-direction: column;
padding-left: 16px;
background: rgba(0, 0, 0, 0.15);
border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.mobile-dropdown-content.show {
display: flex;
}
.mobile-dropdown-content a {
border-bottom: none;
font-size: 14px;
padding: 10px 0;
}
.mobile-menu-actions {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 16px;
}
.mobile-login-btn {
background: transparent;
color: var(--white);
font-family: var(--fd);
font-size: 14px;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
padding: 12px;
border: 1px solid rgba(255, 255, 255, .3);
border-radius: 6px;
text-align: center;
text-decoration: none;
transition: border-color .2s;
}
.mobile-cta {
background: var(--orange) !important;
color: var(--white) !important;
text-align: center;
padding: 12px !important;
border-radius: 6px;
border-bottom: none !important;
font-family: var(--fd);
font-size: 14px;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
text-decoration: none;
}
.chevron-down {
font-size: 12px;
transition: transform 0.3s ease;
}
.chevron-down.rotated {
transform: rotate(180deg);
}
/* ── HERO ── */
.hero {
background: var(--navy);
min-height: 100vh;
display: grid;
grid-template-columns: 1fr 1fr;
padding-top: 64px;
position: relative;
overflow: hidden;
}
.hero-grid-bg {
position: absolute;
inset: 0;
opacity: .035;
background-image: repeating-linear-gradient(0deg, transparent, transparent 39px, rgba(255, 255, 255, .6) 39px, rgba(255, 255, 255, .6) 40px), repeating-linear-gradient(90deg, transparent, transparent 39px, rgba(255, 255, 255, .6) 39px, rgba(255, 255, 255, .6) 40px);
}
.hero-fence-deco {
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 50%;
overflow: hidden;
}
.hfd-rail {
position: absolute;
left: 0;
right: 0;
height: 3px;
background: rgba(255, 255, 255, .055);
}
.hfd-post {
position: absolute;
top: 0;
bottom: 0;
width: 6px;
background: rgba(255, 255, 255, .04);
border-radius: 1px;
}
.hero-accent {
position: absolute;
right: -60px;
top: 80px;
width: 400px;
height: 400px;
border-radius: 50%;
border: 56px solid var(--orange);
opacity: .1;
}
.hero-accent2 {
position: absolute;
right: 90px;
bottom: -80px;
width: 250px;
height: 250px;
border-radius: 50%;
border: 36px solid var(--orange);
opacity: .07;
}
.hero-left {
display: flex;
flex-direction: column;
justify-content: center;
padding: 80px 48px 80px 80px;
position: relative;
z-index: 2;
}
.hero-eyebrow {
display: inline-flex;
align-items: center;
gap: 10px;
font-family: var(--fd);
font-size: 12px;
font-weight: 700;
letter-spacing: .14em;
text-transform: uppercase;
color: var(--orange);
margin-bottom: 22px;
}
.hero-eyebrow::before {
content: '';
display: block;
width: 28px;
height: 2px;
background: var(--orange);
}
h1.hero-h1 {
font-family: var(--fd);
font-size: clamp(50px, 5.5vw, 82px);
font-weight: 800;
line-height: .9;
color: var(--white);
letter-spacing: -.02em;
text-transform: uppercase;
margin-bottom: 26px;
}
h1.hero-h1 em {
color: var(--orange);
font-style: normal;
display: block;
}
.hero-sub {
font-size: 16px;
font-weight: 300;
line-height: 1.8;
color: rgba(255, 255, 255, .65);
max-width: 460px;
margin-bottom: 36px;
}
.hero-sub strong {
color: rgba(255, 255, 255, .9);
font-weight: 500;
}
.hero-btns {
display: flex;
gap: 12px;
flex-wrap: wrap;
margin-bottom: 52px;
}
.btn-primary {
background: var(--orange);
color: var(--white);
font-family: var(--fd);
font-size: 14px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
padding: 14px 28px;
border: none;
border-radius: 4px;
cursor: pointer;
transition: background .2s;
text-decoration: none;
display: inline-block;
}
.btn-primary:hover {
background: var(--orange-dark);
}
.btn-secondary {
background: transparent;
color: var(--white);
font-family: var(--fd);
font-size: 14px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
padding: 13px 28px;
border: 1.5px solid rgba(255, 255, 255, .3);
border-radius: 4px;
cursor: pointer;
transition: border-color .2s;
text-decoration: none;
display: inline-block;
}
.btn-secondary:hover {
border-color: rgba(255, 255, 255, .7);
}
.hero-stats {
display: flex;
gap: 36px;
padding-top: 28px;
border-top: 1px solid rgba(255, 255, 255, .1);
flex-wrap: wrap;
}
.stat-val {
font-family: var(--fd);
font-size: 36px;
font-weight: 800;
color: var(--orange);
line-height: 1;
}
.stat-label {
font-size: 12px;
color: rgba(255, 255, 255, .45);
margin-top: 4px;
}
.hero-right {
display: flex;
flex-direction: column;
justify-content: center;
padding: 80px 80px 80px 40px;
position: relative;
z-index: 2;
}
.quote-card {
background: rgba(255, 255, 255, .06);
border: 1px solid rgba(255, 255, 255, .12);
border-radius: 14px;
padding: 36px;
backdrop-filter: blur(12px);
}
.qc-title {
font-family: var(--fd);
font-size: 22px;
font-weight: 700;
color: var(--white);
text-transform: uppercase;
letter-spacing: .05em;
margin-bottom: 4px;
}
.qc-sub {
font-size: 13px;
color: rgba(255, 255, 255, .45);
margin-bottom: 24px;
}
.fl {
display: block;
font-size: 10px;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
color: rgba(255, 255, 255, .5);
margin-bottom: 6px;
margin-top: 14px;
}
/* .fl:first-of-type {
margin-top: 0;
} */
.fi {
width: 100%;
background: rgba(255, 255, 255, .08);
border: 1px solid rgba(255, 255, 255, .14);
border-radius: 6px;
padding: 11px 14px;
font-family: var(--fb);
font-size: 14px;
color: var(--white);
outline: none;
transition: border-color .2s;
appearance: none;
}
.fi::placeholder {
color: rgba(255, 255, 255, .3);
}
.fi:focus {
border-color: var(--orange);
}
.fi option {
background: var(--navy);
}
.frow {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}
.form-submit {
width: 100%;
background: var(--orange);
color: var(--white);
font-family: var(--fd);
font-size: 16px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
padding: 14px;
border: none;
border-radius: 6px;
cursor: pointer;
margin-top: 16px;
transition: background .2s;
}
.form-submit:hover {
background: var(--orange-dark);
}
.form-note {
text-align: center;
font-size: 11px;
color: rgba(255, 255, 255, .3);
margin-top: 10px;
}
/* ── TRUST BAR ── */
.trust-bar {
background: var(--orange);
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.trust-item {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
gap: 9px;
padding: 13px 16px;
border-right: 1px solid rgba(255, 255, 255, .2);
font-family: var(--fd);
font-size: 12px;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
color: rgba(255, 255, 255, .92);
}
.trust-item:last-child {
border-right: none;
}
.trust-icon {
font-size: 15px;
}
/* ── SECTION COMMON ── */
.section-eyebrow {
font-family: var(--fd);
font-size: 12px;
font-weight: 700;
letter-spacing: .14em;
text-transform: uppercase;
color: var(--orange);
margin-bottom: 12px;
display: flex;
align-items: center;
gap: 10px;
}
.section-eyebrow::before {
content: '';
display: block;
width: 24px;
height: 2px;
background: var(--orange);
}
.section-eyebrow::before {
content: '';
display: block;
width: 22px;
height: 2px;
background: var(--orange);
}
.section-eyebrow.white-eye {
color: rgba(255, 255, 255, .55);
}
.section-eyebrow.white-eye::before {
background: rgba(255, 255, 255, .3);
}
.section-eyebrow.center {
justify-content: center;
}
.section-eyebrow.center::before,
.section-eyebrow.center::after {
content: '';
display: block;
width: 22px;
height: 2px;
background: var(--orange);
}
h2.sh {
font-family: var(--fd);
font-size: clamp(36px, 4vw, 56px);
font-weight: 800;
text-transform: uppercase;
line-height: .95;
color: var(--navy);
letter-spacing: -.01em;
}
h2.sh span {
color: var(--orange);
}
h2.sh.white,
h2.sh-white {
color: var(--white) !important;
}
/* ── PRODUCTS SECTION — background: white ── */
.products-section {
padding: 88px 80px;
background: var(--white);
}
.products-header {
display: flex;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 48px;
flex-wrap: wrap;
gap: 20px;
}
.products-header-right {
font-size: 14px;
color: var(--gray-600);
max-width: 320px;
line-height: 1.7;
}
.products-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2px;
background: var(--gray-200);
border: 2px solid var(--gray-200);
border-radius: 12px;
overflow: hidden;
}
/* product image card */
.product-card {
background: var(--white);
position: relative;
cursor: pointer;
transition: background .2s;
display: flex;
flex-direction: column;
overflow: hidden;
text-decoration: none;
}
.product-card:hover {
background: var(--navy);
}
.product-card:hover .product-name {
color: var(--white);
}
.product-card:hover .product-desc {
color: rgba(255, 255, 255, .55);
}
.product-card:hover .product-tag {
background: rgba(232, 87, 42, .2);
color: var(--orange-light);
}
.product-card:hover .product-arrow {
color: var(--orange);
}
.product-card::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 3px;
background: var(--orange);
transform: scaleX(0);
transform-origin: left;
transition: transform .3s;
}
.product-card:hover::after {
transform: scaleX(1);
}
/* IMAGE SPACE */
.product-img-area {
width: 100%;
aspect-ratio: 12/9;
background: var(--gray-100);
border-bottom: 1px solid var(--gray-200);
position: relative;
overflow: hidden;
flex-shrink: 0;
}
.product-img-area img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform .4s ease;
display: block;
}
.product-card:hover .product-img-area img {
transform: scale(1.05);
}
.product-img-area.has-img {
background: var(--gray-200);
}
.img-ph {
position: absolute;
inset: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 8px;
background: var(--gray-100);
}
.img-ph svg {
opacity: .25;
}
.img-ph-label {
font-family: var(--fd);
font-size: 10px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
color: var(--gray-400);
}
.img-ph-hint {
font-size: 10px;
color: var(--gray-400);
text-align: center;
padding: 0 16px;
line-height: 1.4;
}
.product-card:hover .img-ph {
background: rgba(15, 36, 68, .9);
}
.product-card:hover .img-ph-label,
.product-card:hover .img-ph-hint {
color: rgba(255, 255, 255, .4);
}
.img-badge {
position: absolute;
top: 8px;
left: 8px;
background: var(--orange);
color: var(--white);
font-family: var(--fd);
font-size: 9px;
font-weight: 700;
letter-spacing: .07em;
text-transform: uppercase;
padding: 2px 8px;
border-radius: 3px;
z-index: 2;
}
.product-card-body {
padding: 24px 22px 20px;
flex: 1;
display: flex;
flex-direction: column;
}
.product-icon {
width: 38px;
height: 38px;
background: var(--orange);
border-radius: 7px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 14px;
}
.product-icon svg {
width: 19px;
height: 19px;
}
.product-name {
font-family: var(--fd);
font-size: 18px;
font-weight: 700;
text-transform: uppercase;
color: var(--navy);
letter-spacing: .02em;
margin-bottom: 7px;
transition: color .2s;
}
.product-desc {
font-size: 12px;
color: var(--gray-600);
line-height: 1.65;
margin-bottom: 12px;
flex: 1;
transition: color .2s;
}
.product-tags {
display: flex;
gap: 5px;
flex-wrap: wrap;
margin-bottom: 12px;
}
.product-tag {
font-size: 9px;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
padding: 2px 7px;
border-radius: 3px;
background: rgba(15, 36, 68, .07);
color: var(--navy-light);
transition: all .2s;
}
.product-arrow {
font-size: 17px;
color: var(--gray-400);
transition: color .2s;
margin-top: auto;
}
.product-cta-card {
background: var(--navy) !important;
}
.product-cta-card:hover {
background: var(--navy-mid) !important;
}
/* ── SERVICES SECTION — background: navy ── */
.services-section {
padding: 88px 80px;
background: var(--navy);
}
.services-section .section-eyebrow {
color: rgba(255, 255, 255, .5);
}
.services-section .section-eyebrow::before {
background: rgba(255, 255, 255, .2);
}
.services-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
margin-top: 44px;
}
.service-card {
background: rgba(255, 255, 255, .05);
border: 1px solid rgba(255, 255, 255, .1);
border-radius: 10px;
padding: 32px 28px;
transition: background .2s, border-color .2s;
}
.service-card:hover {
background: rgba(232, 87, 42, .1);
border-color: rgba(232, 87, 42, .3);
}
.service-num {
font-family: var(--fd);
font-size: 52px;
font-weight: 800;
color: rgba(255, 255, 255, .06);
line-height: 1;
margin-bottom: -8px;
letter-spacing: -.02em;
}
.service-name {
font-family: var(--fd);
font-size: 22px;
font-weight: 700;
text-transform: uppercase;
color: var(--white);
margin-bottom: 10px;
letter-spacing: .03em;
}
.service-name span {
color: var(--orange);
}
.service-desc {
font-size: 13px;
color: rgba(255, 255, 255, .55);
line-height: 1.75;
margin-bottom: 18px;
}
.service-list {
list-style: none;
display: flex;
flex-direction: column;
gap: 6px;
}
.services-section .service-list li {
font-size: 13px;
color: rgba(255, 255, 255, .7);
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 8px;
}
.services-section .service-list li::before {
content: '';
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--orange);
flex-shrink: 0;
}
/* ── TERRITORY — background: cream ── */
.territory-section {
padding: 88px 80px;
background: var(--cream);
}
.territory-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
margin-top: 48px;
align-items: center;
}
.map-card {
background: var(--white);
border-radius: 12px;
border: 1px solid var(--gray-200);
overflow: hidden;
padding: 32px;
position: relative;
}
.radius-label {
position: absolute;
top: 14px;
right: 14px;
background: var(--navy);
color: var(--white);
font-family: var(--fd);
font-size: 11px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
padding: 4px 12px;
border-radius: 20px;
}
.city-list {
display: flex;
flex-direction: column;
gap: 9px;
margin-bottom: 24px;
}
.city-list-header {
background: rgba(232, 87, 42, .1);
border: 1px solid rgba(232, 87, 42, .2);
border-radius: 6px;
padding: 12px 18px;
font-family: var(--fd);
font-size: 13px;
font-weight: 700;
color: var(--orange);
letter-spacing: .06em;
margin-bottom: 16px;
display: flex;
align-items: center;
gap: 8px;
}
.city-item {
display: flex;
align-items: center;
gap: 14px;
padding: 13px 15px;
background: var(--white);
border-radius: 8px;
border: 1px solid var(--gray-200);
transition: border-color .2s, box-shadow .2s;
cursor: default;
}
.city-item.selected {
border-color: var(--orange);
box-shadow: 0 4px 12px rgba(232, 87, 42, .1);
}
.city-item:hover {
border-color: var(--orange);
}
.city-dot {
width: 9px;
height: 9px;
border-radius: 50%;
flex-shrink: 0;
}
.city-dot.home {
background: var(--orange);
}
.city-dot.near {
background: var(--navy-mid);
}
.city-dot.far {
background: var(--gray-400);
}
.city-info {
flex: 1;
}
.city-name-txt {
font-family: var(--fd);
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
color: var(--navy);
letter-spacing: .02em;
}
.city-sub-txt {
font-size: 11px;
color: var(--gray-600);
margin-top: 1px;
}
.city-dist-badge {
font-size: 11px;
font-weight: 700;
color: var(--orange);
font-family: var(--fd);
letter-spacing: .04em;
}
/* ── WHO WE SERVE — background: white ── */
.targets-section {
padding: 88px 80px;
background: var(--white);
}
.targets-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
margin-top: 44px;
}
.target-card {
border: 1px solid var(--gray-200);
border-radius: 10px;
padding: 22px 18px;
transition: border-color .2s, transform .2s;
}
.target-card:hover {
border-color: var(--orange);
transform: translateY(-3px);
}
.target-priority {
font-size: 10px;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
margin-bottom: 10px;
}
.p2 {
color: var(--navy-mid);
}
.p3 {
color: var(--gray-600);
}
.target-name {
font-family: var(--fd);
font-size: 16px;
font-weight: 700;
text-transform: uppercase;
color: var(--navy);
letter-spacing: .02em;
margin-bottom: 7px;
line-height: 1.1;
}
.target-examples {
font-size: 11px;
color: var(--gray-600);
line-height: 1.6;
}
/* ── EXPERT STAIN PROMO — background: navy ── */
.stain-section {
padding: 88px 80px;
background: var(--navy);
position: relative;
overflow: hidden;
}
.stain-bg {
position: absolute;
right: -100px;
top: -100px;
width: 500px;
height: 500px;
border-radius: 50%;
background: var(--orange);
opacity: .06;
}
.stain-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: stretch;
/* P2 FIX: Stretch to ensure image matches content height */
position: relative;
z-index: 1;
}
.stain-badge {
display: inline-block;
background: var(--orange);
font-family: var(--fd);
font-size: 11px;
font-weight: 700;
letter-spacing: .12em;
text-transform: uppercase;
color: var(--white);
padding: 5px 12px;
border-radius: 3px;
margin-bottom: 14px;
}
.stain-h2 {
font-family: var(--fd);
font-size: clamp(36px, 4vw, 56px);
font-weight: 800;
text-transform: uppercase;
color: var(--white);
line-height: .95;
letter-spacing: -.01em;
margin-bottom: 18px;
}
.stain-h2 span {
color: var(--orange);
}
.stain-desc {
font-size: 15px;
color: rgba(255, 255, 255, .6);
line-height: 1.75;
margin-bottom: 28px;
}
.stain-pills {
display: flex;
gap: 10px;
flex-wrap: wrap;
margin-bottom: 28px;
}
.stain-pill {
background: rgba(255, 255, 255, .08);
border: 1px solid rgba(255, 255, 255, .15);
border-radius: 6px;
padding: 12px 18px;
font-family: var(--fd);
font-size: 14px;
font-weight: 600;
text-transform: uppercase;
color: var(--white);
letter-spacing: .04em;
}
.stain-pill strong {
display: block;
color: var(--orange);
font-size: 10px;
margin-bottom: 2px;
}
/* stain image area */
.stain-img-wrap {
border-radius: 12px;
overflow: hidden;
height: 100%;
/* Ensure it fills the grid cell */
position: relative;
background: rgba(255, 255, 255, .05);
border: 1px solid rgba(255, 255, 255, .1);
}
.stain-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.stain-img-ph {
position: absolute;
inset: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 12px;
}
.stain-img-ph .ph-label {
font-family: var(--fd);
font-size: 12px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
color: rgba(255, 255, 255, .25);
}
.stain-img-ph .ph-sub {
font-size: 11px;
color: rgba(255, 255, 255, .18);
text-align: center;
padding: 0 24px;
line-height: 1.5;
}
.stain-target-list {
display: flex;
flex-direction: column;
gap: 10px;
}
.stain-target {
display: flex;
align-items: center;
gap: 12px;
background: rgba(255, 255, 255, .05);
border: 1px solid rgba(255, 255, 255, .08);
border-radius: 8px;
padding: 13px 16px;
}
.stain-target-dot {
width: 7px;
height: 7px;
border-radius: 50%;
background: var(--orange);
flex-shrink: 0;
}
.stain-target-txt {
font-size: 13px;
color: rgba(255, 255, 255, .75);
}
/* ── CTA — orange ── */
.cta-section {
padding: 80px;
background: var(--orange);
text-align: center;
}
.cta-h2 {
font-family: var(--fd);
font-size: clamp(42px, 5vw, 70px);
font-weight: 800;
text-transform: uppercase;
color: var(--white);
line-height: .92;
letter-spacing: -.01em;
margin-bottom: 18px;
}
.cta-sub {
font-size: 17px;
color: rgba(255, 255, 255, .82);
margin-bottom: 36px;
}
.cta-btns {
display: flex;
gap: 14px;
justify-content: center;
flex-wrap: wrap;
}
.btn-white {
background: var(--white);
color: var(--orange);
font-family: var(--fd);
font-size: 15px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
padding: 14px 36px;
border: none;
border-radius: 4px;
cursor: pointer;
text-decoration: none;
display: inline-block;
transition: background .2s;
}
.btn-white:hover {
background: var(--cream);
}
.btn-white-outline {
background: transparent;
color: var(--white);
font-family: var(--fd);
font-size: 15px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
padding: 13px 36px;
border: 2px solid rgba(255, 255, 255, .5);
border-radius: 4px;
cursor: pointer;
transition: border-color .2s;
text-decoration: none;
display: inline-block;
}
.btn-white-outline:hover {
border-color: var(--white);
}
/* ── NEWSLETTER — background: cream ── */
.newsletter-section {
background: var(--cream);
padding: 80px;
text-align: center;
}
.newsletter-inner {
max-width: 560px;
margin: 0 auto;
}
.newsletter-h2 {
font-family: var(--fd);
font-size: clamp(32px, 3.5vw, 48px);
font-weight: 800;
text-transform: uppercase;
color: var(--navy);
line-height: .95;
letter-spacing: -.01em;
margin-bottom: 16px;
}
.newsletter-h2 span {
color: var(--orange);
}
.newsletter-sub {
font-size: 15px;
color: var(--gray-600);
line-height: 1.75;
margin-bottom: 32px;
}
.newsletter-form {
display: flex;
max-width: 480px;
margin: 0 auto;
border: 2px solid var(--gray-200);
border-radius: 8px;
overflow: hidden;
background: var(--white);
transition: border-color .2s;
}
.newsletter-form:focus-within {
border-color: var(--orange);
}
.newsletter-input {
flex: 1;
border: none;
padding: 14px 18px;
font-family: var(--fb);
font-size: 14px;
color: var(--gray-800);
background: transparent;
outline: none;
}
.newsletter-input::placeholder {
color: var(--gray-400);
}
.newsletter-btn {
background: var(--orange);
color: var(--white);
font-family: var(--fd);
font-size: 13px;
font-weight: 700;
letter-spacing: .07em;
text-transform: uppercase;
padding: 14px 22px;
border: none;
cursor: pointer;
transition: background .2s;
white-space: nowrap;
}
.newsletter-btn:hover {
background: var(--orange-dark);
}
.q-form-title {
font-family: var(--fd);
font-size: 17px;
font-weight: 700;
text-transform: uppercase;
color: var(--white);
letter-spacing: .04em;
margin-bottom: 4px;
}
.q-form-sub {
font-size: 12px;
color: rgba(255, 255, 255, .6);
margin-bottom: 20px;
}
.newsletter-note {
font-size: 12px;
color: var(--gray-400);
margin-top: 14px;
}
/* ── FOOTER ── */
footer {
background: var(--navy);
padding: 80px 80px 40px;
color: var(--white);
}
.footer-top {
display: grid;
grid-template-columns: 1.5fr 1fr 1fr 1fr;
gap: 60px;
border-bottom: 1px solid rgba(255, 255, 255, .08);
padding-bottom: 60px;
}
.footer-logo-wrap {
margin-bottom: 24px;
}
.footer-brand-name {
font-family: var(--fd);
font-size: 26px;
font-weight: 800;
text-transform: uppercase;
color: var(--white);
line-height: 1;
letter-spacing: -.02em;
}
.footer-brand-name span {
color: var(--orange);
}
.footer-tagline {
font-size: 14px;
color: rgba(255, 255, 255, .6);
line-height: 1.6;
margin-bottom: 12px;
max-width: 280px;
}
.footer-territory {
display: inline-flex;
align-items: center;
gap: 8px;
background: rgba(232, 87, 42, 0.12);
border: 1px solid rgba(232, 87, 42, 0.2);
padding: 6px 14px;
border-radius: 6px;
font-family: var(--fd);
font-size: 11px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--orange);
margin-bottom: 24px;
}
.footer-contact {
display: flex;
flex-direction: column;
gap: 8px;
}
.footer-contact a {
color: var(--white);
text-decoration: none;
font-size: 14px;
opacity: .8;
transition: opacity .2s, color .2s;
}
.footer-contact a:hover {
opacity: 1;
color: var(--orange);
}
.footer-col-title {
font-family: var(--fd);
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
color: var(--white);
letter-spacing: .08em;
margin-bottom: 24px;
}
.footer-links {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 12px;
}
.footer-links li a {
color: rgba(255, 255, 255, .5);
text-decoration: none;
font-size: 14px;
transition: color .2s;
}
.footer-links li a:hover {
color: var(--orange);
}
.footer-bottom {
padding-top: 40px;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 12px;
color: rgba(255, 255, 255, .4);
flex-wrap: wrap;
gap: 12px;
}
.footer-legal-links {
display: flex;
gap: 24px;
flex-wrap: wrap;
}
.footer-legal-links a {
color: inherit;
text-decoration: none;
transition: color .2s;
}
.footer-legal-links a:hover {
color: var(--white);
}
@media (max-width: 767px) {
.footer-bottom {
flex-direction: column;
/* align-items: flex-start; */
gap: 10px;
text-align: center;
}
.footer-legal-links {
flex-direction: column;
gap: 8px;
}
}
/* ── T&C CHECKBOX ── */
.tc-row {
display: flex;
align-items: flex-start;
gap: 12px;
margin-top: 14px;
padding: 12px 14px;
background: rgba(255, 255, 255, .05);
border: 1px solid rgba(255, 255, 255, .1);
border-radius: 8px;
transition: border-color .2s;
}
.tc-row:has(.tc-check:checked) {
border-color: rgba(22, 163, 74, .4);
background: rgba(22, 163, 74, .07);
}
.tc-check {
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 2px;
accent-color: #16A34A;
cursor: pointer;
}
.tc-label {
font-size: 12px;
color: rgba(255, 255, 255, .6);
line-height: 1.65;
cursor: pointer;
}
.tc-label a {
color: var(--orange);
text-decoration: none;
border-bottom: 1px solid rgba(232, 87, 42, .3);
transition: border-color .2s;
}
.tc-label a:hover {
border-bottom-color: var(--orange);
}
.tc-row.tc-error {
border-color: rgba(220, 38, 38, .5) !important;
background: rgba(220, 38, 38, .06) !important;
}
.tc-row.tc-error .tc-label {
color: rgba(255, 120, 100, .9);
}
/* ── ANIMATIONS ── */
@keyframes fadeUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.hero-eyebrow {
animation: fadeUp .5s ease both;
}
.hero-h1 {
animation: fadeUp .55s .08s ease both;
}
.hero-sub {
animation: fadeUp .55s .16s ease both;
}
.hero-btns {
animation: fadeUp .55s .24s ease both;
}
.hero-stats {
animation: fadeUp .55s .32s ease both;
}
.quote-card {
animation: fadeUp .65s .2s ease both;
}
.reveal {
opacity: 0;
transform: translateY(24px);
transition: opacity .6s ease, transform .6s ease;
}
.reveal.visible {
opacity: 1;
transform: translateY(0);
}
/* ── RESPONSIVE ── */
@media(max-width:1100px) {
.products-grid {
grid-template-columns: repeat(2, 1fr);
}
.targets-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media(max-width:900px) {
nav {
padding: 0 20px;
}
.nav-links,
.nav-login,
.nav-cta {
display: none;
}
.nav-hamburger {
display: flex;
}
.hero {
grid-template-columns: 1fr;
min-height: auto;
}
.hero-left {
padding: 60px 24px 36px;
}
.hero-right {
padding: 0 24px 60px;
}
.hero-fence-deco {
display: none;
}
.products-section,
.services-section,
.territory-section,
.targets-section,
.stain-section,
.cta-section,
.newsletter-section,
footer {
padding-left: 24px;
padding-right: 24px;
}
.products-grid {
grid-template-columns: 1fr 1fr;
gap: 2px;
}
.services-grid,
.territory-layout,
.stain-layout {
grid-template-columns: 1fr;
gap: 28px;
}
.targets-grid {
grid-template-columns: 1fr 1fr;
}
.footer-top {
grid-template-columns: 1fr 1fr;
gap: 28px;
}
.trust-bar {
flex-wrap: wrap;
}
.trust-item {
flex: none;
width: 50%;
border-right: none;
border-bottom: 1px solid rgba(255, 255, 255, .15);
}
.trust-item:nth-child(odd) {
border-right: 1px solid rgba(255, 255, 255, .15);
}
.frow {
grid-template-columns: 1fr;
}
}
@media(max-width:580px) {
.products-grid {
grid-template-columns: 1fr;
}
.targets-grid {
grid-template-columns: 1fr;
}
.footer-top {
grid-template-columns: 1fr;
}
.hero-stats {
gap: 16px;
}
}
@media(max-width:380px) {
.hero-left,
.hero-right {
padding-left: 15px;
padding-right: 15px;
}
h1.hero-h1 {
font-size: 34px !important;
}
.hero-sub {
font-size: 14px;
}
.quote-card {
padding: 24px 15px;
width: 290px;
}
.hero-btns {
flex-direction: column;
align-items: stretch;
gap: 10px;
}
.btn-primary,
.btn-secondary {
width: 100%;
text-align: center;
padding-left: 10px;
padding-right: 10px;
}
.stat-val {
font-size: 28px;
}
.hero-stats {
gap: 20px;
}
}
::-webkit-scrollbar {
width: 5px;
}
::-webkit-scrollbar-track {
background: var(--gray-100);
}
::-webkit-scrollbar-thumb {
background: var(--navy);
border-radius: 3px;
}
/* ─── CHAIN LINK FENCE SPECIFIC ─── */
.breadcrumb {
background: var(--gray-100);
padding: 12px 80px;
font-size: 12px;
color: var(--gray-600);
display: flex;
align-items: center;
gap: 8px;
margin-top: 64px;
border-bottom: 1px solid var(--gray-200);
}
.breadcrumb a {
color: var(--navy-mid);
text-decoration: none;
}
.breadcrumb a:hover {
color: var(--orange);
}
.breadcrumb span {
color: var(--gray-400);
}
.hero-mesh {
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 45%;
opacity: .07;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M0 20 L10 0 L30 0 L40 20 L30 40 L10 40 Z' fill='none' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E");
background-size: 40px 40px;
}
.hero-inner {
position: relative;
z-index: 2;
max-width: 760px;
}
.hero-badges {
display: flex;
gap: 10px;
flex-wrap: wrap;
margin-bottom: 40px;
}
.badge {
font-family: var(--fd);
font-size: 12px;
font-weight: 700;
letter-spacing: .07em;
text-transform: uppercase;
padding: 7px 14px;
border-radius: 4px;
border: 1px solid rgba(255, 255, 255, .2);
color: rgba(255, 255, 255, .8);
}
.badge-fill {
background: var(--orange);
border-color: var(--orange);
color: var(--white);
}
.overview {
padding: 80px 80px 64px;
background: var(--white);
}
.overview-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start;
margin-top: 48px;
}
.overview-text p {
font-size: 15px;
line-height: 1.8;
color: var(--gray-600);
margin-bottom: 18px;
}
.overview-text p strong {
color: var(--gray-800);
font-weight: 600;
}
.check-list {
list-style: none;
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 24px;
}
.check-list li {
display: flex;
align-items: flex-start;
gap: 12px;
font-size: 14px;
color: var(--gray-700);
line-height: 1.5;
}
.check-list li::before {
content: '✓';
width: 22px;
height: 22px;
border-radius: 50%;
background: rgba(232, 87, 42, .12);
color: var(--orange);
font-size: 12px;
font-weight: 700;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
margin-top: 1px;
}
.use-cards {
display: flex;
flex-direction: column;
gap: 16px;
}
.use-card {
background: var(--gray-100);
border-radius: 10px;
padding: 20px 24px;
border-left: 3px solid var(--orange);
}
.use-card-title {
font-family: var(--fd);
font-size: 17px;
font-weight: 700;
text-transform: uppercase;
color: var(--navy);
letter-spacing: .02em;
margin-bottom: 6px;
}
.use-card-desc {
font-size: 13px;
color: var(--gray-600);
line-height: 1.6;
}
.use-card-tags {
display: flex;
gap: 6px;
flex-wrap: wrap;
margin-top: 10px;
}
.mini-tag {
font-size: 10px;
font-weight: 600;
letter-spacing: .06em;
text-transform: uppercase;
padding: 3px 8px;
border-radius: 3px;
background: rgba(15, 36, 68, .07);
color: var(--navy-light);
}
.materials {
padding: 80px 20px;
background: var(--gray-100);
}
.materials-intro {
display: flex;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 48px;
flex-wrap: wrap;
gap: 20px;
}
.materials-intro p {
font-size: 15px;
color: var(--gray-600);
max-width: 380px;
line-height: 1.7;
}
.cat-tabs {
display: flex;
gap: 8px;
flex-wrap: wrap;
margin-bottom: 32px;
}
.cat-tab {
font-family: var(--fd);
font-size: 13px;
font-weight: 600;
letter-spacing: .06em;
text-transform: uppercase;
padding: 8px 18px;
border-radius: 4px;
cursor: pointer;
border: 1.5px solid var(--gray-200);
background: var(--white);
color: var(--gray-600);
transition: all .2s;
}
.cat-tab:hover {
border-color: var(--orange);
color: var(--orange);
}
.cat-tab.active {
background: var(--navy);
color: var(--white);
border-color: var(--navy);
}
.mat-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2px;
background: var(--gray-200);
border: 2px solid var(--gray-200);
border-radius: 12px;
overflow: hidden;
}
.mat-card {
background: var(--white);
padding: 28px 24px;
transition: background .2s;
cursor: pointer;
position: relative;
overflow: hidden;
}
.mat-card::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 3px;
background: var(--orange);
transform: scaleX(0);
transform-origin: left;
transition: transform .3s;
}
.mat-card:hover {
background: var(--navy);
}
.mat-card:hover::after {
transform: scaleX(1);
}
.mat-card:hover .mat-name {
color: var(--white);
}
.mat-card:hover .mat-desc {
color: rgba(255, 255, 255, .55);
}
.mat-card:hover .mat-spec {
background: rgba(232, 87, 42, .2);
color: var(--orange-light);
}
.mat-card:hover .mat-num {
color: rgba(255, 255, 255, .1);
}
.mat-card:hover .mat-arrow {
color: var(--orange);
}
.mat-img-wrap {
width: 100%;
aspect-ratio: 16/9;
background: var(--gray-100);
border-bottom: 1px solid var(--gray-200);
position: relative;
overflow: hidden;
}
.mat-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .4s ease;
}
.mat-card:hover .mat-img-wrap img {
transform: scale(1.05);
}
.mat-num {
font-family: var(--fd);
font-size: 40px;
font-weight: 800;
color: rgba(15, 36, 68, .06);
line-height: 1;
margin-bottom: -10px;
letter-spacing: -.02em;
transition: color .2s;
}
.mat-icon {
width: 40px;
height: 40px;
background: var(--orange);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 16px;
}
.mat-icon svg {
width: 20px;
height: 20px;
}
.mat-name {
font-family: var(--fd);
font-size: 18px;
font-weight: 700;
text-transform: uppercase;
color: var(--navy);
letter-spacing: .02em;
margin-bottom: 8px;
transition: color .2s;
line-height: 1.1;
}
.mat-desc {
font-size: 13px;
color: var(--gray-600);
line-height: 1.6;
margin-bottom: 14px;
transition: color .2s;
}
.mat-specs {
display: flex;
gap: 5px;
flex-wrap: wrap;
margin-bottom: 12px;
}
.mat-spec {
font-size: 10px;
font-weight: 600;
letter-spacing: .05em;
text-transform: uppercase;
padding: 3px 7px;
border-radius: 3px;
background: rgba(15, 36, 68, .07);
color: var(--navy-light);
transition: background .2s, color .2s;
}
.mat-arrow {
font-size: 16px;
color: var(--gray-400);
transition: color .2s;
}
.mat-img-ph {
position: absolute;
inset: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 7px;
}
.mat-img-ph svg {
opacity: .22;
}
.mat-img-ph-lbl {
font-family: var(--fd);
font-size: 9px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
color: var(--gray-400);
text-align: center;
padding: 0 10px;
}
.mat-img-ph-sub {
font-size: 9px;
color: var(--gray-400);
text-align: center;
padding: 0 10px;
line-height: 1.4;
}
.finishes {
padding: 80px;
background: var(--white);
}
.finish-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 24px;
margin-top: 48px;
}
.finish-card {
border-radius: 12px;
padding: 40px 36px;
position: relative;
overflow: hidden;
}
.finish-card.galv {
background: var(--navy);
}
.finish-card.vinyl {
background: var(--gray-800);
}
.finish-card h3 {
font-family: var(--fd);
font-size: 28px;
font-weight: 800;
text-transform: uppercase;
color: var(--white);
letter-spacing: .04em;
margin-bottom: 12px;
}
.finish-card h3 span {
color: var(--orange);
}
.finish-card p {
font-size: 14px;
color: rgba(255, 255, 255, .6);
line-height: 1.75;
margin-bottom: 24px;
}
.finish-list {
list-style: none;
display: flex;
flex-direction: column;
gap: 8px;
}
.finish-list li {
font-size: 13px;
color: rgba(255, 255, 255, .7);
display: flex;
align-items: center;
gap: 10px;
}
.finish-list li::before {
content: '';
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--orange);
flex-shrink: 0;
}
.finish-deco {
position: absolute;
right: -30px;
bottom: -30px;
width: 160px;
height: 160px;
border-radius: 50%;
border: 28px solid var(--orange);
opacity: .1;
}
.compare {
padding: 80px;
background: var(--cream);
}
.compare-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
margin-top: 48px;
}
.compare-card {
background: var(--white);
border-radius: 12px;
border: 1px solid var(--gray-200);
padding: 36px 32px;
transition: border-color .2s;
}
.compare-card:hover {
border-color: var(--orange);
}
.compare-label {
font-family: var(--fd);
font-size: 11px;
font-weight: 700;
letter-spacing: .12em;
text-transform: uppercase;
color: var(--orange);
margin-bottom: 12px;
}
.compare-card h3 {
font-family: var(--fd);
font-size: 26px;
font-weight: 800;
text-transform: uppercase;
color: var(--navy);
letter-spacing: .03em;
margin-bottom: 16px;
}
.compare-card p {
font-size: 14px;
color: var(--gray-600);
line-height: 1.75;
margin-bottom: 20px;
}
.spec-table {
width: 100%;
border-collapse: collapse;
}
.spec-table tr {
border-bottom: 1px solid var(--gray-100);
}
.spec-table td {
padding: 9px 0;
font-size: 13px;
}
.spec-table td:first-child {
color: var(--gray-600);
width: 44%;
}
.spec-table td:last-child {
color: var(--navy);
font-weight: 600;
text-align: right;
}
.seo-content {
padding: 80px;
background: var(--white);
}
.seo-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
margin-top: 48px;
}
.faq {
display: flex;
flex-direction: column;
gap: 0;
}
.faq-item {
border-bottom: 1px solid var(--gray-200);
overflow: hidden;
}
.faq-q {
font-family: var(--fd);
font-size: 16px;
font-weight: 700;
text-transform: uppercase;
color: var(--navy);
letter-spacing: .02em;
padding: 18px 0;
cursor: pointer;
display: flex;
align-items: center;
justify-content: space-between;
transition: color .2s;
user-select: none;
}
.faq-q:hover {
color: var(--orange);
}
.faq-q .faq-icon {
width: 22px;
height: 22px;
border-radius: 50%;
background: rgba(232, 87, 42, .1);
color: var(--orange);
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
flex-shrink: 0;
transition: transform .3s;
}
.faq-item.open .faq-icon {
transform: rotate(45deg);
}
.faq-a {
font-size: 14px;
color: var(--gray-600);
line-height: 1.75;
max-height: 0;
overflow: hidden;
transition: max-height .35s ease, padding .3s;
padding-bottom: 0;
}
.faq-item.open .faq-a {
max-height: 400px;
padding-bottom: 18px;
}
.content-block h3 {
font-family: var(--fd);
font-size: 20px;
font-weight: 700;
text-transform: uppercase;
color: var(--navy);
letter-spacing: .03em;
margin-bottom: 12px;
margin-top: 28px;
}
.content-block p {
font-size: 14px;
color: var(--gray-600);
line-height: 1.8;
margin-bottom: 14px;
}
.territory {
padding: 80px;
background: var(--navy);
}
.territory-intro {
font-size: 15px;
color: rgba(255, 255, 255, .6);
line-height: 1.7;
max-width: 560px;
margin-top: 16px;
margin-bottom: 48px;
}
.region-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
}
.region-block {
background: rgba(255, 255, 255, .05);
border: 1px solid rgba(255, 255, 255, .1);
border-radius: 10px;
padding: 22px 20px;
transition: all .2s;
}
.region-block:hover {
background: rgba(232, 87, 42, .1);
border-color: rgba(232, 87, 42, .3);
}
.region-name {
font-family: var(--fd);
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
color: var(--orange);
letter-spacing: .06em;
margin-bottom: 12px;
padding-bottom: 10px;
border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.region-cities {
list-style: none;
display: flex;
flex-direction: column;
gap: 5px;
}
.region-cities li {
font-size: 12px;
color: rgba(255, 255, 255, .6);
}
.region-cities li.primary {
color: rgba(255, 255, 255, .9);
font-weight: 500;
}
.region-cities a {
color: inherit;
text-decoration: none;
transition: color .2s;
}
.region-cities a:hover {
color: var(--orange);
}
.quote-cta {
padding: 80px;
background: var(--orange);
}
.quote-inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: center;
}
.quote-left h2 {
font-family: var(--fd);
font-size: clamp(38px, 4vw, 60px);
font-weight: 800;
text-transform: uppercase;
color: var(--white);
line-height: .92;
letter-spacing: -.01em;
margin-bottom: 16px;
}
.quote-left p {
font-size: 16px;
color: rgba(255, 255, 255, .8);
line-height: 1.7;
}
.quote-form-card {
background: rgba(255, 255, 255, .12);
border: 1px solid rgba(255, 255, 255, .2);
border-radius: 12px;
padding: 32px;
backdrop-filter: blur(8px);
}
.ql {
display: block;
font-size: 11px;
font-weight: 600;
letter-spacing: .08em;
text-transform: uppercase;
color: rgba(255, 255, 255, .6);
margin-bottom: 6px;
}
.qi {
width: 100%;
background: rgba(255, 255, 255, .15);
border: 1px solid rgba(255, 255, 255, .25);
border-radius: 6px;
padding: 11px 14px;
font-family: var(--fb);
font-size: 14px;
color: var(--white);
outline: none;
transition: border-color .2s;
margin-bottom: 12px;
appearance: none;
}
.qi::placeholder {
color: rgba(255, 255, 255, .45);
}
.qi:focus {
border-color: rgba(255, 255, 255, .7);
}
.qi option {
background: var(--navy);
}
.qrow {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}
.qbtn {
width: 100%;
background: var(--white);
color: var(--orange);
font-family: var(--fd);
font-size: 16px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
padding: 14px;
border: none;
border-radius: 6px;
cursor: pointer;
margin-top: 4px;
transition: background .2s;
}
.qbtn:hover {
background: var(--cream);
}
@media (max-width: 900px) {
.breadcrumb,
.overview,
.materials,
.finishes,
.compare,
.seo-content,
.territory,
.quote-cta {
padding-left: 24px;
padding-right: 24px;
}
.overview-grid,
.finish-grid,
.compare-grid,
.seo-grid,
.quote-inner {
grid-template-columns: 1fr;
gap: 32px;
}
.mat-grid,
.region-grid {
grid-template-columns: 1fr 1fr;
}
.qrow {
grid-template-columns: 1fr;
}
}
@media (max-width: 767px) {
.mat-grid,
.region-grid {
grid-template-columns: 1fr;
}
}
.territory .sh {
color: var(--white);
}
/* ── AUTH PAGES ── */
.login-page-wrapper {
background: var(--navy);
min-height: 100vh;
}
.auth-page {
margin-top: 64px;
padding: 80px 24px;
background: #f5f2ed;
display: flex;
align-items: center;
justify-content: center;
position: relative;
overflow: hidden;
/* min-height: calc(100vh - 64px); */
}
.auth-card {
width: 100%;
max-width: 440px;
background: var(--navy);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 16px;
padding: 48px 40px;
box-shadow: 0 20px 50px rgba(15, 36, 68, 0.2);
position: relative;
z-index: 2;
}
.auth-title {
font-family: var(--fd);
font-size: 32px;
font-weight: 800;
color: var(--white);
text-transform: uppercase;
letter-spacing: .02em;
margin-bottom: 8px;
text-align: center;
}
.auth-title span {
color: var(--orange);
}
.auth-form {
display: flex;
flex-direction: column;
}
.form-group {
margin-bottom: 20px;
}
.form-label {
display: block;
font-size: 11px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
color: rgba(255, 255, 255, 0.6);
margin-bottom: 6px;
}
.form-input {
width: 100%;
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 6px;
padding: 12px 16px;
font-family: var(--fb);
font-size: 14px;
color: var(--white);
outline: none;
transition: all .2s;
}
.form-input::placeholder {
color: rgba(255, 255, 255, 0.3);
}
.form-input:focus {
border-color: var(--orange);
background: rgba(255, 255, 255, 0.1);
}
.form-submit {
width: 100%;
background: var(--orange);
color: var(--white);
font-family: var(--fd);
font-size: 16px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
padding: 14px;
border: none;
border-radius: 6px;
cursor: pointer;
margin-top: 6px;
transition: background .2s;
}
.form-submit:hover {
background: var(--orange-dark);
}
.form-submit:disabled {
opacity: 0.7;
cursor: not-allowed;
}
/* ── ABOUT / STORY COMMON ── */
.about-story-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: stretch;
/* Key to matching height of content */
}
.about-image-column {
position: relative;
display: flex;
flex-direction: column;
}
.about-image-wrapper {
position: relative;
width: 100%;
height: 100%;
min-height: 400px;
/* Fallback min height */
border-radius: 12px;
overflow: hidden;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
.about-image-cover {
object-fit: cover;
}
.about-floating-card {
position: absolute;
bottom: -30px;
left: -30px;
background: var(--white);
padding: 32px;
border-radius: 12px;
box-shadow: 0 15px 45px rgba(15, 36, 68, 0.15);
z-index: 5;
border-left: 4px solid var(--orange);
max-width: 450px;
}
.about-story-text p {
font-size: 16px;
line-height: 1.8;
color: var(--gray-600);
margin-bottom: 20px;
}
.about-story-text p:last-child {
margin-bottom: 0;
}
.about-floating-card-text {
font-size: 15px;
line-height: 1.6;
font-weight: 500;
color: var(--navy);
}
@media (max-width: 900px) {
.about-story-layout {
grid-template-columns: 1fr;
gap: 40px;
}
.about-image-wrapper {
min-height: 300px;
}
.about-floating-card {
position: relative;
bottom: 0;
left: 0;
margin-top: -40px;
margin-left: 20px;
margin-right: 20px;
}
}
.section {
padding: 100px 0;
position: relative;
}
.container {
max-width: 1300px;
margin: 0 auto;
padding: 0 40px;
width: 100%;
}
@media (max-width: 768px) {
.section {
padding: 60px 0;
}
.container {
padding: 0 24px;
}
}
.section-h2 {
font-family: var(--fd);
font-size: clamp(36px, 4.5vw, 56px);
font-weight: 800;
text-transform: uppercase;
line-height: .95;
color: var(--navy);
letter-spacing: -.01em;
margin-bottom: 24px;
}
.section-h2 span {
color: var(--orange);
}
.section-h2.white {
color: var(--white);
}
/* ── MANUFACTURING PAGE ── */
.mfg-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 30px;
}
.mfg-card {
background: var(--white);
padding: 40px;
border-radius: 16px;
border: 1px solid var(--gray-200);
transition: all 0.3s ease;
display: flex;
flex-direction: column;
}
.mfg-card:hover {
transform: translateY(-5px);
border-color: var(--orange);
box-shadow: 0 20px 40px rgba(15, 36, 68, 0.08);
}
.mfg-card .section-h2 {
font-size: 24px;
margin-bottom: 20px;
}
.service-list {
list-style-type: none !important;
padding: 0;
margin: 0;
margin-top: auto;
}
.service-list li {
font-size: 14px;
color: var(--gray-600);
margin-bottom: 12px;
padding-left: 24px;
position: relative;
line-height: 1.4;
}
.service-list li::before {
content: '';
position: absolute;
left: 0;
top: 8px;
width: 6px;
height: 6px;
background: var(--orange);
border-radius: 50%;
}
/* ── RENTALS PAGE ── */
.rental-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 30px;
}
.rental-item-card {
background: var(--white);
border-radius: 12px;
overflow: hidden;
border: 1px solid var(--gray-200);
transition: all 0.3s ease;
}
.rental-item-card:hover {
transform: translateY(-5px);
border-color: var(--orange);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}
.rental-item-img {
position: relative;
height: 200px;
width: 100%;
}
.rental-item-body {
padding: 24px;
}
.rental-item-name {
font-family: var(--fd);
font-size: 18px;
font-weight: 700;
text-transform: uppercase;
color: var(--navy);
margin-bottom: 8px;
}
.rental-item-desc {
font-size: 14px;
color: var(--gray-600);
line-height: 1.5;
}
.app-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 24px;
}
.app-card {
display: flex;
gap: 20px;
padding: 30px;
background: var(--white);
border-radius: 12px;
border: 1px solid var(--gray-200);
}
.app-num {
font-family: var(--fd);
font-size: 32px;
font-weight: 800;
color: var(--orange);
opacity: 0.3;
line-height: 1;
}
.app-title {
font-family: var(--fd);
font-size: 18px;
font-weight: 700;
text-transform: uppercase;
color: var(--navy);
margin-bottom: 6px;
}
.app-desc {
font-size: 13px;
color: var(--gray-600);
line-height: 1.6;
}
.rental-why-section {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 600px;
}
.rental-why-img {
position: relative;
width: 100%;
height: 100%;
}
.rental-why-content {
background: var(--navy);
padding: 80px;
display: flex;
flex-direction: column;
justify-content: center;
}
.rental-why-title {
font-family: var(--fd);
font-size: 40px;
font-weight: 800;
text-transform: uppercase;
color: var(--white);
margin-bottom: 40px;
}
.rental-timeline {
list-style: none;
}
.rental-timeline-item {
display: flex;
gap: 15px;
margin-bottom: 24px;
align-items: center;
}
.timeline-icon {
width: 48px;
height: 48px;
background: rgba(232, 87, 42, 0.1);
border: 1px solid rgba(232, 87, 42, 0.3);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: var(--orange);
flex-shrink: 0;
}
.timeline-text {
color: rgba(255, 255, 255, 0.8);
font-size: 15px;
font-weight: 500;
}
@media (max-width: 900px) {
.rental-why-section {
grid-template-columns: 1fr;
}
.rental-why-img {
height: 300px;
}
.rental-why-content {
padding: 40px 24px;
}
}
/* ── FAQ ACCORDION ── */
.faq-accordion {
max-width: 800px;
margin: 60px auto 0;
}
.faq-item {
border-bottom: 1px solid var(--gray-200);
background: var(--white);
}
.faq-header {
padding: 24px 0;
display: flex;
align-items: center;
justify-content: space-between;
cursor: pointer;
gap: 20px;
transition: color 0.3s ease;
}
.faq-header:hover .faq-question {
color: var(--orange);
}
.faq-question {
font-family: var(--fd);
font-size: 18px;
font-weight: 700;
text-transform: uppercase;
color: var(--navy);
letter-spacing: 0.02em;
line-height: 1.3;
}
.faq-icon {
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
color: var(--orange);
font-size: 20px;
transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.faq-icon.open {
transform: rotate(180deg);
}
.faq-answer-collapse {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.faq-answer-collapse.open {
max-height: 500px;
}
.faq-answer-inner {
padding-bottom: 30px;
font-size: 15px;
color: var(--gray-600);
line-height: 1.7;
}
/* ── CONTACT PAGE Styles ── */
.contact-page {
background: var(--white);
}
.contact-page .hero {
background: var(--navy);
padding: 72px 80px 64px;
position: relative;
overflow: hidden;
margin-top: 0;
}
.contact-page .hero-grid {
position: absolute;
inset: 0;
opacity: .035;
background-image: repeating-linear-gradient(0deg, transparent, transparent 39px, rgba(255, 255, 255, .6) 39px, rgba(255, 255, 255, .6) 40px), repeating-linear-gradient(90deg, transparent, transparent 39px, rgba(255, 255, 255, .6) 39px, rgba(255, 255, 255, .6) 40px);
}
.contact-page .hero-accent {
position: absolute;
right: -60px;
top: 60px;
width: 380px;
height: 380px;
border-radius: 50%;
border: 52px solid var(--orange);
opacity: .1;
}
.contact-page .hero-inner {
position: relative;
z-index: 2;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center;
max-width: 1400px;
margin: 0 auto;
}
.contact-page .hero-eyebrow {
display: inline-flex;
align-items: center;
gap: 10px;
font-family: var(--fd);
font-size: 12px;
font-weight: 700;
letter-spacing: .14em;
text-transform: uppercase;
color: var(--orange);
margin-bottom: 18px;
}
.contact-page .hero-eyebrow::before {
content: '';
display: block;
width: 24px;
height: 2px;
background: var(--orange);
}
.contact-page h1 {
font-family: var(--fd);
font-size: clamp(42px, 5vw, 70px);
font-weight: 800;
text-transform: uppercase;
color: var(--white);
line-height: .92;
letter-spacing: -.01em;
margin-bottom: 18px;
}
.contact-page h1 em {
color: var(--orange);
font-style: normal;
display: block;
}
.contact-page .hero-desc {
font-size: 15px;
font-weight: 300;
line-height: 1.85;
color: rgba(255, 255, 255, .65);
margin-bottom: 32px;
}
.contact-page .hero-desc strong {
color: rgba(255, 255, 255, .9);
font-weight: 500;
}
.contact-pills {
display: flex;
flex-direction: column;
gap: 12px;
}
.contact-pill {
display: flex;
align-items: center;
gap: 14px;
background: rgba(255, 255, 255, .06);
border: 1px solid rgba(255, 255, 255, .12);
border-radius: 10px;
padding: 16px 20px;
text-decoration: none;
transition: background .2s, border-color .2s;
cursor: pointer;
}
.contact-pill:hover {
background: rgba(232, 87, 42, .12);
border-color: rgba(232, 87, 42, .3);
}
.cp-icon {
width: 42px;
height: 42px;
border-radius: 8px;
background: var(--orange);
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
flex-shrink: 0;
}
.cp-label {
font-family: var(--fd);
font-size: 11px;
font-weight: 700;
letter-spacing: .09em;
text-transform: uppercase;
color: rgba(255, 255, 255, .45);
margin-bottom: 2px;
}
.cp-value {
font-family: var(--fd);
font-size: 16px;
font-weight: 700;
color: var(--white);
letter-spacing: .03em;
}
.cp-sub {
font-size: 11px;
color: rgba(255, 255, 255, .5);
margin-top: 1px;
}
.hero-response {
display: inline-flex;
align-items: center;
gap: 8px;
background: rgba(22, 163, 74, .15);
border: 1px solid rgba(22, 163, 74, .3);
border-radius: 6px;
padding: 8px 16px;
font-family: var(--fd);
font-size: 12px;
font-weight: 700;
letter-spacing: .07em;
text-transform: uppercase;
color: #4ADE80;
margin-top: 20px;
}
/* QUOTE FORM */
.contact-page .form-card {
background: rgba(255, 255, 255, .07);
border: 1px solid rgba(255, 255, 255, .12);
border-radius: 14px;
padding: 36px;
backdrop-filter: blur(10px);
}
.contact-page .form-title {
font-family: var(--fd);
font-size: 22px;
font-weight: 700;
text-transform: uppercase;
color: var(--white);
letter-spacing: .04em;
margin-bottom: 4px;
}
.contact-page .form-sub {
font-size: 13px;
color: rgba(255, 255, 255, .45);
margin-bottom: 22px;
}
.contact-page .fl {
display: block;
font-size: 10px;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
color: rgba(255, 255, 255, .5);
margin-bottom: 6px;
margin-top: 14px;
}
/* .contact-page .fl:first-of-type,
.contact-page .fl.first {
margin-top: 0;
} */
.contact-page .fi {
width: 100%;
background: rgba(255, 255, 255, .08);
border: 1px solid rgba(255, 255, 255, .14);
border-radius: 6px;
padding: 11px 14px;
font-family: var(--fb);
font-size: 14px;
color: var(--white);
outline: none;
transition: border-color .2s;
appearance: none;
}
.contact-page .fi::placeholder {
color: rgba(255, 255, 255, .3);
}
.contact-page .fi:focus {
border-color: var(--orange);
}
.contact-page .fi option {
background: var(--navy);
}
.contact-page .fi-ta {
min-height: 90px;
resize: vertical;
}
.contact-page .frow {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}
.contact-page .form-btn {
width: 100%;
background: var(--orange);
color: var(--white);
font-family: var(--fd);
font-size: 16px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
padding: 14px;
border: none;
border-radius: 6px;
cursor: pointer;
margin-top: 16px;
transition: background .2s;
}
.contact-page .form-btn:hover {
background: var(--orange-dark);
}
.contact-page .form-btn:disabled {
opacity: 0.7;
cursor: not-allowed;
}
.contact-page .form-note {
text-align: center;
font-size: 11px;
color: rgba(255, 255, 255, .3);
margin-top: 10px;
}
.form-success {
text-align: center;
padding: 24px;
background: rgba(22, 163, 74, .1);
border: 1px solid rgba(22, 163, 74, .3);
border-radius: 8px;
margin-top: 12px;
}
.fs-icon {
font-size: 36px;
margin-bottom: 8px;
}
.form-success p {
font-size: 14px;
color: #4ADE80;
font-family: var(--fd);
font-weight: 700;
text-transform: uppercase;
letter-spacing: .04em;
}
/* INFO SECTION */
.info-section {
padding: 72px 80px;
background: var(--gray-100);
}
.info-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-top: 44px;
}
.info-card {
background: var(--white);
border-radius: 12px;
padding: 28px 24px;
border: 1px solid var(--gray-200);
}
.ic-icon {
font-size: 28px;
margin-bottom: 14px;
}
.ic-title {
font-family: var(--fd);
font-size: 18px;
font-weight: 700;
text-transform: uppercase;
color: var(--navy);
letter-spacing: .03em;
margin-bottom: 12px;
}
.ic-rows {
display: flex;
flex-direction: column;
gap: 8px;
}
.ic-row {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 13px;
padding: 7px 0;
border-bottom: 1px solid var(--gray-100);
}
.ic-row:last-child {
border-bottom: none;
}
.ic-key {
color: var(--gray-600);
}
.ic-val {
font-weight: 600;
color: var(--navy);
text-align: right;
}
.ic-val.orange {
color: var(--orange);
}
.ic-val.green {
color: var(--green);
}
/* EXPECT SECTION */
.expect-section {
padding: 72px 80px;
background: var(--white);
}
.expect-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
margin-top: 44px;
}
.expect-step {
text-align: center;
padding: 0 8px;
}
.es-num {
font-family: var(--fd);
font-size: 52px;
font-weight: 800;
color: var(--orange);
line-height: 1;
margin-bottom: 10px;
}
.es-title {
font-family: var(--fd);
font-size: 16px;
font-weight: 700;
text-transform: uppercase;
color: var(--navy);
letter-spacing: .03em;
margin-bottom: 8px;
}
.es-desc {
font-size: 13px;
color: var(--gray-600);
line-height: 1.75;
}
/* FAQ SECTION */
.faq-section {
padding: 80px 20px;
background: var(--white);
}
.faq-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
margin-top: 48px;
}
.faq {
display: flex;
flex-direction: column;
}
.faq-item {
border-bottom: 1px solid var(--gray-200);
}
.faq-q {
font-family: var(--fd);
font-size: 15px;
font-weight: 700;
text-transform: uppercase;
color: var(--navy);
letter-spacing: .02em;
padding: 18px 0;
cursor: pointer;
display: flex;
align-items: center;
justify-content: space-between;
transition: color .2s;
user-select: none;
}
.faq-q:hover {
color: var(--orange);
}
.faq-icon {
width: 22px;
height: 22px;
border-radius: 50%;
background: rgba(232, 87, 42, .1);
color: var(--orange);
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
flex-shrink: 0;
transition: transform .3s;
}
.faq-item.open .faq-icon {
transform: rotate(45deg);
}
.faq-a {
font-size: 14px;
color: var(--gray-600);
line-height: 1.75;
max-height: 0;
overflow: hidden;
transition: max-height .35s ease, padding .3s;
}
.faq-item.open .faq-a {
max-height: 400px;
padding-bottom: 18px;
}
/* NEWSLETTER */
.contact-page .newsletter-section {
padding: 64px 80px;
background: var(--white);
text-align: center;
}
.nl-inner {
max-width: 520px;
margin: 0 auto;
}
.nl-eye {
font-family: var(--fd);
font-size: 11px;
font-weight: 700;
letter-spacing: .14em;
text-transform: uppercase;
color: var(--orange);
margin-bottom: 12px;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
}
.nl-eye::before,
.nl-eye::after {
content: '';
display: block;
width: 22px;
height: 2px;
background: var(--orange);
}
.contact-page .nl-h2 {
font-family: var(--fd);
font-size: clamp(28px, 3.5vw, 44px);
font-weight: 800;
text-transform: uppercase;
color: var(--navy);
line-height: .95;
letter-spacing: -.01em;
margin-bottom: 14px;
}
.contact-page .nl-h2 span {
color: var(--orange);
}
.nl-sub {
font-size: 14px;
color: var(--gray-600);
line-height: 1.75;
margin-bottom: 28px;
}
.nl-form {
display: flex;
max-width: 460px;
margin: 0 auto;
border: 2px solid var(--gray-200);
border-radius: 8px;
overflow: hidden;
background: var(--white);
transition: border-color .2s;
}
.nl-form:focus-within {
border-color: var(--orange);
}
.nl-input {
flex: 1;
border: none;
padding: 14px 18px;
font-family: var(--fb);
font-size: 14px;
color: var(--gray-800);
background: transparent;
outline: none;
}
.nl-btn {
background: var(--orange);
color: var(--white);
font-family: var(--fd);
font-size: 13px;
font-weight: 700;
letter-spacing: .07em;
text-transform: uppercase;
padding: 14px 22px;
border: none;
cursor: pointer;
transition: background .2s;
}
.nl-btn:hover {
background: var(--orange-dark);
}
@media (max-width: 425px) {
.nl-btn,
.newsletter-btn {
padding: 14px 7px;
font-size: 10px;
}
}
.nl-note {
font-size: 12px;
color: var(--gray-400);
margin-top: 12px;
}
/* T&C CHECKBOX */
.contact-page .tc-row {
display: flex;
align-items: flex-start;
gap: 12px;
margin-top: 14px;
padding: 14px 16px;
background: rgba(255, 255, 255, .07);
border: 1px solid rgba(255, 255, 255, .12);
border-radius: 8px;
cursor: pointer;
transition: border-color .2s, background .2s;
}
.contact-page .tc-row:hover {
background: rgba(255, 255, 255, .1);
}
.contact-page .tc-row.checked {
border-color: rgba(22, 163, 74, .45);
background: rgba(22, 163, 74, .08);
}
.contact-page .tc-row.tc-error {
border-color: rgba(220, 38, 38, .5) !important;
background: rgba(220, 38, 38, .06) !important;
animation: shake-contact .3s ease;
}
@keyframes shake-contact {
0% {
transform: translateX(0)
}
20% {
transform: translateX(-5px)
}
40% {
transform: translateX(5px)
}
60% {
transform: translateX(-4px)
}
80% {
transform: translateX(4px)
}
100% {
transform: translateX(0)
}
}
.tc-check {
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 2px;
accent-color: #16A34A;
cursor: pointer;
}
.tc-label {
font-size: 12px;
color: rgba(255, 255, 255, .62);
line-height: 1.7;
cursor: pointer;
user-select: none;
}
.tc-label a {
color: var(--orange);
text-decoration: none;
border-bottom: 1px solid rgba(232, 87, 42, .3);
}
.tc-label a:hover {
border-bottom-color: var(--orange);
}
.tc-error-msg {
font-size: 11px;
color: #FCA5A5;
margin-top: 6px;
padding-left: 30px;
font-weight: 500;
}
/* COMMON */
.se {
font-family: var(--fd);
font-size: 11px;
font-weight: 700;
letter-spacing: .14em;
text-transform: uppercase;
color: var(--orange);
margin-bottom: 12px;
display: flex;
align-items: center;
gap: 10px;
}
.se::before {
content: '';
display: block;
width: 22px;
height: 2px;
background: var(--orange);
}
.contact-page h2.sh {
font-family: var(--fd);
font-size: clamp(34px, 4vw, 52px);
font-weight: 800;
text-transform: uppercase;
line-height: .95;
color: var(--navy);
letter-spacing: -.01em;
}
.contact-page h2.sh span {
color: var(--orange);
}
@media(max-width:900px) {
.contact-page .hero {
padding: 52px 24px 48px;
}
.contact-page .hero-inner {
grid-template-columns: 1fr;
gap: 36px;
}
.contact-page .info-section,
.contact-page .expect-section,
.contact-page .faq-section,
.contact-page .newsletter-section {
padding-left: 24px !important;
padding-right: 24px !important;
}
.contact-page .info-grid,
.contact-page .expect-grid,
.contact-page .faq-grid,
.contact-page .frow {
grid-template-columns: 1fr;
}
}
/* CTA SECTION */
.contact-page .cta-section {
padding: 80px 24px;
background: var(--orange);
text-align: center;
overflow: hidden;
}
.contact-page .cta-inner {
max-width: 700px;
margin: 0 auto;
width: 100%;
}
.contact-page .cta-h2 {
font-family: var(--fd);
font-size: clamp(28px, 5vw, 60px);
font-weight: 800;
text-transform: uppercase;
color: var(--white);
line-height: .95;
letter-spacing: -.01em;
margin-bottom: 16px;
}
.contact-page .cta-sub {
font-size: 15px;
color: rgba(255, 255, 255, .9);
margin-bottom: 36px;
font-weight: 300;
word-break: break-word;
}
.cta-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 12px;
background: var(--white);
color: var(--orange);
font-family: var(--fb);
font-size: clamp(14px, 3vw, 18px);
font-weight: 700;
padding: 16px 28px;
border-radius: 8px;
text-decoration: none;
transition: transform .2s, box-shadow .2s;
box-shadow: 0 4px 15px rgba(0, 0, 0, .1);
max-width: 100%;
word-break: break-all;
overflow-wrap: break-word;
white-space: normal;
text-align: center;
}
.cta-btn:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(0, 0, 0, .15);
}
.cta-btn-icon {
color: var(--orange);
display: flex;
align-items: center;
}
/* COVERAGE SECTION */
.coverage-section {
padding: 80px 80px;
background: var(--navy);
color: var(--white);
}
.sh-white {
color: var(--white) !important;
}
.coverage-layout {
display: grid;
grid-template-columns: 500px 1fr;
gap: 60px;
margin-top: 44px;
align-items: start;
}
.coverage-map {
border: 1px solid rgba(255, 255, 255, .08);
border-radius: 12px;
overflow: hidden;
background: rgba(255, 255, 255, .02);
box-shadow: 0 20px 40px rgba(0, 0, 0, .3);
width: 100%;
max-width: 500px;
}
.contact-page .region-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}
.contact-page .region-block {
border-top: 1px solid rgba(255, 255, 255, .1);
padding-top: 20px;
}
.contact-page .region-name {
font-family: var(--fd);
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
color: var(--orange);
margin-bottom: 12px;
letter-spacing: .05em;
}
.contact-page .region-cities {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 6px;
}
.contact-page .region-cities li {
font-size: 13px;
color: rgba(255, 255, 255, .5);
}
.contact-page .region-cities li.primary {
color: var(--white);
font-weight: 600;
}
.contact-page .region-cities a {
color: inherit;
text-decoration: none;
transition: color .2s;
}
.contact-page .region-cities a:hover {
color: var(--orange);
}
@media(max-width:1200px) {
.coverage-layout {
grid-template-columns: 1fr;
justify-items: center;
}
.coverage-section {
padding: 60px 24px;
}
.contact-page .region-grid {
grid-template-columns: 1fr 1fr;
}
}
@media(max-width:600px) {
.contact-page .region-grid {
grid-template-columns: 1fr;
}
}
/* REASONS SECTION */
.reasons-section {
padding: 80px;
background: var(--gray-100);
}
.reasons-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 18px;
margin-top: 48px;
}
.reason-card {
background: var(--white);
border: 1px solid var(--gray-200);
border-radius: 10px;
padding: 26px 22px;
transition: border-color .2s, transform .2s;
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
}
.reason-card::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 3px;
background: var(--orange);
transform: scaleX(0);
transform-origin: left;
transition: transform .3s;
}
.reason-card:hover {
border-color: var(--orange);
transform: translateY(-3px);
}
.reason-card:hover::after {
transform: scaleX(1);
}
.reason-icon {
width: 40px;
height: 40px;
background: rgba(232, 87, 42, .1);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 16px;
flex-shrink: 0;
}
.reason-icon svg {
width: 20px;
height: 20px;
}
.reason-title {
font-family: var(--fd);
font-size: 18px;
font-weight: 700;
text-transform: uppercase;
color: var(--navy);
letter-spacing: .02em;
margin-bottom: 8px;
line-height: 1.1;
}
.reason-desc {
font-size: 13px;
color: var(--gray-600);
line-height: 1.65;
margin-bottom: 14px;
flex-grow: 1;
}
.reason-email {
display: inline-flex;
align-items: center;
gap: 6px;
font-family: var(--fd);
font-size: 12px;
font-weight: 700;
letter-spacing: .07em;
text-transform: uppercase;
color: var(--orange);
text-decoration: none;
transition: gap .2s;
width: fit-content;
}
.reason-email:hover {
gap: 10px;
}
@media(max-width:1100px) {
.reasons-grid {
grid-template-columns: 1fr 1fr;
}
}
@media(max-width:700px) {
.reasons-grid {
grid-template-columns: 1fr;
}
.reasons-section {
padding: 60px 24px;
}
}
/* CONTACT PAGE UTILITIES */
.contact-page .fs-note {
font-family: var(--fb);
font-size: 13px;
color: rgba(255, 255, 255, .7);
font-weight: 300;
text-transform: none;
letter-spacing: 0;
margin-top: 8px;
}
.contact-page .mt-24 {
margin-top: 24px;
}
.contact-page .text-orange {
color: var(--orange) !important;
}
.contact-page .text-gray-400 {
color: var(--gray-400) !important;
}
.contact-page .ic-val-list {
text-align: left;
font-weight: normal;
font-size: 12px;
}
.contact-page .text-white-50 {
color: rgba(255, 255, 255, .5) !important;
}
.contact-page .coverage-intro {
font-size: 15px;
color: rgba(255, 255, 255, .6);
line-height: 1.7;
margin-bottom: 28px;
}
.contact-page .cta-inner {
max-width: 800px;
margin: 0 auto;
}
/* ── STAINING PAGE Styles ── */
.hero-staining {
background-image: linear-gradient(rgba(15, 36, 68, 0.8), rgba(15, 36, 68, 0.8)), url(/images/staining-hero.png);
background-size: cover;
background-position: center;
}
.hero-staining .hero-grid-bg {
opacity: 0.2;
}
.model-extra-info {
margin-top: 20px;
background: rgba(232, 87, 42, .12);
border: 1px solid rgba(232, 87, 42, .25);
border-radius: 10px;
padding: 16px 20px;
}
.model-extra-info-title {
font-family: var(--fd);
font-size: 12px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
color: var(--orange);
margin-bottom: 6px;
}
.model-extra-info-desc {
font-size: 13px;
line-height: 1.7;
}
.model-extra-info-desc.dark {
color: rgba(255, 255, 255, .7);
}
.model-extra-info-desc.light {
color: var(--gray-600);
}
.qi-textarea {
height: 100px;
resize: none;
}
.photo-area-large {
min-height: 340px;
}
.photo-area-small {
min-height: 160px;
}
.photo-area img {
width: 100%;
height: 100%;
object-fit: cover;
}
.photo-sub-small {
font-size: 11px;
}
.stain-promo-eyebrow {
font-family: var(--fd);
font-size: 12px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
color: rgba(255, 255, 255, .3);
margin-bottom: 12px;
margin-top: 32px;
}
.mt-32 {
margin-top: 32px;
}
.d-inline-block {
display: inline-block;
}
.home-base-pill {
font-family: var(--fd);
font-size: 11px;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
color: var(--orange);
display: inline-flex;
align-items: center;
gap: 6px;
background: rgba(232, 87, 42, .1);
padding: 4px 12px;
border-radius: 3px;
margin-bottom: 16px;
}
/* -- HERO DECORATION -- */
.hero-fence-rail {
position: absolute;
left: 0;
right: 0;
height: 2px;
background: rgba(255, 255, 255, 0.05);
z-index: 1;
}
.hero-fence-post {
position: absolute;
top: 25%;
bottom: 25%;
width: 2px;
background: rgba(255, 255, 255, 0.05);
z-index: 1;
}
.hero-slider-dots {
display: flex;
gap: 8px;
margin-top: 10px;
}
.hero-slider-dot {
width: 10px;
height: 10px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.3);
border: none;
cursor: pointer;
transition: background 0.3s;
padding: 0;
}
.hero-slider-dot.active {
background: var(--orange);
}
.hero-alert {
padding: 12px 16px;
border-radius: 8px;
font-size: 14px;
margin-bottom: 20px;
border-width: 1px;
border-style: solid;
}
.hero-alert-danger {
background: #fee2e2;
color: #991b1b;
border-color: #fecaca;
}
.hero-alert-info {
background: #e0f2fe;
color: #075985;
border-color: #bae6fd;
}
.hero-alert-success {
background: #f0fdf4;
color: #166534;
border-color: #bbf7d0;
}
.text-danger {
color: #ef4444 !important;
}
.border-danger {
border-color: #ef4444 !important;
}
/* -- ORANGE QUOTE CTA (Staining Services) -- */
.quote-cta-orange {
background: var(--orange);
padding: 80px 20px;
}
.quote-cta-orange .quote-inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: center;
max-width: 1200px;
margin: 0 auto;
/* padding: 0 24px; */
}
.quote-cta-orange h2 {
font-family: var(--fd);
font-size: 56px;
font-weight: 800;
line-height: 1;
margin-bottom: 20px;
text-transform: uppercase;
}
.quote-cta-orange p {
font-size: 18px;
line-height: 1.6;
opacity: 0.9;
}
.orange-card {
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 12px;
padding: 40px;
backdrop-filter: blur(10px);
}
.orange-input {
background: rgba(255, 255, 255, 0.15) !important;
border: 1px solid rgba(255, 255, 255, 0.2) !important;
color: white !important;
}
.orange-input::placeholder {
color: rgba(255, 255, 255, 0.5);
}
.btn-white-orange {
background: white !important;
color: var(--orange) !important;
font-weight: 700 !important;
width: 100%;
padding: 16px !important;
border-radius: 6px !important;
font-family: var(--fd) !important;
letter-spacing: 0.05em !important;
margin-top: 10px;
}
.btn-white-orange:hover {
background: rgba(255, 255, 255, 0.9) !important;
}
.text-white-70 {
color: rgba(255, 255, 255, 0.7) !important;
}
@media (max-width: 900px) {
.quote-cta-orange .quote-inner {
grid-template-columns: 1fr;
gap: 40px;
}
.quote-cta-orange h2 {
font-size: 42px;
}
}
/* CONTACT PAGE HERO CARDS */
.hero-contact-cards {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
align-content: center;
}
.hcc {
background: rgba(255, 255, 255, .05);
border: 1px solid rgba(255, 255, 255, .1);
border-radius: 10px;
padding: 20px;
transition: background .2s, border-color .2s;
}
.hcc:hover {
background: rgba(255, 255, 255, .08);
border-color: rgba(255, 255, 255, .15);
}
.hcc-label {
font-family: var(--fd);
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
color: var(--orange);
letter-spacing: .08em;
margin-bottom: 8px;
opacity: .9;
}
.hcc-val {
font-family: var(--fd);
font-size: 18px;
font-weight: 700;
color: var(--white);
margin-bottom: 6px;
line-height: 1.1;
}
.hcc-val a {
color: inherit;
text-decoration: none;
}
.hcc-sub {
font-size: 12px;
color: rgba(255, 255, 255, .5);
line-height: 1.5;
font-weight: 300;
}
.hcc-hours {
margin-top: 10px;
display: flex;
flex-direction: column;
gap: 4px;
}
.hcc-hour-item {
display: flex;
justify-content: space-between;
font-size: 11px;
color: rgba(255, 255, 255, .4);
}
.hcc-hour-time {
color: rgba(255, 255, 255, .7);
}
.hcc-hour-time.closed {
color: #fca5a5;
opacity: .7;
}
/* MAIN CONTACT SECTION */
.contact-section {
padding: 80px;
background: var(--white);
overflow: hidden;
}
.contact-layout {
display: grid;
grid-template-columns: 1fr 1.1fr;
gap: 64px;
margin-top: 48px;
align-items: start;
max-width: 1300px;
margin-left: auto;
margin-right: auto;
width: 100%;
}
.contact-left {
display: flex;
flex-direction: column;
gap: 20px;
}
.contact-card {
background: var(--gray-100);
border-radius: 12px;
padding: 24px 22px;
border-left: 3px solid var(--orange);
}
.contact-card-label {
font-size: 10px;
font-weight: 700;
letter-spacing: .12em;
text-transform: uppercase;
color: var(--orange);
margin-bottom: 8px;
}
.contact-card-val {
font-family: var(--fd);
font-size: 20px;
font-weight: 700;
color: var(--navy);
letter-spacing: .02em;
line-height: 1.1;
margin-bottom: 6px;
}
.contact-card-val a {
color: var(--navy);
text-decoration: none;
transition: color .2s;
}
.contact-card-val a:hover {
color: var(--orange);
}
.contact-card-sub {
font-size: 13px;
color: var(--gray-600);
line-height: 1.65;
}
.hours-table {
width: 100%;
margin-top: 14px;
border-collapse: collapse;
}
.hours-table tr {
border-bottom: 1px solid var(--gray-200);
}
.hours-table tr:last-child {
border-bottom: none;
}
.hours-table td {
padding: 9px 0;
font-size: 13px;
}
.hours-table td:first-child {
color: var(--gray-600);
}
.hours-table td:last-child {
text-align: right;
font-family: var(--fd);
font-size: 14px;
font-weight: 700;
color: var(--navy);
}
.hours-table td:last-child.closed {
color: var(--gray-400);
font-weight: 400;
font-family: var(--fb);
}
.help-list {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 4px;
}
.help-item {
display: flex;
align-items: center;
gap: 12px;
font-size: 13px;
color: var(--gray-600);
}
.help-item::before {
content: '✓';
font-family: var(--fd);
font-size: 14px;
font-weight: 700;
color: var(--orange);
flex-shrink: 0;
}
.contact-form-wrap {
background: var(--navy);
border-radius: 16px;
padding: 44px 40px;
}
.form-head {
margin-bottom: 32px;
}
.form-head-title {
font-family: var(--fd);
font-size: 26px;
font-weight: 800;
text-transform: uppercase;
color: var(--white);
letter-spacing: .03em;
margin-bottom: 6px;
}
.form-head-title span {
color: var(--orange);
}
.form-head-sub {
font-size: 13px;
color: rgba(255, 255, 255, .5);
line-height: 1.6;
}
@media (max-width: 900px) {
.contact-section {
padding: 48px 20px;
}
.contact-layout {
grid-template-columns: 1fr;
gap: 28px;
}
.contact-form-wrap {
padding: 28px 22px;
}
.contact-page .cta-section {
padding: 60px 20px;
}
.cta-btn {
font-size: 14px;
padding: 14px 20px;
word-break: break-all;
}
}
/* INNER PAGE BANNER */
.inner-banner {
height: 400px;
background: var(--navy);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
color: var(--white);
position: relative;
overflow: hidden;
padding: 0 24px;
}
.inner-banner-title {
font-family: var(--fd);
font-size: 56px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: -.02em;
line-height: 1;
margin-bottom: 20px;
}
.inner-banner-title span {
color: var(--orange);
}
.inner-banner-breadcrumbs {
font-size: 14px;
color: rgba(255, 255, 255, 0.4);
font-weight: 500;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.inner-banner-breadcrumbs a {
color: inherit;
text-decoration: none;
transition: color 0.2s;
}
.inner-banner-breadcrumbs a:hover {
color: var(--orange);
}
.inner-banner-breadcrumbs span {
margin: 0 10px;
opacity: 0.5;
}
@media (max-width: 768px) {
.inner-banner {
height: 300px;
}
.inner-banner-title {
font-size: 36px;
}
}
inner-banner-title {
font-family: var(--fd);
font-size: 56px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: -.02em;
line-height: 1;
margin-bottom: 20px;
}
.inner-banner-title span {
color: var(--orange);
}
.inner-banner-breadcrumbs {
font-size: 14px;
color: rgba(255, 255, 255, 0.4);
font-weight: 500;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.inner-banner-breadcrumbs a {
color: inherit;
text-decoration: none;
transition: color 0.2s;
}
.inner-banner-breadcrumbs a:hover {
color: var(--orange);
}
.inner-banner-breadcrumbs span {
margin: 0 10px;
opacity: 0.5;
}
@media (max-width: 768px) {
.inner-banner {
height: 300px;
}
.inner-banner-title {
font-size: 36px;
}
}
/* CONTACT SECTION LIGHT OVERRIDES */
.contact-section .hcc {
background: var(--gray-100);
border: 1px solid var(--gray-200);
border-left: 3px solid var(--orange);
border-radius: 12px;
padding: 24px 22px;
}
.contact-section .hcc-label {
opacity: 1;
}
.contact-section .hcc-val {
color: var(--navy);
font-size: 20px;
}
.contact-section .hcc-val a {
color: var(--navy);
}
.contact-section .hcc-sub {
color: var(--gray-600);
}
.contact-section .hcc-hours {
margin-top: 10px;
display: flex;
flex-direction: column;
gap: 4px;
}
.contact-section .hcc-hour-item {
display: flex;
justify-content: space-between;
font-size: 13px;
color: var(--gray-600);
border-bottom: 1px solid var(--gray-200);
padding: 8px 0;
}
.contact-section .hcc-hour-item:last-child {
border-bottom: none;
}
.contact-section .hcc-hour-time {
color: var(--navy);
font-weight: 700;
font-family: var(--fd);
}
.contact-section .hcc-hour-time.closed {
color: var(--gray-400);
font-weight: 400;
font-family: var(--fb);
}
.contact-section .fl {
color: var(--gray-600);
}
.contact-section .fi {
/* background: var(--gray-100); */
border: 1px solid var(--gray-100);
color: #fff;
}
.contact-section .fi::placeholder {
color: var(--gray-400);
}
.contact-section .form-btn {
width: 100%;
background: var(--orange);
color: var(--white);
padding: 16px;
border: none;
border-radius: 8px;
font-family: var(--fd);
font-size: 16px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .08em;
cursor: pointer;
margin-top: 24px;
}
.contact-section .form-note {
color: var(--gray-400);
}
/* ── CONSTRUCTION POPUP ── */
.construction-overlay {
position: fixed;
inset: 0;
background: rgba(15, 36, 68, 0.6);
backdrop-filter: blur(8px);
z-index: 10000;
display: flex;
align-items: center;
justify-content: center;
padding: 24px;
animation: fadeInPopup 0.4s ease-out forwards;
}
.construction-modal {
background: var(--white);
max-width: 500px;
width: 100%;
border-radius: 20px;
position: relative;
overflow: hidden;
box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
animation: scaleInPopup 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
border: 1px solid rgba(255, 255, 255, 0.1);
}
.construction-modal::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 8px;
background: linear-gradient(90deg, var(--orange), var(--orange-light));
}
.construction-content {
padding: 32px 32px 28px;
text-align: center;
}
.construction-icon {
font-size: 42px;
margin-bottom: 16px;
display: block;
filter: drop-shadow(0 10px 15px rgba(232, 87, 42, 0.2));
}
.construction-title {
font-family: var(--fd);
font-size: 26px;
font-weight: 800;
color: var(--navy);
margin-bottom: 12px;
text-transform: uppercase;
line-height: 1.1;
letter-spacing: -0.01em;
}
.construction-text {
font-size: 15px;
color: var(--gray-600);
line-height: 1.5;
margin-bottom: 20px;
font-weight: 400;
}
.construction-prices {
background: var(--gray-100);
padding: 14px 18px;
border-radius: 10px;
font-size: 14px;
color: var(--gray-800);
margin-bottom: 20px;
border-left: 4px solid var(--orange);
text-align: center;
line-height: 1.4;
}
.construction-contact {
font-size: 14px;
font-weight: 600;
color: var(--navy);
margin-top: 4px;
padding: 8px 16px;
background: rgba(232, 87, 42, 0.05);
border-radius: 8px;
display: inline-block;
}
.construction-contact span {
color: var(--orange);
}
.construction-close {
position: absolute;
top: 14px;
right: 14px;
background: var(--gray-100);
border: none;
font-size: 18px;
color: var(--gray-600);
cursor: pointer;
transition: all 0.2s;
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
border-radius: 50%;
z-index: 2;
}
.construction-close:hover {
color: var(--white);
background: var(--orange);
transform: rotate(90deg);
}
.construction-btn {
width: 100%;
background: var(--navy);
color: var(--white);
padding: 14px;
border-radius: 8px;
border: none;
font-family: var(--fd);
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.1em;
cursor: pointer;
transition: all 0.3s;
margin-top: 16px;
box-shadow: 0 4px 12px rgba(15, 36, 68, 0.1);
}
.construction-btn:hover {
background: var(--orange);
box-shadow: 0 6px 20px rgba(232, 87, 42, 0.3);
transform: translateY(-2px);
}
@keyframes fadeInPopup {
from {
opacity: 0;
backdrop-filter: blur(0px);
}
to {
opacity: 1;
backdrop-filter: blur(8px);
}
}
@keyframes scaleInPopup {
from {
opacity: 0;
transform: scale(0.9) translateY(20px);
}
to {
opacity: 1;
transform: scale(1) translateY(0);
}
}
/* ── CTA SECTIONS ── */
.cta-section {
background: var(--orange);
padding: 80px 0;
text-align: center;
color: var(--white);
position: relative;
overflow: hidden;
}
.about-cta-section {
background: var(--orange);
}
.cta-section .cta-h2 span {
color: var(--navy);
}
.cta-section .btn-primary {
background: var(--white);
color: var(--orange);
}
.cta-section .btn-primary:hover {
background: var(--cream);
color: var(--orange);
}
.cta-h2 {
font-family: var(--fd);
font-size: clamp(32px, 5vw, 56px);
font-weight: 800;
text-transform: uppercase;
margin-bottom: 20px;
color: var(--white);
letter-spacing: -0.01em;
}
.cta-h2 span {
color: var(--orange);
}
.cta-sub {
font-size: 18px;
color: var(--white);
max-width: 700px;
margin: 0 auto 40px;
line-height: 1.6;
opacity: 0.9;
}
.cta-btns {
display: flex;
gap: 16px;
justify-content: center;
flex-wrap: wrap;
}
.btn-white-outline {
display: inline-block;
padding: 14px 28px;
border: 2px solid var(--white);
color: var(--white);
font-family: var(--fd);
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
border-radius: 4px;
transition: all 0.3s ease;
text-decoration: none;
}
.btn-white-outline:hover {
background: var(--white);
color: var(--navy);
}
@media (max-width: 768px) {
.cta-section {
padding: 70px 24px;
}
}