/*
Theme Name: Landframe
Description: A WordPress theme for Landframe Developments Ltd.
Version: 1.4.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: landframe
*/
:root{--ink:#172b37;--dark:#10232e;--paper:#f7f3eb;--white:#fffdf8;--gold:#b38d5e;--muted:#4c5a60;--line:#d9d1c3;--wrap:1240px;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}
img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.18em}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a87532;outline-offset:4px}
h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);line-height:1.07;letter-spacing:-.028em;font-weight:400}h1{font-size:clamp(3rem,6.7vw,6.25rem)}h2{font-size:clamp(2rem,4vw,3.65rem)}h3{font-size:clamp(1.45rem,2.7vw,2rem)}p{max-width:72ch}
.lf-wrap{width:min(var(--wrap),calc(100% - 7rem));margin-inline:auto}
.lf-skip{position:absolute;z-index:10;left:1rem;top:1rem;transform:translateY(-200%);background:white;padding:.6rem}.lf-skip:focus{transform:none}
.lf-header{background:var(--paper);border-bottom:1px solid var(--line)}
.lf-top{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:1.2rem}
.lf-logo{width:155px;flex:none;display:block}.lf-logo img{width:100%}
.lf-nav ul{display:flex;align-items:center;gap:clamp(.75rem,1.6vw,1.6rem);list-style:none;padding:0;margin:0;flex-wrap:wrap}
.lf-nav a{text-decoration:none;font-weight:600;font-size:.81rem;white-space:nowrap}.lf-nav a:hover,.lf-nav [aria-current]{text-decoration:underline}
.lf-mobile{display:none}
.lf-button,.lf-btn .elementor-button,.wp-block-button.lf-btn .wp-block-button__link{display:inline-flex;justify-content:center;align-items:center;min-height:47px;padding:.7rem 1.17rem;background:var(--ink);color:var(--white);border:1px solid var(--ink);border-radius:0;text-decoration:none;font-weight:650;font-family:var(--sans);font-size:.85rem;line-height:1.3}
.lf-button:hover,.lf-btn .elementor-button:hover,.wp-block-button.lf-btn .wp-block-button__link:hover{background:#284451;color:white}
.lf-secondary .elementor-button,.wp-block-button.lf-secondary .wp-block-button__link,.lf-button.lf-secondary{background:transparent;color:var(--ink)}
.lf-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--white)}
.lf-hero-inner{display:grid!important;grid-template-columns:1fr 1.08fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(2.8rem,6.8vw,6rem) 0}
.lf-hero-inner.lf-no-image{grid-template-columns:1fr;max-width:var(--wrap)}
.lf-hero-copy{display:flex!important;flex-direction:column;align-items:flex-start;gap:1.25rem;min-width:0}
.lf-hero-copy h1{color:var(--white);max-width:13ch}
.lf-hero-copy p:not(.lf-kicker){color:#e8e4da;font-size:clamp(1rem,1.4vw,1.18rem);max-width:52ch}
.lf-kicker,.lf-kicker p{font:650 .72rem/1.45 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#72532d}
.lf-hero .lf-kicker,.lf-hero .lf-kicker p,.lf-footer .lf-kicker{color:#e3bd87}
.lf-hero-media{margin:0!important;position:relative;min-width:0}
.lf-hero-media img{width:100%;aspect-ratio:6/5;object-fit:cover;object-position:center}
.lf-visual-caption,.lf-visual-caption p,.lf-hero-media figcaption{font:500 .73rem/1.4 var(--sans);color:#e8e4da;margin:.55rem 0 0}
.lf-hero .lf-btn .elementor-button,.lf-hero .wp-block-button.lf-btn .wp-block-button__link,.lf-hero .lf-button{background:#e8c99d;color:#14252d;border-color:#e8c99d}
.lf-hero .lf-secondary .elementor-button,.lf-hero .wp-block-button.lf-secondary .wp-block-button__link,.lf-hero .lf-button.lf-secondary{background:transparent;color:var(--white);border-color:#d4c0a5}
.lf-hero .lf-button:hover,.lf-hero .lf-btn a:hover{background:var(--white);color:var(--ink)}
.lf-actions{display:flex!important;gap:.75rem;flex-wrap:wrap;margin-top:.3rem}
.lf-section{padding:clamp(3rem,6vw,5.4rem) 0;border-bottom:1px solid var(--line)}
.lf-section-inner{display:flex!important;flex-direction:column;align-items:stretch;gap:.95rem}
.lf-section-inner>p:not(.lf-kicker){color:var(--muted)}
.lf-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.35rem}
.lf-grid.lf-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.lf-card{background:var(--white);border:1px solid var(--line);padding:1.55rem;display:flex!important;flex-direction:column;gap:.8rem;align-items:flex-start;min-width:0}
.lf-card p{color:var(--muted)}.lf-card a:not(.elementor-button):hover{color:#765332}
.lf-card .lf-btn .elementor-button,.lf-card .wp-block-button.lf-btn .wp-block-button__link{margin-top:.45rem}
.lf-footer{background:var(--dark);color:var(--white);padding:3.4rem 0 1.1rem}
.lf-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
.lf-footer h2{font-size:clamp(1.7rem,3vw,2.7rem);margin:.5rem 0 1rem}.lf-footer h3{font-size:1.2rem;margin-bottom:.7rem}.lf-footer ul{list-style:none;padding:0;margin:0}.lf-footer li{margin:.35rem 0}.lf-footer a{text-decoration:none}.lf-footer a:hover{text-decoration:underline}
.lf-footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.7rem;margin-top:2rem;border-top:1px solid #6c777a;padding-top:.9rem;font-size:.8rem;color:#dfdbd2}
.lf-form{max-width:820px;background:var(--white);border:1px solid var(--line);padding:clamp(1.2rem,3vw,2.2rem);margin-top:1rem;display:grid;gap:1rem}
.lf-form .lf-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.lf-form label{display:block;font-size:.88rem;font-weight:650}.lf-form label span{display:block;margin-bottom:.3rem}
.lf-form input:not([type=checkbox]),.lf-form select,.lf-form textarea{border:1px solid #9caaa9;background:white;color:var(--ink);padding:.6rem .7rem;border-radius:0;width:100%;min-height:44px}.lf-form textarea{min-height:108px;resize:vertical}
.lf-form .lf-consent{font-weight:450}.lf-consent input{margin-right:.35rem}.lf-form .lf-button{justify-self:start}
.lf-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.lf-notice{background:#e4ebdf;border-left:3px solid #41653b;padding:.75rem 1rem}.lf-notice.lf-error{background:#f7e6e2;border-color:#993f3f}
.lf-blog-head{padding:clamp(2.8rem,6vw,5rem) 0;background:var(--ink);color:var(--white)}.lf-blog-head h1{margin:.5rem 0 .8rem}.lf-blog-head .lf-kicker{color:#e3bd87}
.lf-blog-grid{padding:2rem 0 4rem}.lf-blog-card{background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column}.lf-blog-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.lf-blog-card-copy{padding:1.4rem}.lf-blog-card-copy>*+*{margin-top:.7rem}.lf-blog-card a{text-decoration:none}.lf-blog-card a:hover{text-decoration:underline}
.lf-article{width:min(760px,calc(100% - 3rem));margin:0 auto;padding:3.8rem 0}.lf-article h1{font-size:clamp(2.5rem,5vw,4.75rem);margin:.6rem 0 1rem}.lf-article h2{font-size:clamp(1.65rem,3.6vw,2.45rem);margin:1.7rem 0 .5rem}.lf-article .entry-content p,.lf-article .entry-content ul{margin:0 0 1rem}.lf-article figure{margin:1.2rem 0}.lf-article figcaption{font-size:.78rem;color:var(--muted)}.lf-article .lf-button{margin-top:1.4rem}
.lf-pagination{margin-top:2rem}.lf-pagination a,.lf-pagination span{display:inline-block;padding:.2rem .5rem}
.lf-elementor .e-con.lf-hero,.lf-elementor .e-con.lf-section{max-width:none!important;width:100%;--padding-inline-start:0;--padding-inline-end:0}
.lf-elementor .elementor .e-con.lf-wrap{width:min(var(--wrap),calc(100% - 7rem));max-width:none;margin-inline:auto;--padding-inline-start:0;--padding-inline-end:0}
.lf-elementor .elementor .lf-hero-inner{padding:clamp(2.8rem,6.8vw,6rem) 0}
.lf-elementor .elementor .lf-card{padding:1.55rem}
.lf-elementor .elementor .lf-actions>.elementor-widget{width:auto}
.lf-elementor .elementor .lf-hero-media img{width:100%}
@media(max-width:980px){.lf-wrap,.lf-elementor .elementor .e-con.lf-wrap{width:calc(100% - 4rem)}.lf-top{flex-wrap:wrap;padding:1rem 0}.lf-nav{order:3;width:100%}}
@media(max-width:660px){.lf-wrap,.lf-elementor .elementor .e-con.lf-wrap{width:calc(100% - 2rem)}.lf-top{min-height:0;gap:.8rem}.lf-logo{width:130px}.lf-header-cta{display:none}.lf-mobile{display:block;padding:.4rem .7rem;border:1px solid var(--ink);background:transparent;color:var(--ink)}.lf-nav ul{gap:.4rem 1rem}.lf-nav li{padding:.25rem 0}.lf-nav[hidden]{display:none}.lf-hero-inner,.lf-hero-inner.lf-no-image{grid-template-columns:1fr;gap:1.65rem}.lf-hero-media img{aspect-ratio:5/4}.lf-grid,.lf-grid.lf-two,.lf-footer-grid,.lf-form .lf-fields{grid-template-columns:1fr}.lf-footer-grid{gap:1.5rem}.lf-article{padding:2.5rem 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
/* Starter typography and spacing take precedence over the Elementor default kit. */
.lf-elementor .elementor .elementor-heading-title{font-family:var(--serif);font-weight:400;line-height:1.07;letter-spacing:-.028em;color:var(--ink)}
.lf-elementor .elementor h1.elementor-heading-title{font-size:clamp(3rem,6.7vw,6.25rem)}
.lf-elementor .elementor h2.elementor-heading-title{font-size:clamp(2rem,4vw,3.65rem)}
.lf-elementor .elementor h3.elementor-heading-title{font-size:clamp(1.45rem,2.7vw,2rem)}
.lf-elementor .elementor .lf-hero h1.elementor-heading-title{color:var(--white)}
.lf-elementor .elementor .lf-section.e-con{padding:clamp(3rem,6vw,5.4rem) 0}
.lf-elementor .elementor .lf-actions{flex-direction:row;justify-content:flex-start;padding:0}
.lf-elementor .elementor .lf-hero-copy,.lf-elementor .elementor .lf-hero-media,.lf-elementor .elementor .lf-grid{padding:0}
.lf-elementor .elementor .lf-section .lf-btn .elementor-button{background:var(--ink);color:var(--white)}
.lf-elementor .elementor .lf-section .lf-secondary .elementor-button{background:transparent;color:var(--ink)}
.lf-elementor .elementor .lf-section .lf-btn .elementor-button:hover{background:#284451;color:white}
.lf-elementor .elementor .lf-section-inner .elementor-widget-text-editor:not(.lf-kicker) p{color:var(--muted)}
.lf-elementor .elementor .lf-section-inner .lf-kicker p{color:#72532d}
.lf-card-media{margin:-1.55rem -1.55rem .3rem!important;width:calc(100% + 3.1rem)!important;padding:0!important;gap:0!important}
.lf-card-media figure{margin:0}
.lf-card-media img{width:100%;aspect-ratio:16/9;object-fit:cover}
.lf-card-media .lf-visual-caption,.lf-elementor .elementor .lf-card-media .lf-visual-caption p{color:var(--muted);margin:.4rem .85rem 0}
.lf-card:only-child{grid-column:1/-1}
.lf-showcase{background:#eee8dc}
.lf-showcase:nth-of-type(even){background:var(--paper)}
.lf-showcase-grid:empty{display:none!important}
.lf-showcase-grid .lf-card:only-child{grid-column:auto}
.lf-showcase-card img,.lf-showcase-card video{width:100%;aspect-ratio:16/9;object-fit:cover}
.lf-showcase-card video{object-fit:contain;background:var(--dark)}
.lf-showcase-card figure{margin:0;width:100%}
.lf-showcase-empty{padding:1.25rem 1.5rem;background:var(--white);border-left:2px solid var(--gold);max-width:720px}
.lf-showcase-empty a{display:inline-block;margin-top:.55rem;font-weight:650}
.lf-showcase-card figcaption{font-size:.72rem;color:var(--muted);margin-top:.3rem}
.lf-showcase-grid:has(> :only-child){grid-template-columns:minmax(0,540px)}

/* Place the actual Gutenberg children into the same layouts as Elementor. */
:is(.lf-hero-inner,.lf-hero-copy,.lf-actions,.lf-section-inner,.lf-grid,.lf-card,.lf-location-inner) > .wp-block-group__inner-container {
  display: contents;
}
:is(.lf-hero-inner,.lf-hero-copy,.lf-actions,.lf-section-inner,.lf-grid,.lf-card,.lf-location-inner) > .wp-block-group__inner-container > * {
  margin-block: 0;
  min-width: 0;
}
.lf-hero-media .wp-block-image,.lf-location-media .wp-block-image {margin:0}
.lf-hero-media .wp-block-group__inner-container > .lf-visual-caption,
.lf-location-media .wp-block-group__inner-container > .lf-visual-caption {margin:.55rem 0 0}
.lf-hero-inner {grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}
.lf-location-inner {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(1.7rem,4vw,4rem)}
.lf-location-media {margin:0!important;min-width:0}
.lf-location-media img {width:100%;aspect-ratio:16/9;object-fit:cover}
.lf-location-media .lf-visual-caption,.lf-location-media .lf-visual-caption p {color:var(--muted)}
.lf-elementor .elementor .lf-location-media,.lf-elementor .elementor .lf-location-inner > .lf-section-inner {padding:0}
@media(max-width:660px){
  .lf-hero-inner,.lf-location-inner {grid-template-columns:minmax(0,1fr)}
}


.lf-team-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.lf-team-card,.lf-elementor .elementor .lf-team-card{padding:0 0 1.2rem;gap:0}
.lf-team-card figure{margin:0;width:100%}
.lf-team-card .elementor-widget-image{width:100%}
.lf-team-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--line)}
.lf-team-card h3,.lf-team-card .elementor-widget-heading{margin:1rem 0 .25rem}
.lf-team-card :is(h3,p){padding-inline:1rem}
.lf-team-card h3,.lf-elementor .elementor .lf-team-card h3{font-size:clamp(1.15rem,2vw,1.65rem);line-height:1.13}
.lf-team-card p{font-size:.9rem}
@media(max-width:900px){.lf-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:355px){.lf-team-grid{grid-template-columns:1fr}}

.lf-home-hero .lf-hero-inner,.lf-elementor .elementor .lf-home-hero .lf-hero-inner{position:static;display:flex!important;justify-content:center;align-items:flex-start;flex-direction:column;min-height:clamp(34rem,65vw,47rem)}
.lf-home-hero .lf-hero-media{position:absolute;inset:0;z-index:-2;width:100%;max-width:none}
.lf-home-hero .lf-hero-media :is(.wp-block-group__inner-container,.wp-block-image,.elementor-widget-image,.elementor-widget-container){height:100%;margin:0;width:100%}
.lf-home-hero .lf-hero-media img{display:block;height:100%;width:100%;object-fit:cover;object-position:66% center}
.lf-home-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,30,42,.96),rgba(12,30,42,.82) 35%,rgba(12,30,42,.26) 76%,rgba(12,30,42,.15));pointer-events:none}
.lf-home-hero .lf-hero-media .lf-visual-caption{position:absolute;bottom:.85rem;right:1rem;z-index:1;color:#fff;background:#172b37;padding:.25rem .45rem;margin:0}
.lf-home-hero .lf-hero-copy{width:100%;max-width:52rem}
.lf-home-hero .lf-hero-copy h1,.lf-elementor .elementor .lf-home-hero h1.elementor-heading-title{max-width:none;font-family:var(--sans);font-weight:400;font-size:clamp(2.45rem,5.45vw,5.5rem);letter-spacing:-.06em;line-height:1.06}
.lf-home-hero h1 em{color:#e8c99d;font-family:var(--serif);font-weight:400}
.lf-home-hero .lf-actions{flex-wrap:wrap}
.lf-why,.lf-elementor .elementor .lf-why{padding:0;background:#102c3d;color:#fff;display:grid!important;grid-template-columns:1.08fr 1fr;gap:0}
.lf-why > .wp-block-group__inner-container,.lf-partner-copy > .wp-block-group__inner-container{display:contents}
.lf-why-media{position:relative;min-width:0;min-height:25rem;padding:0!important}
.lf-why-media :is(.wp-block-group__inner-container,.wp-block-image,.elementor-widget-image,.elementor-widget-container){width:100%;height:100%;margin:0}
.lf-why-media img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.lf-why-media .lf-visual-caption{position:absolute;bottom:.85rem;right:1rem;background:#172b37;color:#fff;padding:.25rem .45rem}
.lf-why-copy,.lf-elementor .elementor .lf-why-copy{min-width:0;padding:clamp(2rem,7vw,7rem);align-self:center}
.lf-why-copy h2,.lf-elementor .elementor .lf-why-copy h2{color:#fff;font-family:var(--sans);font-weight:400;letter-spacing:-.045em}
.lf-why-copy p{color:#e8e4da;max-width:47ch}
.lf-why-copy .lf-kicker,.lf-why-copy .lf-kicker p{color:#e8c99d}
.lf-why-copy .lf-btn a,.lf-why-copy .lf-btn .elementor-button{color:#fff;border-color:#d4c0a5;margin-top:1.2rem}
.lf-partner-section h2{max-width:22ch}
.lf-partner-section .lf-section-inner > p{max-width:56ch}
.lf-partner-grid{gap:clamp(1rem,2vw,1.8rem);margin-top:2rem}
.lf-partner-card,.lf-elementor .elementor .lf-partner-card{padding:0;background:#efe7d7;gap:0}
.lf-partner-media,.lf-elementor .elementor .lf-partner-media{position:relative;width:100%;padding:0}
.lf-partner-media figure{margin:0}
.lf-partner-media img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.lf-partner-media .lf-visual-caption{position:absolute;bottom:.65rem;right:.65rem;background:#172b37;color:#fff;padding:.25rem .45rem}
.lf-partner-copy,.lf-elementor .elementor .lf-partner-copy{padding:clamp(1.25rem,3vw,2.5rem);width:100%;display:flex;flex-direction:column;gap:.65rem;flex:1}
.lf-partner-copy :is(.wp-block-buttons,.elementor-widget-button){margin-top:auto}
@media(max-width:720px){
  .lf-home-hero::after{background:linear-gradient(90deg,rgba(12,30,42,.92),rgba(12,30,42,.57))}
  .lf-home-hero .lf-hero-media img{object-position:62% center}
  .lf-why,.lf-elementor .elementor .lf-why,.lf-partner-grid.lf-two{grid-template-columns:minmax(0,1fr)}
  .lf-why-media{min-height:clamp(13rem,56vw,23rem)}
}
.lf-why-copy .wp-block-button.lf-secondary .wp-block-button__link,
.lf-elementor .elementor .lf-why-copy .lf-secondary .elementor-button{color:#fff;border-color:#d4c0a5}
.lf-why-copy .wp-block-button.lf-secondary .wp-block-button__link:hover,
.lf-elementor .elementor .lf-why-copy .lf-secondary .elementor-button:hover{color:var(--ink);background:var(--white)}
