/* =====================================================================
   Paarhk Pools & Landscaping — landing page
   Green accent, imagery-forward, minimal-luxury (luxland / mdo style)
   ===================================================================== */
.lp {
	--acc: #1f6d55;
	--acc-deep: #12463a;
	--ink: #16211d;
	--muted: #5b6b64;
	--line: #e7ece9;
	--cream: #f6f4ef;
	font-family: inherit;
	color: var(--ink);
}
.lp-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 48px); }

/* Full-bleed & hide Proty page title on ALL landscape-section pages */
body.section-landscape .page-header { display: none !important; }
body.section-landscape #themesflat-content,
body.section-landscape .page-wrap,
body.section-landscape #main-content {
	padding: 0 !important; margin: 0 !important; max-width: none !important; width: 100% !important;
}

.lp-eyebrow {
	display: inline-block; font-size: 13px; font-weight: 700;
	letter-spacing: .18em; text-transform: uppercase; color: var(--acc);
	margin-bottom: 14px; padding-left: 40px; position: relative;
}
.lp-eyebrow::before { content:""; position:absolute; left:0; top:50%; width:28px; height:2px; background: var(--acc); transform: translateY(-50%); }
.lp-eyebrow--light { color: rgba(255,255,255,.9); }
.lp-eyebrow--light::before { background: rgba(255,255,255,.9); }

