/*
Theme Name: Land Art by Saeman
Description: A custom landscape portfolio for Land Art by Saeman, Inc. Includes an editable homepage, project gallery, family story, and direct contact links.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Author: Land Art by Saeman, Inc.
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: land-art-saeman
Tags: full-site-editing, block-patterns, custom-colors, custom-logo, portfolio
*/

:root { --la-forest:#183c30; --la-ink:#20352c; --la-ivory:#f6f4ed; --la-paper:#fffefa; --la-muted:#5c675e; --la-line:#d7ddd1; --la-sage:#dde4d6; --la-serif:Georgia,'Times New Roman',serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; color:var(--la-ink); background:var(--la-ivory); font-family:Arial,Helvetica,sans-serif; font-size:17px; line-height:1.7; }
img { max-width:100%; height:auto; }
a { color:inherit; text-underline-offset:5px; }
a:hover { text-decoration-thickness:2px; }
button { font:inherit; }
:where(a,button,summary,input,textarea):focus-visible { outline:3px solid #b76b33; outline-offset:5px; }
::selection { background:#c7d4bd; color:#183c30; }
.wp-site-blocks { padding:0; }
.wp-site-blocks > * { margin-block-start:0; }
.wp-block-template-part { margin:0; }
.la-container { width:min(1280px, calc(100% - 112px)); margin-inline:auto; }
.la-section { padding-block:110px; margin-block:0; }
.la-section :where(p,h1,h2,h3,figure) { margin-block-start:0; }
.la-section p { margin-block-end:1.2em; }
.la-eyebrow { font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; line-height:1.6; }
.la-section h2 { font-family:var(--la-serif); font-size:clamp(36px,4.5vw,62px); letter-spacing:-.045em; font-weight:400; line-height:1.08; margin-bottom:24px; }
.la-section h3 { font-family:var(--la-serif); font-size:clamp(27px,3vw,36px); font-weight:400; letter-spacing:-.025em; line-height:1.15; }
.la-lead { font-size:20px; line-height:1.75; }
.la-muted { color:var(--la-muted); }
.la-header { background:var(--la-paper); border-bottom:1px solid #e7e8df; position:relative; z-index:20; }
.la-header-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:103px; padding-block:8px; }
.la-logo { width:158px; min-width:158px; margin:0; line-height:1; }
.la-logo img { width:158px; height:auto; display:block; }
.la-header-links { display:flex; align-items:center; gap:40px; margin:0; }
.la-nav, .la-nav .wp-block-navigation-item { font-size:13px; font-weight:500; }
.la-nav .wp-block-navigation__container { gap:28px; }
.la-nav a { text-decoration:none; }
.la-nav a:hover { color:#2f6b48; text-decoration:underline; }
.wp-block-buttons.la-buttons { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.wp-block-button.la-button { margin:0; }
.la-button .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:13px 25px; font-family:Arial,Helvetica,sans-serif; font-size:13px; line-height:1.6; font-weight:600; text-decoration:none; border:1px solid var(--la-forest); border-radius:0; color:var(--la-paper); background:var(--la-forest); transition:background .18s ease,color .18s ease; }
.la-button .wp-block-button__link:hover { background:#2b5643; border-color:#2b5643; color:white; }
.la-header .la-buttons { margin:0; }
.la-header .la-button .wp-block-button__link { min-height:43px; padding:10px 20px; }
.la-button.la-button-light .wp-block-button__link { background:var(--la-ivory); color:var(--la-forest); border-color:var(--la-ivory); }
.la-button.la-button-light .wp-block-button__link:hover { background:#dde4d6; border-color:#dde4d6; }
.la-button.la-button-outline .wp-block-button__link { background:transparent; color:inherit; border-color:currentColor; }
.la-button.la-button-outline .wp-block-button__link:hover { background:rgba(255,255,255,.1); }
.la-hero { position:relative; min-height:720px; height:min(850px,calc(100svh - 103px)); isolation:isolate; display:flex; align-items:flex-end; background:#293e31; color:#fffdf6; margin:0; padding:70px 0; overflow:hidden; }
.la-hero > .la-hero-image { position:absolute; inset:0; z-index:-2; margin:0; }
.la-hero-image img { width:100%; height:100%; object-fit:cover; object-position:center 54%; display:block; }
.la-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(8,25,17,.71),rgba(8,25,17,.27) 62%,rgba(8,25,17,.1)),linear-gradient(0deg,rgba(8,25,17,.35),transparent 70%); }
.la-hero-content { margin-block:0; width:min(1280px,calc(100% - 112px)); }
.la-hero .la-eyebrow { color:#f3f0df; margin:0 0 25px; }
.la-hero h1 { font-family:var(--la-serif); font-size:clamp(56px,6.7vw,96px); font-weight:400; line-height:.98; letter-spacing:-.045em; max-width:850px; margin:0 0 26px; }
.la-hero .la-hero-description { max-width:450px; margin:0; font-size:18px; line-height:1.65; }
.la-hero-caption { position:absolute; right:56px; bottom:35px; font-size:10px; text-transform:uppercase; letter-spacing:.18em; writing-mode:vertical-rl; margin:0; }
.la-trust-strip { background:var(--la-forest); color:var(--la-ivory); margin:0; }
.la-trust-inner { display:grid; grid-template-columns:repeat(3,1fr); align-items:center; padding-block:26px; gap:28px; }
.la-trust-inner p { font-size:12px; margin:0; letter-spacing:.07em; text-align:center; }
.la-trust-inner p+p { border-left:1px solid #547061; padding-left:28px; }
.la-intro-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; }
.la-intro-copy { max-width:770px; }
.la-intro-copy p:last-child { margin-bottom:0; }
.la-intro-copy h2 { max-width:740px; }
.la-services { background:#e9eddf; }
.la-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:35px; margin-bottom:45px; }
.la-section-heading h2 { max-width:690px; margin-bottom:0; }
.la-section-heading > p { font-size:14px; max-width:310px; margin-bottom:3px; color:var(--la-muted); }
.la-service-row { display:grid; grid-template-columns:55px 1.02fr 1fr; gap:30px; align-items:start; padding:31px 0; border-top:1px solid #bdc9b5; margin:0; }
.la-service-row:last-child { border-bottom:1px solid #bdc9b5; }
.la-service-row > p { font-size:15px; margin:0; color:#475a49; }
.la-service-row > .la-service-number { font-size:11px; padding-top:6px; letter-spacing:.15em; }
.la-service-row h3 { margin:0; }
.la-services-note { max-width:620px; font-size:13px; margin-top:24px; }
.la-work { background:var(--la-paper); }
.la-gallery { display:grid; grid-template-columns:1fr 1fr; gap:38px 30px; margin:0; }
.la-gallery figure { margin:0; }
.la-gallery figure > a { display:block; overflow:hidden; background:#e1e4d8; }
.la-gallery img { width:100%; aspect-ratio:1.38; object-fit:cover; display:block; transition:transform .35s ease; }
.la-gallery a:hover img { transform:scale(1.025); }
.la-gallery figcaption { font-size:12px; letter-spacing:.04em; margin:14px 0 0; color:#465846; }
.la-gallery-more { margin-top:50px; }
.la-gallery-more > summary { cursor:pointer; display:list-item; width:fit-content; margin:auto; border-bottom:1px solid var(--la-forest); padding:12px 8px; font-size:13px; font-weight:600; }
.la-gallery-more[open] > summary { margin-bottom:36px; }
.la-gallery-more .la-gallery { grid-template-columns:repeat(3,1fr); gap:24px; }
.la-gallery-more .la-gallery img { aspect-ratio:1.2; }
.la-gallery-more .la-gallery figcaption { font-size:11px; }
.la-story { background:var(--la-ivory); }
.la-story-grid { display:grid; grid-template-columns:1.04fr 1fr; gap:80px; align-items:center; }
.la-story-photo { margin:0; }
.la-story-photo img { display:block; height:660px; width:100%; object-fit:cover; }
.la-story-photo figcaption { font-size:11px; color:#5c675e; letter-spacing:.05em; margin-top:16px; }
.la-story-text p { font-size:16px; }
.la-story-text .la-eyebrow { font-size:11px; }
.la-story-text h2 { font-size:clamp(38px,4.5vw,58px); }
.la-story-fact { border-top:1px solid var(--la-line); padding-top:23px; margin-top:26px; font-size:13px!important; }
.la-values { background:#dde4d6; padding-block:65px; }
.la-values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:50px; }
.la-values h3 { font-size:28px; margin:0 0 14px; }
.la-values p { font-size:14px; margin:0; }
.la-contact { background:var(--la-forest); color:var(--la-ivory); }
.la-contact-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:95px; align-items:start; }
.la-contact h2 { max-width:560px; font-size:clamp(44px,5vw,72px); }
.la-contact-intro { max-width:400px; color:#d3dfd1; font-size:16px; }
.la-contacts { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.la-contact-person { border-top:1px solid #718673; padding-top:24px; }
.la-contact-person h3 { font-size:29px; margin:0 0 14px; }
.la-contact-person p { font-size:18px; margin:0; white-space:nowrap; }
.la-contact-person a { text-decoration:none; border-bottom:1px solid #839781; padding-bottom:7px; display:inline-block; }
.la-contact-person a:hover { border-bottom-color:white; }
.la-contact-location { border-top:1px solid #718673; padding-top:28px; margin-top:40px; }
.la-contact-location p { font-size:14px; margin-bottom:16px; }
.la-contact-location .la-eyebrow { font-size:10px; }
.la-contact-location a { display:inline-block; }
.la-footer { background:var(--la-forest); color:#d3dfd1; }
.la-footer-inner { border-top:1px solid #496653; padding-block:25px; display:flex; justify-content:space-between; align-items:center; gap:25px; }
.la-footer p { font-size:11px; margin:0; }
.la-footer a { text-decoration:none; }
.la-content-page { padding:80px 0 100px; min-height:50vh; }
.la-content-page h1 { font-family:var(--la-serif); font-size:clamp(40px,5vw,68px); font-weight:400; line-height:1.1; }
.la-content-page .wp-block-post-content { margin-top:32px; }
.la-content-page .wp-block-post-content > :where(p,ul,ol,h2,h3,h4) { max-width:800px; }
.la-lightbox { border:1px solid #48624c; padding:18px 24px; color:#f6f4ed; background:#12251c; width:min(1150px,96vw); max-width:96vw; max-height:95svh; }
.la-lightbox::backdrop { background:rgba(0,12,6,.87); }
.la-lightbox-toolbar,.la-lightbox-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.la-lightbox button { border:1px solid #80927c; background:transparent; color:inherit; padding:8px 14px; cursor:pointer; font-size:13px; }
.la-lightbox button:hover { background:#2f4b37; }
.la-lightbox figure { margin:18px 0; }
.la-lightbox img { max-height:68svh; max-width:100%; width:auto; display:block; margin:auto; object-fit:contain; }
.la-lightbox figcaption { text-align:center; margin-top:14px; font-size:13px; }
.la-lightbox-count { font-size:12px; }
.la-preview-nav { display:flex; gap:28px; }
.la-preview-menu-button { display:none; cursor:pointer; border:1px solid var(--la-forest); background:transparent; color:var(--la-forest); padding:8px 12px; }
.la-skip { position:absolute; left:16px; top:-100px; padding:12px 20px; background:white; color:#183c30; z-index:100; }
.la-skip:focus { top:12px; }
.editor-styles-wrapper .la-hero { height:auto; min-height:720px; }
.editor-styles-wrapper .la-hero-image { pointer-events:auto; }
@media (min-width:1600px) { .la-hero-content,.la-container { width:min(1380px,calc(100% - 144px)); } }
@media (max-width:1000px) {
  .la-container,.la-hero-content { width:calc(100% - 64px); }
  .la-header-links { gap:24px; }
  .la-nav .wp-block-navigation__container,.la-preview-nav { gap:18px; }
  .la-section { padding-block:80px; }
  .la-intro-grid { grid-template-columns:.45fr 1fr; gap:35px; }
  .la-story-grid { gap:40px; }
  .la-story-photo img { height:610px; }
  .la-contact-grid { gap:40px; grid-template-columns:1fr 1fr; }
  .la-contacts { grid-template-columns:1fr; gap:25px; }
  .la-service-row { grid-template-columns:35px 1fr 1fr; gap:20px; }
}
@media (max-width:781px) {
  html { scroll-padding-top:20px; }
  .la-container,.la-hero-content { width:calc(100% - 40px); }
  .la-header-inner { min-height:86px; gap:12px; }
  .la-logo,.la-logo img { width:130px; min-width:130px; }
  .la-header-links { gap:15px; }
  .la-header .la-buttons { display:none; }
  .la-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display:flex; }
  .la-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none; }
  .la-nav .wp-block-navigation__responsive-container.is-menu-open { background:var(--la-ivory); color:var(--la-forest); padding:30px; }
  .la-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size:23px; }
  .la-hero { min-height:650px; height:calc(90svh - 86px); max-height:790px; padding-block:60px; }
  .la-hero h1 { font-size:clamp(50px,9vw,76px); }
  .la-hero-description { font-size:16px!important; max-width:390px!important; }
  .la-hero-caption { display:none; }
  .la-hero-image img { object-position:59% center; }
  .la-trust-inner { padding-block:23px; gap:12px; }
  .la-trust-inner p { font-size:9px; letter-spacing:.03em; }
  .la-trust-inner p+p { padding-left:12px; }
  .la-intro-grid,.la-story-grid,.la-contact-grid { grid-template-columns:1fr; gap:24px; }
  .la-section { padding-block:65px; }
  .la-section-heading { display:block; margin-bottom:32px; }
  .la-section-heading > p { margin-top:20px; max-width:100%; }
  .la-service-row { grid-template-columns:30px 1fr; gap:12px; padding-block:26px; }
  .la-service-row > p:last-child { grid-column:2; }
  .la-service-row h3 { font-size:30px; }
  .la-gallery { gap:25px 18px; }
  .la-gallery img { aspect-ratio:1.12; }
  .la-gallery figcaption { font-size:10px; margin-top:10px; }
  .la-gallery-more .la-gallery { grid-template-columns:1fr 1fr; gap:22px 18px; }
  .la-story-photo img { height:auto; aspect-ratio:1.12; }
  .la-story-text { margin-top:20px; }
  .la-values-grid { grid-template-columns:1fr; gap:28px; }
  .la-values-grid > div+div { border-top:1px solid #afc0a7; padding-top:25px; }
  .la-contact-grid { gap:36px; }
  .la-contacts { grid-template-columns:1fr 1fr; gap:18px; }
  .la-contact-person h3 { font-size:27px; }
  .la-contact-person p { font-size:16px; }
  .la-footer-inner { align-items:flex-start; flex-direction:column; gap:12px; padding-block:24px; }
  .la-preview-menu-button { display:block; }
  .la-preview-nav { display:none; position:absolute; left:0; right:0; top:100%; background:var(--la-ivory); padding:25px; flex-direction:column; border-bottom:1px solid var(--la-line); }
  .la-preview-nav.is-open { display:flex; }
}
@media (max-width:420px) {
  .la-hero { min-height:660px; }
  .la-hero h1 { font-size:clamp(38px,11.5vw,48px); }
  .la-hero .la-eyebrow { font-size:10px; }
  .la-gallery { grid-template-columns:1fr; }
  .la-gallery img { aspect-ratio:1.38; }
  .la-hero .la-buttons { flex-direction:column; align-items:flex-start; }
  .la-contacts { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
