/*
Theme Name: A Creative Touch Elementor
Theme URI: https://acreativetouchllcpalmbeach.com/
Author: A Creative Touch LLC
Description: Lightweight custom theme built for Elementor Free and A Creative Touch LLC.
Version: 2.0.10
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: creative-touch-elementor
*/

:root {
  --act-ink: #0d0c0b;
  --act-charcoal: #171512;
  --act-cream: #f3eee5;
  --act-paper: #fbfaf7;
  --act-gold: #d5ad6d;
  --act-gold-dark: #8d6b3d;
  --act-copy: #5f5a52;
  --act-line: rgba(24, 21, 17, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--act-ink); background: var(--act-paper); font-family: "DM Sans", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.act-header { position: fixed; z-index: 999; inset: 0 0 auto; min-height: 112px; padding: 14px clamp(24px,5vw,78px); display: grid; grid-template-columns: 190px 1fr auto; align-items: center; gap: 26px; color: #fff; background: linear-gradient(180deg,rgba(8,7,6,.93),rgba(8,7,6,.78)); border-bottom: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(15px); }
.act-brand { display: flex; align-items: center; text-decoration: none; }
.act-brand img { display: block; width: 164px; height: 84px; object-fit: contain; }
.act-brand-text { font-family: Georgia,serif; font-size: 1.1rem; line-height: 1.05; }
.act-nav { justify-self: center; }
.act-nav ul { display: flex; align-items: center; gap: clamp(18px,2vw,34px); list-style: none; padding: 0; margin: 0; }
.act-nav a { position: relative; color: #fff; text-decoration: none; text-transform: uppercase; letter-spacing: .09em; font-size: .74rem; font-weight: 700; }
.act-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:1px; background:var(--act-gold); transition:right .25s ease; }
.act-nav a:hover::after,.act-nav .current-menu-item>a::after { right:0; }
.act-header-actions { display: flex; align-items: center; gap: 14px; }
.act-phone { color: #fff; text-decoration: none; font-weight: 700; white-space: nowrap; }
.act-social { display:flex; gap:8px; }
.act-social a { width: 38px; height: 38px; border:1px solid rgba(255,255,255,.3); border-radius:50%; display:grid; place-items:center; text-decoration:none; transition:.25s; }
.act-social a:hover { color:var(--act-ink); background:var(--act-gold); border-color:var(--act-gold); transform:translateY(-2px); }
.act-menu-toggle { display:none; width:44px; height:44px; border:1px solid rgba(255,255,255,.35); color:#fff; background:transparent; font-size:1.2rem; }

.site-main { min-height: 60vh; overflow: hidden; }
.elementor-section-wrap { overflow:hidden; }
.act-eyebrow { color: var(--act-gold-dark); text-transform: uppercase; letter-spacing: .16em; font-size: .74rem; font-weight: 700; }
.act-display h1,.act-display h2,.act-display h3,.act-display .elementor-heading-title { color:inherit !important; font-family: "Cormorant Garamond", Georgia, serif !important; font-weight: 600 !important; line-height: .98; letter-spacing: -.025em; }
.act-prose { max-width: 67ch; }
.act-prose,.act-prose p { color: var(--act-copy); font-size: 1.05rem; line-height: 1.75; }
.act-gold-text { color:var(--act-gold); }
.act-dark { background:var(--act-ink); color:#fff; }
.act-cream { background:var(--act-cream); }
.act-hero { min-height: min(900px,100svh); position:relative; display:flex; align-items:flex-end; background:var(--act-ink); }
.act-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,7,6,.92) 0%,rgba(8,7,6,.64) 47%,rgba(8,7,6,.18) 100%),linear-gradient(0deg,rgba(8,7,6,.72),transparent 55%); pointer-events:none; }
.act-hero>.e-con-inner { position:relative; z-index:2; }
.act-hero h1,.act-hero .elementor-heading-title { color:#fff !important; font-size:clamp(3.8rem,6vw,6.7rem); max-width:1120px; }
.act-hero .elementor-widget-text-editor { max-width:660px; color:rgba(255,255,255,.78); font-size:1.13rem; }
.act-page-hero { min-height:630px; position:relative; display:flex; align-items:flex-end; background:var(--act-ink); }
.act-page-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,7,6,.9),rgba(8,7,6,.25)),linear-gradient(0deg,rgba(8,7,6,.68),transparent 60%); pointer-events:none; }
.act-page-hero>.e-con-inner { position:relative; z-index:2; }
.act-page-hero h1,.act-page-hero .elementor-heading-title { color:#fff !important; font-size:clamp(3.5rem,6.5vw,7rem); max-width:1050px; }
.act-page-hero .elementor-widget-text-editor { color:rgba(255,255,255,.8); max-width:700px; }
.act-button .elementor-button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; padding:0 25px; border-radius:0 !important; background:var(--act-gold) !important; color:var(--act-ink) !important; font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.11em; box-shadow:none !important; transition:transform .2s,background .2s; }
.act-button .elementor-button:hover { background:#e5c38a; transform:translateY(-2px); }
.act-button-outline .elementor-button { background:transparent !important; color:#fff !important; border:1px solid rgba(255,255,255,.6); }
.act-button-outline .elementor-button:hover { background:#fff; color:var(--act-ink); }
.act-image-frame img { width:100%; height:100%; min-height:520px; object-fit:cover; }
.act-card { border-top:1px solid var(--act-line); padding-top:26px; }
.act-card .elementor-icon { color:var(--act-gold-dark); }
.act-card h3 { font-family:"Cormorant Garamond",Georgia,serif; font-size:2rem; line-height:1.05; }
.act-service-card { min-height:360px; padding:34px !important; border:1px solid var(--act-line); background:var(--act-paper); transition:background .3s,color .3s,transform .3s; }
.act-service-card:hover { background:var(--act-ink); color:#fff; transform:translateY(-5px); }
.act-service-card:hover p { color:rgba(255,255,255,.7); }
.act-service-card .elementor-icon { color:var(--act-gold-dark); font-size:34px; }
.act-review { padding:30px !important; background:#fff; border:1px solid #e5e1da; box-shadow:0 14px 40px rgba(30,25,18,.05); }
.act-review .elementor-icon-list-icon { color:#f5aa00; }
.act-owner img { min-height:620px; object-fit:cover; object-position:center 30%; }
.act-stat { border-left:1px solid var(--act-gold); padding-left:20px; }
.act-stat .elementor-heading-title { color:var(--act-gold); font-size:3rem; }
.act-gallery .gallery { display:grid !important; grid-template-columns:repeat(3,1fr); gap:12px; }
.act-gallery .elementor-image-gallery .gallery.gallery-columns-3 .gallery-item { width:100% !important; max-width:none !important; margin:0 !important; overflow:hidden; }
.act-gallery .gallery-icon { height:360px; }
.act-gallery .gallery-item:nth-child(4n+1) .gallery-icon { height:500px; }
.act-gallery .gallery-icon a { display:block; width:100%; height:100%; }
.act-gallery img { width:100%; height:100%; object-fit:cover; border:0 !important; transition:transform .7s ease,filter .4s; }
.act-gallery a:hover img { transform:scale(1.045); filter:brightness(.83); }
.act-process .elementor-icon-list-item { padding:17px 0 !important; border-bottom:1px solid var(--act-line); }
.act-process .elementor-icon-list-icon { color:var(--act-gold-dark); }
.act-faq .elementor-accordion-item { border-width:1px 0 0 !important; border-color:var(--act-line) !important; }
.act-faq .elementor-tab-title { padding:23px 0 !important; font-family:"Cormorant Garamond",Georgia,serif; font-size:1.35rem; }
.act-faq .elementor-tab-content { padding:0 0 24px !important; color:var(--act-copy); border:0 !important; }
.act-form { padding:clamp(26px,4vw,56px) !important; background:var(--act-cream); }
.act-form label { display:block; color:#4e4941; text-transform:uppercase; letter-spacing:.08em; font-size:.75rem; font-weight:700; margin-bottom:18px; }
.act-form input,.act-form select,.act-form textarea { width:100%; border:0; border-bottom:1px solid #9d9487; border-radius:0; background:transparent; padding:12px 2px; color:var(--act-ink); font-family:inherit; }
.act-form textarea { border:1px solid #9d9487; padding:14px; }
.act-form input[type=submit] { width:auto; min-height:52px; padding:0 26px; border:0; background:var(--act-gold); color:var(--act-ink); font-weight:800; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.act-form .wpcf7-not-valid-tip { text-transform:none; letter-spacing:0; margin-top:6px; }
.act-form .wpcf7-response-output { margin:20px 0 0 !important; }

.act-footer { position:relative; padding:78px clamp(24px,7vw,110px) 34px; display:grid; grid-template-columns:1.3fr .7fr .8fr; gap:55px; color:rgba(255,255,255,.7); background:var(--act-ink); }
.act-footer h2,.act-footer h3 { color:#fff; font-family:"Cormorant Garamond",Georgia,serif; }
.act-footer h2 { font-size:2rem; margin:0 0 12px; }
.act-footer h3 { font-size:1.15rem; margin:0 0 16px; }
.act-footer p { max-width:340px; line-height:1.7; }
.act-footer ul { list-style:none; padding:0; margin:0; }
.act-footer li { margin:9px 0; }
.act-footer a { text-decoration:none; }
.act-footer a:hover { color:var(--act-gold); }
.act-footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; gap:20px; padding-top:24px; margin-top:15px; border-top:1px solid rgba(255,255,255,.12); font-size:.76rem; }
.act-mobile-call { display:none; }

@media (max-width:1050px){
  .act-header { grid-template-columns:150px 1fr auto; padding-inline:22px; }
  .act-brand img { width:145px; }
  .act-nav ul { gap:15px; }
  .act-nav a { font-size:.67rem; }
  .act-social { display:none; }
}
@media (max-width:820px){
  body { padding-bottom:70px; }
  .act-header { min-height:96px; grid-template-columns:1fr auto; }
  .act-brand img { width:136px; height:76px; }
  .act-menu-toggle { display:block; }
  .act-nav { position:fixed; inset:96px 0 0; width:100vw; justify-self:stretch; padding:38px 28px; background:rgba(13,12,11,.98); transform:translateX(100vw); transition:transform .3s; }
  .act-nav.is-open { transform:translateX(0); }
  .act-nav ul { display:grid; align-content:start; gap:26px; }
  .act-nav a { font-family:"Cormorant Garamond",Georgia,serif; font-size:2rem; text-transform:none; letter-spacing:0; }
  .act-header-actions { display:none; }
  .act-hero { min-height:800px; }
  .act-page-hero { min-height:620px; }
  .act-owner img,.act-image-frame img { min-height:430px; }
  .act-gallery .gallery { grid-template-columns:repeat(2,1fr); }
  .act-gallery .gallery-icon,.act-gallery .gallery-item:nth-child(4n+1) .gallery-icon { height:300px; }
  .act-footer { grid-template-columns:1fr; gap:35px; padding-bottom:95px; }
  .act-footer-bottom { display:grid; }
  .act-mobile-call { position:fixed; z-index:1000; right:16px; bottom:16px; display:flex; align-items:center; gap:9px; min-height:52px; padding:0 20px; border-radius:28px; background:var(--act-gold); color:var(--act-ink); text-decoration:none; font-weight:800; box-shadow:0 12px 35px rgba(0,0,0,.3); }
}
@media (max-width:520px){
  .act-header { min-height:88px; padding:6px 16px; }
  .act-nav { inset:88px 0 0; }
  .act-brand img { width:125px; height:72px; }
  .act-hero h1,.act-page-hero h1 { font-size:clamp(3rem,14vw,4.4rem); }
  .act-gallery .gallery { grid-template-columns:1fr; }
  .act-gallery .gallery-icon,.act-gallery .gallery-item:nth-child(4n+1) .gallery-icon { height:360px; }
}
