/* Tim Bloomfield — contact pill, lead forms, Text Tim. Navy #1e3653 · gold #e1a730 */
:root{--tb-navy:#1e3653;--tb-navy2:#152843;--tb-gold:#e1a730;--tb-gold2:#e09900;--tb-ink:#1b2430;--tb-grey:#5d6773;--tb-line:rgba(30,54,83,.14);--tb-bg:#f6f5f1;--tb-ease:cubic-bezier(.2,.7,.2,1)}
.tb-fab,.tb-fab *,.tbm,.tbm *,.tb-inline,.tb-inline *,.tb-top{box-sizing:border-box}
.et_pb_scroll_top{display:none!important}

/* ---------- pill ---------- */
.tb-fab{position:fixed;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:100001;display:flex;flex-direction:column;align-items:flex-end;font-family:'Open Sans',Arial,sans-serif;transition:opacity .4s,transform .5s var(--tb-ease)}
.tb-fabbtn{display:flex;align-items:center;gap:0;height:54px;padding:0 22px;border:0;border-radius:999px;background:var(--tb-gold);color:var(--tb-navy2);font:700 15px/1 'Open Sans',Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 26px rgba(21,40,67,.28);transition:transform .25s var(--tb-ease),background .25s,color .25s}
.tb-fabbtn:hover{transform:translateY(-2px)}
.tb-fabbtn:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px var(--tb-navy)}
.tb-fabbtn svg{width:21px;height:21px;margin-right:9px}
.tb-fabbtn .x{display:none;align-items:center}.tb-fabbtn .o{display:flex;align-items:center}
.tb-fab.open .tb-fabbtn{background:var(--tb-navy);color:#fff}
.tb-fab.open .tb-fabbtn .o{display:none}.tb-fab.open .tb-fabbtn .x{display:flex}
.tb-roll{margin-top:6px;height:18px;overflow:hidden;align-self:center;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--tb-navy);font:600 11.5px/18px 'Open Sans',Arial,sans-serif;box-shadow:0 4px 12px rgba(21,40,67,.14);transition:opacity .25s}
.tb-roll div{display:flex;flex-direction:column;animation:tb-roll 12.5s cubic-bezier(.7,0,.3,1) infinite}
.tb-roll span{height:18px;line-height:18px;white-space:nowrap;text-align:center}
.tb-fab.open .tb-roll{opacity:0}
@keyframes tb-roll{0%,16%{transform:translateY(0)}20%,36%{transform:translateY(-18px)}40%,56%{transform:translateY(-36px)}60%,76%{transform:translateY(-54px)}80%,96%{transform:translateY(-72px)}100%{transform:translateY(-90px)}}
.tb-menu{position:absolute;right:0;bottom:84px;width:360px;max-width:calc(100vw - 32px);max-height:calc(100vh - 120px);overflow:auto;background:var(--tb-bg);color:var(--tb-ink);border:1px solid var(--tb-line);border-radius:20px;padding:10px;box-shadow:0 24px 60px rgba(21,40,67,.28);opacity:0;visibility:hidden;transform:translateY(12px) scale(.97);transform-origin:right bottom;transition:all .32s var(--tb-ease)}
.tb-fab.open .tb-menu{opacity:1;visibility:visible;transform:none}
.tb-mhead{display:flex;gap:12px;align-items:center;padding:10px 12px 14px;border-bottom:1px dashed rgba(30,54,83,.22);margin-bottom:6px}
.tb-mhead img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:2px solid var(--tb-gold);flex:0 0 46px}
.tb-mhead b{display:block;font:700 17px/1.2 'Playfair Display',Georgia,serif;color:var(--tb-navy)}
.tb-mhead span{display:block;font-size:13px;color:var(--tb-grey);margin-top:3px}
.tb-menu a{display:flex;align-items:center;gap:13px;padding:8px 10px;border-radius:14px;text-decoration:none!important;color:var(--tb-ink)!important;opacity:0;transform:translateY(6px);transition:background .2s,opacity .3s var(--tb-ease),transform .3s var(--tb-ease)}
.tb-fab.open .tb-menu a{opacity:1;transform:none}
.tb-fab.open .tb-menu a:nth-of-type(2){transition-delay:.03s}.tb-fab.open .tb-menu a:nth-of-type(3){transition-delay:.06s}.tb-fab.open .tb-menu a:nth-of-type(4){transition-delay:.09s}.tb-fab.open .tb-menu a:nth-of-type(5){transition-delay:.12s}.tb-fab.open .tb-menu a:nth-of-type(6){transition-delay:.15s}.tb-fab.open .tb-menu a:nth-of-type(7){transition-delay:.18s}
.tb-menu a:hover,.tb-menu a:focus-visible{background:#fff;outline:none}
.tb-menu a:focus-visible{box-shadow:inset 0 0 0 2px var(--tb-navy)}
.tb-ic{flex:0 0 40px;height:40px;border-radius:50%;background:#e8e6de;color:var(--tb-navy);display:grid;place-items:center}
.tb-ic svg{width:19px;height:19px}
.tb-menu a.hl .tb-ic{background:var(--tb-navy);color:#fff}
.tb-tx b{display:block;font-size:15px;font-weight:700;color:var(--tb-navy)}
.tb-tx small{display:block;font-size:12.5px;color:var(--tb-grey);margin-top:1px;line-height:1.35}
@media (max-width:960px){
  .tb-fab{right:12px;bottom:calc(14px + env(safe-area-inset-bottom));opacity:0;transform:translateY(16px);pointer-events:none}
  .tb-fab.on,.tb-fab.open{opacity:1;transform:none;pointer-events:auto}
  .tb-fabbtn{height:46px;padding:0 17px;font-size:13px}
  .tb-fabbtn svg{width:18px;height:18px;margin-right:7px}
  .tb-roll{display:none}
  .tb-menu{width:310px;bottom:60px;padding:8px}
  .tb-menu a{padding:7px 8px;gap:11px}
  .tb-ic{flex-basis:36px;height:36px}
  .tb-tx b{font-size:14px}.tb-tx small{font-size:12px}
}

/* ---------- back to top (bottom-left) ---------- */
.tb-top{position:fixed;left:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:100000;width:52px;height:52px;border-radius:50%;border:0;padding:0;background:var(--tb-navy);color:#fff;cursor:pointer;display:grid;place-items:center;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .35s,transform .45s var(--tb-ease)}
.tb-top.on{opacity:1;transform:none;pointer-events:auto}
.tb-top svg.ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.tb-top .ring circle{fill:none;stroke-width:3}
.tb-top .ring .bg{stroke:rgba(255,255,255,.18)}.tb-top .ring .fg{stroke:var(--tb-gold);stroke-dasharray:151;stroke-dashoffset:151;transition:stroke-dashoffset .1s linear}
.tb-top .arw{width:20px;height:20px;position:relative;animation:tb-bob 2.4s ease-in-out infinite}
.tb-top:focus-visible{outline:3px solid var(--tb-gold);outline-offset:3px}
@keyframes tb-bob{0%,100%{transform:translateY(1px)}50%{transform:translateY(-3px)}}
@media (max-width:960px){.tb-top{left:12px;bottom:calc(14px + env(safe-area-inset-bottom));width:46px;height:46px}}

/* ---------- modal ---------- */
.tbm{position:fixed;inset:0;z-index:100010;display:flex;align-items:center;justify-content:center;padding:16px;font-family:'Open Sans',Arial,sans-serif;visibility:hidden;opacity:0;transition:opacity .25s,visibility .25s}
.tbm.on{visibility:visible;opacity:1}
.tbm-bg{position:absolute;inset:0;background:rgba(21,40,67,.62);backdrop-filter:blur(3px)}
.tbm-card{position:relative;width:520px;max-width:100%;max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:18px;border-top:6px solid var(--tb-gold);box-shadow:0 30px 80px rgba(0,0,0,.35);padding:28px 28px 24px;transform:translateY(14px) scale(.98);transition:transform .35s var(--tb-ease)}
.tbm.on .tbm-card{transform:none}
.tbm-x{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;border:0;background:#f1efe8;color:var(--tb-navy);cursor:pointer;display:grid;place-items:center}
.tbm-x:hover{background:#e6e3d8}.tbm-x svg{width:18px;height:18px}
.tbm-x:focus-visible{outline:3px solid var(--tb-navy);outline-offset:2px}
@media (max-width:600px){.tbm{align-items:flex-end;padding:0}.tbm-card{border-radius:18px 18px 0 0;max-height:92vh;padding:24px 18px calc(20px + env(safe-area-inset-bottom))}}

/* ---------- shared form ---------- */
.tbf{color:var(--tb-ink);font-size:15px;line-height:1.5}
.tbf h3{font:700 26px/1.2 'Playfair Display',Georgia,serif!important;color:var(--tb-navy)!important;margin:0 40px 6px 0!important;padding:0!important}
.tbf .lead{color:var(--tb-grey);font-size:14.5px;margin:0 0 18px;padding:0}
.tbf .prog{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tb-grey)}
.tbf .bar{flex:1;height:4px;border-radius:4px;background:#ebe8df;overflow:hidden}
.tbf .bar i{display:block;height:100%;width:25%;background:var(--tb-gold);transition:width .35s var(--tb-ease)}
.tbf p{padding-bottom:0!important}
.tbf .q{font:700 19px/1.3 'Open Sans',Arial,sans-serif;color:var(--tb-navy);margin:0 0 12px}
.tbf .q small{display:block;font-weight:400;font-size:13.5px;color:var(--tb-grey);margin-top:3px}
.tbf .chips{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.tbf .chips.one{grid-template-columns:1fr}
.tbf .chips.four{grid-template-columns:repeat(4,1fr)}
.tbf .chip{display:flex;align-items:center;gap:9px;min-height:50px;padding:10px 14px;border:1.5px solid #d9d5c8;border-radius:12px;background:#fff;color:var(--tb-navy);font:600 14.5px/1.25 'Open Sans',Arial,sans-serif;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .15s}
.tbf .chip:hover{border-color:var(--tb-gold);background:#fffaf0}
.tbf .chip:active{transform:scale(.98)}
.tbf .chip[aria-pressed="true"]{border-color:var(--tb-navy);background:var(--tb-navy);color:#fff}
.tbf .chip:focus-visible{outline:3px solid var(--tb-gold);outline-offset:2px}
.tbf .chip svg{width:18px;height:18px;flex:0 0 18px}
.tbf .chips.four .chip{flex-direction:column;justify-content:center;gap:5px;text-align:center;font-size:13px;padding:10px 6px}
.tbf .chips.four .chip svg{width:20px;height:20px}
.tbf .step{display:none}.tbf .step.on{display:block;animation:tb-in .3s var(--tb-ease)}
@keyframes tb-in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
.tbf label.f{display:block;margin:12px 0 0;font-size:13px;font-weight:700;color:var(--tb-navy)}
.tbf label.f em{font-style:normal;font-weight:400;color:var(--tb-grey)}
.tbf input[type=text],.tbf input[type=tel],.tbf input[type=email],.tbf textarea{display:block;width:100%;margin:5px 0 0;padding:12px 13px;border:1.5px solid #d9d5c8;border-radius:10px;background:#fff;color:var(--tb-ink);font:400 16px/1.35 'Open Sans',Arial,sans-serif;box-shadow:none;transition:border-color .2s}
.tbf textarea{min-height:84px;resize:vertical}
.tbf input:focus,.tbf textarea:focus{outline:none;border-color:var(--tb-navy);box-shadow:0 0 0 3px rgba(30,54,83,.12)}
.tbf input[aria-invalid="true"]{border-color:#b3261e}
.tbf .err{display:none;color:#b3261e;font-size:12.5px;margin-top:4px}
.tbf .err.on{display:block}
.tbf .row2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.tbf .consent{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;font-size:12.5px;line-height:1.45;color:var(--tb-grey);cursor:pointer}
.tbf .consent input{width:18px;height:18px;margin:1px 0 0;flex:0 0 18px;accent-color:var(--tb-navy)}
.tbf .acts{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.tbf .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border:0;border-radius:999px;background:var(--tb-gold);color:var(--tb-navy2)!important;font:700 14px/1 'Open Sans',Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none!important;cursor:pointer;transition:background .2s,transform .2s}
.tbf .btn:hover{background:var(--tb-gold2);transform:translateY(-1px)}
.tbf .btn.navy{background:var(--tb-navy);color:#fff!important}
.tbf .btn.navy:hover{background:var(--tb-navy2)}
.tbf .btn:focus-visible{outline:3px solid var(--tb-navy);outline-offset:3px}
.tbf .btn[disabled]{opacity:.6;cursor:wait}
.tbf .btn svg{width:17px;height:17px}
.tbf .back{border:0;background:none;color:var(--tb-grey);font:600 14px 'Open Sans',Arial,sans-serif;cursor:pointer;padding:8px 2px;text-decoration:underline;text-underline-offset:3px}
.tbf .skip{display:inline-block;margin-top:12px}
.tbf .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.tbf .note{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#fdf6e6;color:var(--tb-ink);font-size:13.5px}
.tbf .note a{color:var(--tb-navy);font-weight:700}
.tbf .done{text-align:center;padding:10px 0 4px}
.tbf .done .tick{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:var(--tb-navy);display:grid;place-items:center}
.tbf .done .tick svg{width:30px;height:30px;color:var(--tb-gold)}
.tbf .done .tick path{stroke-dasharray:30;stroke-dashoffset:30;animation:tb-draw .5s .15s forwards}
@keyframes tb-draw{to{stroke-dashoffset:0}}
.tbf .done h3{margin:0 0 8px!important}
.tbf .done .acts{justify-content:center;flex-wrap:wrap}
/* Text Tim preview bubble */
.tbf .bubble{position:relative;margin:16px 0 4px;padding:14px 16px;border-radius:18px 18px 4px 18px;background:#1f8bff;color:#fff;font-size:15px;line-height:1.45;min-height:52px;transition:opacity .2s}
.tbf .bubble.dim{opacity:.45}
.tbf .bubble-to{font-size:12px;color:var(--tb-grey);text-align:right;margin-top:4px}
.tbf .opening{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:14px;font-size:14px;font-weight:600;color:var(--tb-navy)}
.tbf .spin{width:16px;height:16px;border:2px solid #d9d5c8;border-top-color:var(--tb-navy);border-radius:50%;animation:tb-spin .8s linear infinite}
@keyframes tb-spin{to{transform:rotate(360deg)}}
/* Text / WhatsApp send buttons */
.tbf .tt-send{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tbf .tt-send .btn{width:100%;min-height:52px;font-size:14.5px}
.tbf .btn.wa{background:#128c4a;color:#fff!important}
.tbf .btn.wa:hover{background:#0e733c}
.tbf .tt-send.off .btn{opacity:.45;cursor:not-allowed;transform:none}
/* inline (contact / talk-to-rep pages) */
.tb-inline{max-width:640px;margin:0 auto;background:#fff;border-radius:18px;border-top:6px solid var(--tb-gold);box-shadow:0 18px 50px rgba(21,40,67,.18);padding:28px;text-align:left}
.et_pb_column_2_3 .tb-inline{margin:0}
@media (max-width:600px){.tbf .chips{grid-template-columns:1fr}.tbf .chips.two{grid-template-columns:1fr 1fr}.tbf .chips.two .chip{min-height:46px;padding:8px 12px;font-size:14px}.tbf .chips.four{grid-template-columns:1fr 1fr}.tbf .row2{grid-template-columns:1fr}.tb-inline{padding:22px 16px}.tbf h3{font-size:23px!important}}
@media (prefers-reduced-motion:reduce){.tb-roll div,.tb-top .arw{animation:none}.tbf .step.on{animation:none}}

/* ---------- home: app section on white (it now sits between two navy sections) ---------- */
html body div.et_pb_section.et_pb_section_9{background-image:conic-gradient(from 180deg at center,#fff 57%,rgba(12,12,12,.44) 57%),url(/wp-content/uploads/2023/02/family-front-house-drawing-sketch-scaled-1.webp)!important}
html body div.et_pb_section.et_pb_section_10{background-image:none!important;background-color:#fff!important}
.et_pb_section_9 .et_pb_row_11 .et_pb_text,.et_pb_section_9 .et_pb_row_11 .et_pb_text :not([style*="color: #e"]),
.et_pb_section_9 .et_pb_column_28 .et_pb_text,.et_pb_section_9 .et_pb_column_28 .et_pb_text *,
.et_pb_section_10 .et_pb_text,.et_pb_section_10 .et_pb_text :not([style*="color: #e"]){color:#1e3653!important}

/* ---------- phones: the original theme's negative button margins pushed pages wider than the screen ---------- */
html{overflow-x:hidden}
body{overflow-x:hidden;max-width:100%}
#page-container{overflow-x:hidden}
@supports (overflow:clip){html,body,#page-container{overflow-x:clip}}

/* ---------- header: the original theme left an empty dark bar above the menu; keep only its gold line ---------- */
.et_pb_section_0_tb_header.et_pb_section{padding:0!important;box-shadow:none!important}
.et_pb_section_0_tb_header .et_pb_row{display:none!important}
@media (max-width:980px){.et_pb_section_1_tb_header>.et_pb_row{margin-top:0!important}}
/* tablets: logo and menu button on one row (the original stacked a huge logo on a white band) */
@media (min-width:768px) and (max-width:980px){
  .et_pb_row_1_tb_header{display:flex!important;align-items:center;justify-content:space-between}
  .et_pb_row_1_tb_header>.et_pb_column{width:auto!important;margin:0!important;float:none!important}
  .et_pb_image_0_tb_header{width:240px!important;max-width:240px!important;margin:10px 0 10px 24px!important;padding:0!important}
  .et_pb_menu_0_tb_header{margin:0 24px 0 0!important;width:auto!important}
}
@media (min-width:768px) and (max-width:980px){
  .et_pb_row_1_tb_header>.et_pb_column_2_tb_header{flex:1 1 auto}
  .et_pb_menu_0_tb_header .et_pb_menu__wrap{justify-content:flex-end}
}
/* keyboard users can see where they are */
a:focus-visible,button:focus-visible{outline:3px solid #e1a730;outline-offset:2px}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media (max-width:767px){.et_pb_image_0_tb_header{margin-left:14px!important}}
/* phone: keep the footer line clear of the floating buttons */
@media (max-width:767px){#main-footer #footer-bottom{padding-bottom:84px!important}}
/* phones up to small tablets: keep the logo one size so the header never outgrows the hero overlap */
@media (max-width:767px){.et_pb_image_0_tb_header,.et_pb_image_0_tb_header .et_pb_image_wrap,.et_pb_image_0_tb_header img{max-width:136px!important;width:136px!important}}
/* v17: Info pill has no shadow; a soft gold ring pulses out from it instead */
.tb-fab{padding:10px;right:6px;bottom:max(6px,calc(env(safe-area-inset-bottom) - 4px))}
.tb-fabbtn,.tb-fabbtn:hover{box-shadow:none!important;position:relative}
.tb-fabbtn::after{content:"";position:absolute;inset:0;border-radius:999px;border:1.5px solid var(--tb-gold);opacity:0;pointer-events:none;animation:tb-pulse 3.6s ease-out infinite}
.tb-fab.open .tb-fabbtn::after{animation:none}
@keyframes tb-pulse{0%{inset:0;opacity:.35}55%,100%{inset:-6px;opacity:0}}
.tb-menu{right:10px;bottom:94px}
@media (max-width:960px){.tb-fab{right:2px;bottom:calc(4px + env(safe-area-inset-bottom))}.tb-menu{bottom:70px}}
@media (prefers-reduced-motion:reduce){.tb-fabbtn::after{animation:none}}