.lp-head { max-width: 720px; margin: 0 auto clamp(36px, 5vh, 60px); text-align: center; }
.lp-head .lp-eyebrow { padding-left: 0; }
.lp-head .lp-eyebrow::before { display: none; }
.lp-head h2 { font-size: clamp(28px, 3.6vw, 46px); font-weight: 700; letter-spacing: -.02em; margin: 0; line-height: 1.1; }
.lp-head--light h2 { color: #fff; }

/* Buttons */
.lp-btn { display:inline-flex; align-items:center; gap:10px; padding:15px 32px; border-radius:999px; font-weight:600; font-size:15px; text-decoration:none; border:1.5px solid transparent; transition: all .3s ease; white-space:nowrap; }
.lp-btn--solid { background: var(--acc); color:#fff; border-color: var(--acc); }
.lp-btn--solid:hover { filter: brightness(1.1); transform: translateY(-2px); color:#fff; }
.lp-btn--ghost { background: rgba(255,255,255,.08); color:#fff; border-color: rgba(255,255,255,.6); }
.lp-btn--ghost:hover { background:#fff; color: var(--acc-deep); }
.lp-btn--light { background:#fff; color: var(--acc-deep); border-color:#fff; }
.lp-btn--light:hover { transform: translateY(-2px); background: rgba(255,255,255,.9); }

/* ---------- HERO ---------- */
.lp-hero { position: relative; min-height: clamp(560px, 88vh, 900px); display:flex; align-items:center; overflow:hidden; isolation:isolate; }
.lp-hero__media { position:absolute; inset:0; z-index:1; background: var(--hero) center/cover no-repeat; transform: scale(1.05); animation: lp-kb 20s ease-out forwards; }
@keyframes lp-kb { to { transform: scale(1.14); } }
.lp-hero__scrim { position:absolute; inset:0; z-index:2; background: linear-gradient(90deg, rgba(8,30,24,.82) 0%, rgba(8,30,24,.5) 45%, rgba(8,30,24,.1) 80%, transparent 100%), linear-gradient(0deg, rgba(0,0,0,.45), transparent 45%); }
.lp-hero__inner { position:relative; z-index:3; width:100%; max-width:1200px; margin:0 auto; padding: 0 clamp(20px,5vw,48px); color:#fff; }
.lp-hero__title { font-size: clamp(40px, 6.4vw, 88px); font-weight:700; line-height:1.02; letter-spacing:-.025em; margin:0 0 22px; color:#fff; }
.lp-hero__desc { font-size: clamp(16px, 1.6vw, 20px); line-height:1.55; color: rgba(255,255,255,.9); max-width: 52ch; margin:0 0 34px; }
.lp-hero__actions { display:flex; flex-wrap:wrap; gap:14px; }
.lp-hero__stats { position:absolute; z-index:3; left:0; right:0; bottom:0; padding: 22px clamp(20px,5vw,48px); display:flex; gap: clamp(24px,5vw,80px); max-width:1200px; margin:0 auto; background: linear-gradient(0deg, rgba(8,30,24,.6), transparent); }
.lp-hero__stats div { color:#fff; }
.lp-hero__stats strong { display:block; font-size: clamp(24px,3vw,40px); font-weight:700; line-height:1; }
.lp-hero__stats span { font-size: 13px; color: rgba(255,255,255,.75); letter-spacing:.02em; }

/* ---------- INTRO ---------- */
.lp-intro { padding: clamp(64px, 10vh, 130px) 0; }
.lp-intro__grid { display:grid; grid-template-columns: 1.05fr .95fr; gap: clamp(32px, 5vw, 76px); align-items:center; }
.lp-intro__text h2 { font-size: clamp(26px, 3.2vw, 42px); font-weight:700; line-height:1.14; letter-spacing:-.02em; margin: 0 0 20px; }
.lp-intro__text p { font-size:17px; line-height:1.7; color: var(--muted); margin: 0 0 28px; }
.lp-intro__media img { width:100%; height:100%; max-height:520px; object-fit:cover; border-radius: 20px; box-shadow: 0 30px 60px rgba(0,0,0,.14); }

/* ---------- SERVICES ---------- */
.lp-services { padding: clamp(56px, 8vh, 110px) 0; background: var(--cream); }
.lp-svc-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 26px); }
.lp-svc { background:#fff; border:1px solid var(--line); border-radius:16px; padding: clamp(26px,3vw,38px); transition: transform .35s ease, box-shadow .35s ease; }
.lp-svc:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(0,0,0,.09); }
.lp-svc__num { font-size:14px; font-weight:800; color: var(--acc); letter-spacing:.1em; }
.lp-svc h3 { font-size:21px; font-weight:700; margin:12px 0 10px; }
.lp-svc p { font-size:15px; line-height:1.6; color: var(--muted); margin:0; }

/* ---------- FEATURED PROJECTS (image cards, no whitespace) ---------- */
.lp-projects { padding: clamp(56px, 8vh, 110px) 0; }
.lp-proj-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 26px); }
.lp-projcard { position:relative; display:block; overflow:hidden; border-radius:18px; aspect-ratio: 3/4; text-decoration:none; isolation:isolate; }
.lp-projcard img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition: transform .8s cubic-bezier(.22,1,.36,1); }
.lp-projcard:hover img { transform: scale(1.07); }
.lp-projcard__ov { position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; justify-content:flex-end; padding: clamp(20px,2.4vw,30px); background: linear-gradient(0deg, rgba(8,30,24,.9) 0%, rgba(8,30,24,.4) 42%, rgba(8,30,24,0) 72%); }
.lp-projcard__loc { font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color: #9fe3c8; margin-bottom:6px; }
.lp-projcard__title { font-size: clamp(22px,2.2vw,28px); font-weight:700; color:#fff; letter-spacing:-.01em; }
.lp-projcard__text { font-size:14px; line-height:1.55; color: rgba(255,255,255,.82); margin-top:8px; max-height:0; opacity:0; overflow:hidden; transition: max-height .45s ease, opacity .35s ease, margin-top .35s ease; }
.lp-projcard:hover .lp-projcard__text { max-height:120px; opacity:1; }
.lp-proj-more { text-align:center; margin-top: clamp(32px,4vh,48px); }

/* ---------- GALLERY ---------- */
.lp-gallery { padding: clamp(56px, 8vh, 110px) 0; background: var(--cream); }
.lp-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: clamp(10px, 1.4vw, 18px); }
.lp-grid__item { display:block; overflow:hidden; border-radius:14px; aspect-ratio: 4/3; }
.lp-grid__item img { width:100%; height:100%; object-fit:cover; display:block; transition: transform .7s cubic-bezier(.22,1,.36,1); }
.lp-grid__item:hover img { transform: scale(1.08); }

/* ---------- WHY ---------- */
.lp-why { padding: clamp(64px, 10vh, 130px) 0; background: linear-gradient(120deg, var(--acc-deep), #0c231c); }
.lp-why-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2vw, 26px); }
.lp-why__card { padding: clamp(24px,2.6vw,34px); border:1px solid rgba(255,255,255,.14); border-radius:16px; background: rgba(255,255,255,.03); }
.lp-why__card h3 { color:#fff; font-size:19px; font-weight:700; margin:0 0 10px; }
.lp-why__card p { color: rgba(255,255,255,.75); font-size:15px; line-height:1.6; margin:0; }

/* ---------- PROCESS ---------- */
.lp-process { padding: clamp(64px, 10vh, 130px) 0; }
.lp-steps { display:grid; grid-template-columns: repeat(4, 1fr); gap: clamp(18px, 2.4vw, 34px); }
.lp-step { position:relative; padding-top: 22px; border-top: 2px solid var(--line); }
.lp-step__num { font-size: clamp(30px,3.4vw,46px); font-weight:800; color: var(--acc); letter-spacing:-.02em; line-height:1; }
.lp-step h3 { font-size:20px; font-weight:700; margin:14px 0 10px; }
.lp-step p { font-size:15px; line-height:1.6; color: var(--muted); margin:0; }

/* ---------- CTA ---------- */
.lp-cta { padding: clamp(56px, 9vh, 110px) 0; background: linear-gradient(120deg, var(--acc), var(--acc-deep)); }
.lp-cta__inner { display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; }
.lp-cta__inner h2 { color:#fff; font-size: clamp(26px,3.2vw,42px); font-weight:700; margin:0 0 8px; max-width: 24ch; letter-spacing:-.02em; }
.lp-cta__inner p { color: rgba(255,255,255,.85); font-size:17px; margin:0; }

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
	.lp-svc-grid { grid-template-columns: repeat(2, 1fr); }
	.lp-why-grid { grid-template-columns: repeat(2, 1fr); }
	.lp-steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
	.lp-intro__grid { grid-template-columns: 1fr; }
	.lp-proj, .lp-proj--rev .lp-proj__media { grid-template-columns: 1fr; order: 0; }
	.lp-proj__media { order: 0 !important; }
	.lp-svc-grid, .lp-grid { grid-template-columns: 1fr 1fr; }
	.lp-why-grid, .lp-steps { grid-template-columns: 1fr; }
	.lp-hero__stats { flex-wrap: wrap; gap: 16px 28px; }
	.lp-cta__inner { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
	.lp-hero__media { animation: none; transform: scale(1.05); }
}

/* =====================================================================
   SUB-PAGES: compact hero, service rows, portfolio, about
   ===================================================================== */

/* Compact page hero (Services / Portfolio / About) */
.lp-phero { position:relative; min-height: clamp(320px, 46vh, 460px); display:flex; align-items:center; overflow:hidden; isolation:isolate; }
.lp-phero__media { position:absolute; inset:0; z-index:1; background: var(--hero) center/cover no-repeat; transform: scale(1.05); }
.lp-phero__scrim { position:absolute; inset:0; z-index:2; background: linear-gradient(0deg, rgba(8,30,24,.82), rgba(8,30,24,.35) 60%, rgba(8,30,24,.5)); }
.lp-phero__inner { position:relative; z-index:3; width:100%; max-width:1200px; margin:0 auto; padding:0 clamp(20px,5vw,48px); color:#fff; }
.lp-phero__inner h1 { font-size: clamp(34px,5vw,60px); font-weight:700; letter-spacing:-.02em; margin:0 0 14px; color:#fff; }
.lp-phero__inner p { font-size: clamp(15px,1.4vw,19px); color: rgba(255,255,255,.9); max-width:52ch; margin:0; }

/* Service detail rows (alternating) */
.lp-srv { padding: clamp(56px,8vh,110px) 0; }
.lp-srv-row { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(28px,4vw,64px); align-items:center; margin-bottom: clamp(40px,6vh,80px); }
.lp-srv-row:last-child { margin-bottom:0; }
.lp-srv-row--rev .lp-srv-row__media { order:2; }
.lp-srv-row__media { overflow:hidden; border-radius:20px; box-shadow:0 26px 54px rgba(0,0,0,.12); }
.lp-srv-row__media img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.lp-srv-row__body .lp-eyebrow { padding-left:0; }
.lp-srv-row__body .lp-eyebrow::before { display:none; }
.lp-srv-row__body h2 { font-size: clamp(24px,2.8vw,38px); font-weight:700; letter-spacing:-.02em; margin:6px 0 16px; }
.lp-srv-row__body p { font-size:16px; line-height:1.7; color:var(--muted); margin:0 0 18px; }
.lp-srv-row__list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; }
.lp-srv-row__list li { position:relative; padding-left:26px; font-size:15px; color:var(--ink); }
.lp-srv-row__list li::before { content:"✓"; position:absolute; left:0; color:var(--acc); font-weight:800; }

/* Portfolio project blocks */
.lp-pf { padding: clamp(56px,8vh,110px) 0; }
.lp-pf-block { margin-bottom: clamp(48px,7vh,90px); }
.lp-pf-block:last-child { margin-bottom:0; }
.lp-pf-block__head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:22px; }
.lp-pf-block__head h2 { font-size: clamp(24px,3vw,38px); font-weight:700; letter-spacing:-.02em; margin:6px 0 0; }
.lp-pf-block__loc { font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--acc); }
.lp-pf-block__desc { font-size:16px; color:var(--muted); max-width:46ch; margin:0; }
.lp-pf-grid { display:grid; grid-template-columns: 2fr 1fr 1fr; gap: clamp(10px,1.4vw,16px); }
.lp-pf-grid a { display:block; overflow:hidden; border-radius:14px; }
.lp-pf-grid a:first-child { grid-row: span 2; }
.lp-pf-grid img { width:100%; height:100%; object-fit:cover; display:block; transition: transform .7s cubic-bezier(.22,1,.36,1); }
.lp-pf-grid a:hover img { transform: scale(1.06); }

/* About */
.lp-about { padding: clamp(56px,8vh,110px) 0; }
.lp-about__grid { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(32px,5vw,72px); align-items:center; }
.lp-about__grid img { width:100%; border-radius:20px; object-fit:cover; box-shadow:0 26px 54px rgba(0,0,0,.12); }
.lp-about__grid h2 { font-size: clamp(26px,3.2vw,42px); font-weight:700; letter-spacing:-.02em; line-height:1.14; margin:8px 0 18px; }
.lp-about__grid p { font-size:16px; line-height:1.75; color:var(--muted); margin:0 0 16px; }
.lp-statbar { display:grid; grid-template-columns: repeat(4,1fr); gap:20px; padding: clamp(32px,5vh,56px) 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin: clamp(40px,6vh,72px) 0; text-align:center; }
.lp-statbar strong { display:block; font-size: clamp(30px,4vw,52px); font-weight:800; color:var(--acc); letter-spacing:-.02em; line-height:1; }
.lp-statbar span { font-size:14px; color:var(--muted); }

@media (max-width: 860px) {
	.lp-srv-row, .lp-srv-row--rev .lp-srv-row__media { grid-template-columns:1fr; order:0; }
	.lp-srv-row__media { order:0 !important; }
	.lp-pf-grid { grid-template-columns:1fr 1fr; }
	.lp-pf-grid a:first-child { grid-row: span 1; grid-column: span 2; }
	.lp-about__grid { grid-template-columns:1fr; }
	.lp-statbar { grid-template-columns:1fr 1fr; gap:28px 20px; }
	.lp-proj-grid { grid-template-columns:1fr; }
}
@media (max-width:760px){
	.lp-srv-row__list { grid-template-columns:1fr; }
}

/* ---- Portfolio tile "View project" link ---- */
.lp-projcard__link { display:inline-block; margin-top:12px; font-size:14px; font-weight:600; color:#9fe3c8; opacity:0; transform:translateY(8px); transition:opacity .35s ease, transform .35s ease; }
.lp-projcard:hover .lp-projcard__link { opacity:1; transform:translateY(0); }

/* ---- Project detail ---- */
.lp-phero--tall { min-height: clamp(420px, 62vh, 640px); }
.lp-back { display:inline-block; margin-bottom:16px; color:rgba(255,255,255,.85); font-weight:600; font-size:14px; text-decoration:none; }
.lp-back:hover { color:#fff; }
.lp-proj-detail { padding: clamp(48px,7vh,96px) 0 clamp(24px,4vh,48px); }
.lp-pd-grid { display:grid; grid-template-columns: 1.6fr 1fr; gap: clamp(28px,4vw,64px); align-items:start; }
.lp-pd-intro p { font-size:18px; line-height:1.75; color:var(--muted); margin:6px 0 0; }
.lp-pd-specs { background:var(--cream); border:1px solid var(--line); border-radius:18px; padding: clamp(24px,2.6vw,32px); }
.lp-pd-specs > div { display:flex; flex-direction:column; padding:14px 0; border-bottom:1px solid var(--line); }
.lp-pd-specs > div:first-child { padding-top:0; }
.lp-pd-specs span { font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.lp-pd-specs strong { font-size:16px; color:var(--ink); font-weight:600; }
.lp-pd-specs .lp-btn { margin-top:20px; width:100%; justify-content:center; }
.lp-pd-gallery { padding: clamp(24px,4vh,48px) 0 clamp(56px,8vh,110px); }
@media (max-width:760px){
	.lp-pd-grid { grid-template-columns:1fr; }
}
