/*
Theme Name: 4Front Property
Author: AA Media Studios
Description: Responsive black and gold property services theme, designed for Elementor Free and the 4Front Site Builder.
Version: 1.2.0
Requires at least: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: fourfront
*/
:root{--gold:#d6b55c;--gold-light:#f3d982;--ink:#121617;--muted:#626767;--paper:#f6f5f0;--line:#e3e1d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:white;font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}a{color:inherit}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}a,button,input,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid #b88c27}.ff-wrap{width:min(1180px,calc(100% - 48px));margin:auto}.ff-header{background:var(--ink);color:white;position:relative;z-index:20;border-bottom:1px solid #ffffff19}.ff-nav{min-height:100px;display:flex;align-items:center;gap:30px;justify-content:space-between}.ff-brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.15;flex-shrink:0}.ff-brand img{width:62px;height:62px;object-fit:cover;object-position:top}.ff-brand strong{display:block;font-size:23px;letter-spacing:1px}.ff-brand small{font-size:10px;letter-spacing:1.7px}.ff-menu{list-style:none;display:flex;gap:26px;padding:0;margin:0;align-items:center}.ff-menu a{text-decoration:none;font-size:14px;font-weight:700}.ff-menu a:hover,.ff-menu .current-menu-item>a{color:var(--gold)}.ff-btn,.ff-content .elementor-button{display:inline-flex;justify-content:center;align-items:center;gap:12px;border:1px solid var(--gold);border-radius:3px;background:linear-gradient(130deg,var(--gold-light),var(--gold));color:#141819;text-decoration:none;padding:15px 25px;font-size:14px;line-height:1.4;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s}.ff-btn:hover,.ff-content .elementor-button:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0002;color:#141819}.ff-outline .elementor-button,.ff-btn-outline{background:transparent;color:inherit}.ff-toggle{display:none;background:transparent;color:white;border:1px solid #ffffff60;border-radius:3px;padding:9px 13px;cursor:pointer}.skip-link{position:absolute;top:-100px;left:15px;background:var(--gold);padding:10px;z-index:100}.skip-link:focus{top:10px}.ff-content .elementor-section.elementor-section-boxed>.elementor-container{max-width:1180px}.ff-content .ff-section{padding:74px 24px}.ff-content .ff-section .elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding:14px}.ff-content .ff-hero{min-height:590px;display:flex;align-items:center;padding-top:80px;padding-bottom:80px;background-color:var(--ink);background-size:cover;background-position:center}.ff-content .ff-hero h1{font-size:clamp(40px,4.6vw,64px);letter-spacing:-2px;line-height:1.06;font-weight:800;max-width:740px;margin:0}.ff-content .ff-hero .elementor-widget-text-editor{max-width:600px;font-size:19px;line-height:1.6}.ff-content h2{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-1px;font-weight:750}.ff-content h3{font-size:23px;line-height:1.25;letter-spacing:-.4px}.ff-content h1,.ff-content h2,.ff-content h3{font-family:Arial,Helvetica,sans-serif}.ff-content .elementor-widget-heading .elementor-heading-title{font-family:inherit;line-height:inherit}.ff-content p{margin:0 0 18px}.ff-content p:last-child{margin-bottom:0}.ff-kicker .elementor-heading-title{font-size:12px!important;letter-spacing:2px!important;text-transform:uppercase;color:#96701a!important}.ff-hero .ff-kicker .elementor-heading-title,.ff-dark .ff-kicker .elementor-heading-title{color:var(--gold)!important}.ff-content .ff-trust{padding:12px 24px;background:var(--paper);border-bottom:1px solid var(--line);text-align:center}.ff-content .ff-trust p{font-size:14px;margin:0;font-weight:700}.ff-content .ff-card>.elementor-element-populated{background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:28px!important;margin:10px;transition:box-shadow .2s}.ff-content .ff-card:hover>.elementor-element-populated{box-shadow:0 8px 28px #0000000d}.ff-content .ff-card h3{font-size:23px;line-height:1.2}.ff-content .ff-card p{font-size:16px;color:#545c5d}.ff-content .ff-card .elementor-button{padding:0;border:0;background:none;color:#735413;box-shadow:none;justify-content:flex-start}.ff-content .ff-card .ff-kicker .elementor-heading-title{font-size:31px!important;letter-spacing:-1px!important;color:#9c7b2e!important}.ff-content .ff-grid{padding-top:0;padding-bottom:0}.ff-content .ff-grid-last{padding-bottom:70px}.ff-content .ff-dark{background:var(--ink);color:white}.ff-content .ff-paper{background:var(--paper)}.ff-content .ff-cta{background:linear-gradient(120deg,#f3da8a,#c6a34d);color:#121617;padding-top:42px;padding-bottom:42px}.ff-content .ff-cta .elementor-button{background:var(--ink);color:white;border-color:var(--ink)}.ff-content ul{padding-left:22px}.ff-content li{margin-bottom:10px}.ff-content .ff-image img{border-radius:5px;width:100%;object-fit:cover;max-height:470px}.ff-footer{background:var(--ink);color:#c9cbca;padding:55px 0 24px}.ff-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.ff-footer h2{color:white;font-size:17px;letter-spacing:0}.ff-footer ul{list-style:none;margin:0;padding:0}.ff-footer a{font-size:14px;text-decoration:none}.ff-footer a:hover{color:var(--gold)}.ff-footer p{font-size:14px}.ff-footer-bottom{border-top:1px solid #ffffff22;margin-top:35px;padding-top:20px;font-size:12px}.ff-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:850px}.ff-field{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:700}.ff-field input,.ff-field select,.ff-field textarea{width:100%;padding:13px;border:1px solid #c6cac8;border-radius:3px;background:white;color:#121617;font-weight:400}.ff-field textarea{resize:vertical;min-height:155px}.ff-full{grid-column:1/-1}.ff-form small{font-size:13px;font-weight:400}.ff-check{display:flex;align-items:flex-start;gap:10px;font-size:14px}.ff-check input{width:20px;height:20px;flex-shrink:0}.ff-hp{position:absolute;left:-9999px}.ff-notice{border-left:4px solid #96701a;background:#fbf2da;padding:16px;margin-bottom:24px}.ff-details a{display:block;overflow-wrap:anywhere}.ff-standard{padding:70px 24px;max-width:1180px;margin:auto}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}@media(max-width:1000px){.ff-menu{gap:16px}.ff-header .ff-nav>.ff-btn{display:none}}@media(max-width:767px){.ff-wrap{width:calc(100% - 32px)}.ff-nav{min-height:82px}.ff-brand img{width:48px;height:48px}.ff-brand strong{font-size:20px}.ff-toggle{display:block}.ff-header nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--ink);border-top:1px solid #ffffff30;padding:18px 24px}.ff-header nav.is-open{display:block}.ff-menu{flex-direction:column;align-items:stretch;gap:0}.ff-menu a{display:block;padding:12px 0}.ff-content .ff-section{padding:45px 16px}.ff-content .ff-hero{min-height:610px;background-position:64% center;padding-top:65px;padding-bottom:55px}.ff-content .ff-hero h1{font-size:43px;letter-spacing:-1.5px}.ff-content .ff-hero .elementor-widget-text-editor{font-size:17px}.ff-content .ff-trust{padding:12px 16px}.ff-content .ff-trust .elementor-column{width:100%!important}.ff-content .ff-trust .elementor-element-populated{padding:9px!important}.ff-content .ff-grid{padding-top:0;padding-bottom:0}.ff-content .ff-grid-last{padding-bottom:40px}.ff-content .ff-card>.elementor-element-populated{margin:7px 0}.ff-content .ff-section .elementor-column{width:100%!important}.ff-content .ff-cta{padding:25px 16px}.ff-footer-grid{grid-template-columns:1fr;gap:20px}.ff-form{grid-template-columns:1fr}.ff-full{grid-column:auto}.ff-content .elementor-button{width:100%}.ff-content .ff-card .elementor-button{width:auto}.ff-content h2{font-size:31px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.ff-content .ff-section h1.elementor-heading-title{font-size:clamp(38px,4.6vw,64px);line-height:1.08;letter-spacing:-1.8px}.ff-content .ff-section h2.elementor-heading-title{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-1px}.ff-content .ff-section h3.elementor-heading-title{font-size:23px;line-height:1.25;letter-spacing:-.4px}.ff-content .ff-section .ff-kicker .elementor-heading-title{line-height:1.5}.ff-content .ff-hero .elementor-widget-button{margin-bottom:10px}

/* Elementor editable service photography */
.ff-service-photo img{display:block;width:100%;height:260px;object-fit:cover;border-radius:8px}
.ff-imagery-support .ff-service-photo img{height:420px}
.ff-card .ff-service-photo{margin-bottom:20px}
@media(max-width:767px){.ff-service-photo img{height:220px}.ff-imagery-support .ff-service-photo img{height:250px}}
