.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}/* Start custom CSS for text-editor, class: .elementor-element-6d315c5 */:root{
  --dark:#1B2B27;      /* dark green: footer, cards, CTA */
  --accent:#B8683A;    /* copper/orange: buttons, eyebrow, underline */
  --accent-soft:#D9A57A;
  --sage:#C9D2CC;      /* light sage section bg */
  --cream:#F7F4EE;     /* soft cream cards */
  --text:#1A1A1A;
  --muted:#5F6B66;
  --line:#E3E0D8;
  --bg:#FFFFFF;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#FFFFFF;--text:#1A1A1A}}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Roboto',Arial,sans-serif;font-size:16px;line-height:1.6;color:var(--text);background:var(--bg)}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--accent)}
h1{font-size:40px;line-height:1.2;font-weight:700}
h2{font-size:32px;line-height:1.25;font-weight:700}
h3{font-size:20px;font-weight:700;color:var(--dark)}
.underline{display:block;width:90px;height:2px;background:var(--accent);margin-top:12px}

/* Hero */
.hero{background:var(--dark);color:#fff;padding:80px 0 72px}
.hero h1{color:#fff;margin-top:12px}
.hero p{margin-top:16px;color:#C9D2CC;max-width:620px;font-size:16px}

/* Main */
.main{padding:72px 0;background:var(--cream)}
.grid{display:grid;grid-template-columns:1fr 1.15fr;gap:32px;align-items:start}
.info{display:flex;flex-direction:column;gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px;box-shadow:0 6px 20px rgba(27,43,39,.06)}
.card.dark{background:var(--dark);border-color:var(--dark);color:#fff}
.card.dark h3{color:#fff}
.card h3{margin-bottom:14px;padding-bottom:12px;border-bottom:2px solid var(--accent);display:inline-block}
.branches{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.branch strong{display:block;font-size:14px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.branch address{font-style:normal;font-size:14px;color:var(--muted)}
.row{display:flex;gap:12px;align-items:flex-start;font-size:15px;margin-top:8px}
.row .ic{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:14px;flex:none}
.row a{color:inherit;text-decoration:none}
.row a:hover{color:var(--accent-soft)}
.hours{font-size:15px;color:#C9D2CC}
.hours b{color:#fff;font-weight:500}

/* Form card */
.formcard{padding:36px}
.formcard .eyebrow{display:block;margin-bottom:10px}
.formcard h2{font-size:24px;text-transform:uppercase;line-height:1.35;letter-spacing:.3px}
.formcard h2 span{color:var(--accent)}
.formbox{margin-top:24px}
/* Contact Form 7 styling (works on the real shortcode output too) */
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea,.wpcf7 select{
  width:100%;font:400 15px 'Roboto',sans-serif;padding:13px 14px;border:1px solid #D4D0C6;border-radius:4px;background:#fff;color:var(--text);margin-top:6px}
.wpcf7 textarea{min-height:120px;resize:vertical}
.wpcf7 input:focus,.wpcf7 textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(184,104,58,.15)}
.wpcf7 label{display:block;font-size:14px;font-weight:500;margin-bottom:16px}
.wpcf7 .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.wpcf7 input[type=submit],.wpcf7 button{background:var(--accent);color:#fff;border:0;border-radius:4px;padding:14px 32px;font:700 14px 'Roboto',sans-serif;letter-spacing:.5px;cursor:pointer;transition:background .2s}
.wpcf7 input[type=submit]:hover,.wpcf7 button:hover{background:var(--dark)}

/* Map */
.map{background:var(--sage);padding:72px 0}
.map .head{text-align:center;margin-bottom:32px}
.map .underline{margin:12px auto 0}
.mapframe{border-radius:6px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 6px 20px rgba(27,43,39,.08)}
.mapframe iframe{display:block;width:100%;height:420px;border:0}
.mapfallback{text-align:center;margin-top:20px}
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;font-size:14px;padding:14px 28px;border-radius:4px}
.btn.ghost{background:transparent;color:#fff;border:1px solid #fff}

/* CTA */
.cta{background:var(--dark);color:#fff;text-align:center;padding:64px 0}
.cta h2{color:#fff;font-size:32px}
.cta p{color:#C9D2CC;margin:12px 0 24px}

@media(max-width:860px){
  h1{font-size:30px}h2{font-size:26px}
  .grid{grid-template-columns:1fr}
  .branches,.wpcf7 .two{grid-template-columns:1fr}
  .formcard{padding:24px}
}

/* hero bubbles */
.hero{position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:2;pointer-events:none}
.ring{position:absolute;border:1px solid rgba(217,165,122,.35);border-radius:50%;animation:pulse 7s ease-in-out infinite}
.r1{width:420px;height:420px;left:-120px;top:-140px}
.r2{width:300px;height:300px;right:-60px;bottom:-120px;animation-delay:-3s}
.r3{width:160px;height:160px;right:18%;top:30px;border-color:rgba(184,104,58,.5);animation-delay:-5s}
.dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent);animation:float 6s ease-in-out infinite}
.d1{left:14%;bottom:50px}.d2{right:12%;top:90px;animation-delay:-2s;background:var(--accent-soft)}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.12);opacity:1}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
.bubbles{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.bub{position:absolute;bottom:-80px;border-radius:50%;pointer-events:auto;cursor:pointer;animation:rise var(--t) linear var(--dl) infinite}
.bub.pop{animation:pop .35s forwards!important}
@keyframes rise{0%{transform:translate(0,0) scale(.6);opacity:0}10%{opacity:1}50%{transform:translate(var(--x),calc(var(--h)*-.5)) scale(1)}100%{transform:translate(calc(var(--x)*-1),calc(var(--h)*-1)) scale(1.15);opacity:0}}
@keyframes pop{to{transform:scale(1.8);opacity:0}}
.bub{background:radial-gradient(circle at 30% 30%,rgba(255,220,190,.9),rgba(184,104,58,.55) 55%,rgba(184,104,58,.1));box-shadow:0 0 18px rgba(217,165,122,.5)}
.bub:nth-child(3n){background:none;border:2px solid rgba(217,165,122,.7);box-shadow:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}/* End custom CSS */