@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400&display=swap');

.fx-visual-symbol{--fx-symbol-blue:#008DD2;--fx-symbol-red:#E31D24;display:grid;place-items:center;pointer-events:none;user-select:none}.fx-visual-symbol svg{width:100%;height:100%;overflow:visible}.fx-visual-symbol .p{fill:none;stroke:var(--fx-symbol-blue);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.fx-visual-symbol .s{fill:none;stroke:var(--fx-symbol-red);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}

.fx-page-card,.fx-support-card,.fx-page-cta,.fx-message-aside,.fx-call-card,.fx-faq-item{position:relative;overflow:hidden}
.fx-page-card>.fx-visual-symbol--card{width:54px;height:54px;margin:0 0 18px;opacity:.96}
.fx-page-card>.fx-visual-symbol--card::after{content:"";position:absolute;width:92px;height:92px;right:-26px;top:-25px;border-radius:999px;background:color-mix(in srgb,var(--fx-symbol-blue) 7%,transparent);z-index:-1}
.fx-page-card h3{position:relative;z-index:1}

.fx-support-card>.fx-visual-symbol--action{width:46px;height:46px;margin:0 0 16px}.fx-support-card.fx-support-primary>.fx-visual-symbol--action{opacity:.96}
.fx-support-card>.fx-visual-symbol--action::after{content:"";position:absolute;width:104px;height:104px;right:-28px;bottom:-32px;border:2px solid color-mix(in srgb,var(--fx-symbol-red) 15%,transparent);border-radius:999px;z-index:-1}

.fx-page-cta>.fx-visual-symbol--cta{position:absolute;right:26px;top:50%;transform:translateY(-50%);width:82px;height:82px;opacity:.11}.fx-page-cta>*:not(.fx-visual-symbol){position:relative;z-index:1}.fx-page-cta{padding-right:120px}
.fx-message-aside>.fx-visual-symbol--section{position:absolute;right:18px;top:18px;width:88px;height:88px;opacity:.12}.fx-message-aside>*:not(.fx-visual-symbol){position:relative;z-index:1}.fx-message-aside{padding-right:92px}
.fx-call-card>.fx-visual-symbol--action{width:38px;height:38px;margin-bottom:10px}

.fx-faq-item>.fx-visual-symbol--faq{position:absolute;right:54px;top:13px;width:30px;height:30px;opacity:.28}.fx-faq-item summary{padding-right:92px}

.fx-contact-hero::after{content:"";position:absolute;right:clamp(18px,6vw,84px);top:50%;width:clamp(96px,15vw,190px);height:clamp(96px,15vw,190px);transform:translateY(-50%);opacity:.075;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M11 14h42v29H29L17 53V43h-6V14Z' fill='none' stroke='%23008DD2' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='M20 24h24M20 32h16' fill='none' stroke='%23F31D24' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E")}.fx-contact-hero{position:relative;overflow:hidden}.fx-contact-hero .fx-contact-shell{position:relative;z-index:1;padding-right:clamp(0px,16vw,200px)}

/* Owner real-device polish: keep all image-led service cards centered and complete. */
.fx-service-card{display:block;min-width:0;overflow:hidden}.fx-service-card .fx-card-image{display:block;width:100%;overflow:hidden}.fx-service-card .fx-card-image img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center center!important;margin:0!important}

/* Field Notes should explain the image at a glance instead of presenting an unlabeled photo. */
.fx-guides-home .fx-article-card{position:relative;overflow:hidden}.fx-guides-home .fx-article-card>a{position:relative;display:block;min-height:300px;background:#0b2148}.fx-guides-home .fx-article-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.fx-guides-home .fx-article-card>a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,25,45,.04) 24%,rgba(6,25,45,.82) 78%,rgba(6,25,45,.94) 100%);pointer-events:none}.fx-guides-home .fx-article-card div{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:22px;color:#fff;background:transparent}.fx-guides-home .fx-article-card div>span{color:#b9e5fb}.fx-guides-home .fx-article-card h3{margin:6px 0 6px;color:#fff;line-height:1.12}.fx-guides-home .fx-article-card p{margin:0;color:#e6eef5;line-height:1.45}.fx-guides-home .fx-article-card em{display:inline-block;margin-top:10px;color:#fff;font-style:normal;font-weight:800}

/* One signature treatment everywhere: deterministic embedded handwriting face plus the existing reference outline heart. */
.fx-made-in-sf,.fx-approved-bridge figcaption,.fx-area-photo figcaption{font-family:"Caveat",cursive!important;font-weight:400!important;letter-spacing:-.045em!important}.fx-made-in-sf>span,.fx-approved-bridge figcaption>span,.fx-area-photo figcaption>span{display:inline-block!important;width:31px!important;height:28px!important;margin-left:6px!important;font-size:0!important;line-height:0!important;vertical-align:middle!important;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 31'%3E%3Cpath d='M17 29C13 24 2 17 2 9.5 2 4.8 5.4 2 9.7 2 12.8 2 15.2 3.7 17 6.5 18.8 3.7 21.2 2 24.3 2 28.6 2 32 4.8 32 9.5 32 17 21 24 17 29Z' fill='none' stroke='%23F31D24' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;color:transparent!important;text-shadow:none!important}

@media(max-width:700px){.fx-page-card>.fx-visual-symbol--card{width:44px;height:44px;margin-bottom:14px}.fx-page-cta{padding-right:76px}.fx-page-cta>.fx-visual-symbol--cta{right:14px;width:56px;height:56px}.fx-message-aside{padding-right:64px}.fx-message-aside>.fx-visual-symbol--section{width:58px;height:58px}.fx-contact-hero .fx-contact-shell{padding-right:0}.fx-contact-hero::after{right:-28px;top:22px;transform:none;width:112px;height:112px;opacity:.055}.fx-service-card .fx-card-image{height:158px!important}.fx-guides-home .fx-article-grid{grid-template-columns:1fr!important;gap:14px!important}.fx-guides-home .fx-article-card>a{min-height:270px}.fx-guides-home .fx-article-card div{padding:20px}.fx-guides-home .fx-article-card p{font-size:14px}.fx-made-in-sf{font-size:17px!important}}

@media(prefers-reduced-motion:reduce){.fx-visual-symbol{transition:none!important}}

/* Field Notes contrast guard: keep overlaid article copy readable on dark photos. */
html body.fx-home-v2 .fx-guides-home .fx-article-card > a::after{background:linear-gradient(180deg,rgba(6,25,45,.08) 10%,rgba(6,25,45,.83) 63%,rgba(6,25,45,.97) 100%)!important}
html body.fx-home-v2 .fx-guides-home .fx-article-card h3,
html body.fx-home-v2 .fx-guides-home .fx-article-card a h3{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.5)!important}
html body.fx-home-v2 .fx-guides-home .fx-article-card p{color:#f2f7fc!important}
html body.fx-home-v2 .fx-guides-home .fx-article-card div>span{color:#d8f1ff!important}
html body.fx-home-v2 .fx-guides-home .fx-article-card em{color:#fff!important}
