/*
Theme Name: OPPSA Directory
Theme URI: https://oppsa.org/
Author: OPPSA
Description: OPPSA professional services directory with a native WordPress editorial homepage.
Version: 2.0.0
Text Domain: oppsa-directory
*/
:root{--ink:#080808;--paper:#f7f6f3;--red:#ef241b;--red-deep:#b81914;--line:#dedbd6;--serif:"Playfair Display",Georgia,serif;--sans:Manrope,Arial,sans-serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body.oppsa-preview-body{margin:0;background:var(--paper);color:var(--ink);font:15px var(--sans)}a{color:inherit}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.oppsa-shell{width:min(1240px,calc(100% - 48px));margin:0 auto}.oppsa-preview-page{overflow:hidden}
/* Header */
.oppsa-preview-header{position:relative;z-index:10;background:#fff;border-bottom:1px solid rgba(0,0,0,.07)}.oppsa-preview-header-inner{min-height:77px;display:flex;align-items:center;gap:34px}.oppsa-preview-brand{display:flex;align-items:center;line-height:0}.oppsa-preview-brand img{width:100px;height:56px;object-fit:contain}.oppsa-preview-nav{display:flex;gap:29px;margin-left:26px}.oppsa-preview-nav a,.oppsa-admin-link{font-size:11px;font-weight:800;text-decoration:none}.oppsa-preview-nav a:hover,.oppsa-admin-link:hover{color:var(--red)}.oppsa-preview-header-actions{display:flex;align-items:center;gap:23px;margin-left:auto}.oppsa-header-cta{background:#080808;color:#fff;text-decoration:none;padding:15px 18px;font-size:10px;font-weight:800}.oppsa-header-cta span{margin-left:8px}
/* Shared type and controls */
.oppsa-eyebrow{margin:0 0 24px;color:#676767;font:500 10px var(--mono);letter-spacing:.13em;text-transform:uppercase;display:flex;align-items:center;gap:10px}.oppsa-eyebrow span{display:block;width:19px;height:1px;background:var(--red)}.oppsa-eyebrow-light{color:#f1f1f1}.oppsa-red-button{min-height:46px;padding:0 18px;border:0;background:var(--red);color:#fff;font-size:10px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.oppsa-red-button:hover{background:var(--red-deep)}
/* Hero */
.oppsa-hero{min-height:548px;position:relative;color:#fff;background:#050505 var(--oppsa-hero-image) center/cover no-repeat;isolation:isolate}.oppsa-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.56) 48%,rgba(0,0,0,.16))}.oppsa-hero-inner{position:relative;min-height:548px;padding:78px 0 28px;display:flex;flex-direction:column;justify-content:space-between}.oppsa-hero-copy{max-width:755px}.oppsa-hero h1,.oppsa-location-band h2,.oppsa-section-heading h2,.oppsa-directory-band h2,.oppsa-trust-grid h2,.oppsa-business-grid h2,.oppsa-join-grid h2{margin:0;font:700 clamp(2.3rem,4.1vw,4.4rem)/.97 var(--serif);letter-spacing:-.058em}.oppsa-hero h1{font-size:clamp(2.8rem,5.1vw,5.35rem);letter-spacing:-.067em}.oppsa-hero h1 em,.oppsa-location-band h2 em,.oppsa-section-heading h2 em,.oppsa-trust-grid h2 em,.oppsa-business-grid h2 em,.oppsa-join-grid h2 em{color:var(--red);font-weight:600}.oppsa-hero-summary{max-width:560px;margin:22px 0 24px;line-height:1.7;font-size:14px;color:#eee}.oppsa-hero-search{height:53px;max-width:597px;display:grid;grid-template-columns:1.38fr .7fr 126px;background:#fff;color:var(--ink)}.oppsa-hero-search label{display:flex;align-items:center;padding:0 15px;border-right:1px solid #e5e5e5}.oppsa-hero-search input,.oppsa-hero-search select{appearance:none;border:0;outline:0;width:100%;background:transparent;color:#444;font:11px var(--sans)}.oppsa-hero-search button{border:0;background:var(--red);color:#fff;font:800 10px var(--sans);cursor:pointer}.oppsa-network-note{margin:16px 0 0;display:flex;align-items:center;gap:3px;font-size:9px;font-weight:700}.oppsa-network-note span{width:20px;height:20px;margin-left:-4px;border:1px solid #fff;border-radius:50%;background:var(--red);display:grid;place-items:center;font-size:7px}.oppsa-network-note span:first-child{margin-left:0}.oppsa-explore-link{align-self:flex-end;color:#fff;text-decoration:none;font:500 9px var(--mono);letter-spacing:.1em;text-transform:uppercase}.oppsa-explore-link span{padding-left:8px}.oppsa-marquee{min-height:38px;padding:0 20px;display:flex;align-items:center;justify-content:space-around;gap:28px;overflow:hidden;white-space:nowrap;background:#fff;font:500 9px var(--mono);letter-spacing:.11em;text-transform:uppercase}.oppsa-marquee b{color:var(--red)}
/* Intro, service, and directory bands */
.oppsa-location-band,.oppsa-directory-band,.oppsa-business-section,.oppsa-join-section{color:#fff;background:#080808}.oppsa-location-band{padding:73px 0;background:radial-gradient(circle at 82% 12%,rgba(239,36,27,.32),transparent 24%),#080808}.oppsa-location-grid{display:grid;grid-template-columns:1.2fr .55fr;gap:60px;align-items:end}.oppsa-location-grid>p{max-width:340px;margin:0;color:#d0d0d0;font-size:13px;line-height:1.65}.oppsa-service-section,.oppsa-sponsors-section,.oppsa-partner-section,.oppsa-notes-section{padding:92px 0 98px}.oppsa-section-heading{display:grid;grid-template-columns:1.1fr .85fr;gap:55px;align-items:end;margin-bottom:45px}.oppsa-section-heading>p{max-width:380px;margin:0;color:#555;font-size:13px;line-height:1.7}.oppsa-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.oppsa-service-card{min-height:265px;padding:21px;display:flex;flex-direction:column;border:1px solid #d8d5d0;background:#fff;text-decoration:none;transition:transform .2s,box-shadow .2s}.oppsa-service-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(0,0,0,.08)}.oppsa-service-card>span{color:var(--red);font:500 11px var(--mono)}.oppsa-service-card h3{margin:27px 0 12px;font:700 20px/1.05 var(--serif);letter-spacing:-.03em}.oppsa-service-card p{margin:0;color:#626262;font-size:12px;line-height:1.65}.oppsa-service-card strong{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:10px}.oppsa-service-card i{color:var(--red);font-style:normal}.oppsa-directory-band{padding:77px 0}.oppsa-directory-band-grid{display:flex;justify-content:space-between;align-items:end;gap:50px}.oppsa-directory-band-grid>div:last-child{max-width:340px}.oppsa-directory-band-grid p{color:#cbcbcb;font-size:13px;line-height:1.65}
/* Bodyguard trust section */
.oppsa-trust-section{padding:95px 0;background:#fff}.oppsa-trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.oppsa-trust-art{height:412px;background:linear-gradient(50deg,rgba(239,36,27,.40),rgba(3,3,3,.07)),var(--oppsa-trust-image) center 10%/cover no-repeat;border-radius:2px}.oppsa-trust-grid>div:last-child>p:not(.oppsa-eyebrow){max-width:490px;color:#595959;line-height:1.7}.oppsa-trust-grid ul{display:grid;gap:14px;margin:28px 0 0;padding:0;list-style:none;font-size:12px;font-weight:800}.oppsa-trust-grid li::first-letter{color:var(--red)}
/* Sponsor, partner and business */
.oppsa-sponsors-section{background:#fff}.oppsa-sponsor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.oppsa-sponsor-card{position:relative;min-height:252px;overflow:hidden;border:1px solid #4a4a4a;background:#080808 var(--oppsa-sponsor-scene) center/cover no-repeat;color:#fff}.oppsa-sponsor-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.68),rgba(0,0,0,.92))}.oppsa-sponsor-card:hover{border-color:var(--red)}.oppsa-sponsor-logo-bg{position:absolute;z-index:1;top:18px;left:50%;width:54%;height:120px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center}.oppsa-sponsor-logo-bg img{max-width:100%;max-height:100%;object-fit:contain;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 52%,rgba(0,0,0,.25));mask-image:linear-gradient(90deg,#000 0%,#000 52%,rgba(0,0,0,.25))}.oppsa-sponsor-card-content{position:absolute;z-index:2;right:0;bottom:14px;left:0;padding:0 65px;text-align:center}.oppsa-sponsor-card-content h3{margin:0;color:var(--red);font:700 18px/1.15 var(--serif);letter-spacing:-.025em;text-shadow:0 2px 5px #000}.oppsa-sponsor-card-content p{max-width:430px;margin:8px auto;color:#eee;font-size:10px;line-height:1.5}.oppsa-sponsor-profile-link{position:absolute;right:10px;top:-222px;padding:3px 5px;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.3);color:#fff;text-decoration:none;font:700 6px var(--sans);text-transform:uppercase}.oppsa-sponsor-profile-link:hover{border-color:var(--red);background:var(--red)}.oppsa-partner-section{background:#fff}.oppsa-partner-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d6d2cc;border-left:1px solid #d6d2cc}.oppsa-partner-grid a{min-height:54px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;border-right:1px solid #d6d2cc;border-bottom:1px solid #d6d2cc;text-decoration:none;font-size:11px;font-weight:800}.oppsa-partner-grid a:hover{background:#080808;color:#fff}.oppsa-partner-grid b{color:var(--red)}.oppsa-business-section{padding:94px 0}.oppsa-business-grid{display:grid;grid-template-columns:1fr .93fr;gap:100px;align-items:start}.oppsa-business-grid>div>p:not(.oppsa-eyebrow){max-width:520px;margin:24px 0 28px;color:#cdcdcd;font-size:14px;line-height:1.75}.oppsa-featured-offer{padding:30px;background:#fff;color:#111}.oppsa-offer-kicker{margin:0 0 16px;color:var(--red);font:500 10px var(--mono);letter-spacing:.09em;text-transform:uppercase}.oppsa-featured-offer h3{margin:0 0 19px;font:700 29px/1.07 var(--serif);letter-spacing:-.035em}.oppsa-featured-offer p{color:#5b5b5b;font-size:12px;line-height:1.65}.oppsa-featured-offer a{display:inline-flex;margin-top:22px;color:#111;text-decoration:none;font-size:11px;font-weight:800}.oppsa-featured-offer a:hover{color:var(--red)}.oppsa-featured-offer small{display:block;margin-top:11px;color:#777;font-size:10px}
/* Editorial notes, CTA, and footer */
.oppsa-notes-section{background:#f4f2ed}.oppsa-notes-grid{display:grid;grid-template-columns:1.28fr 1fr .66fr;gap:14px}.oppsa-notes-grid article{min-height:470px;padding:25px;border:1px solid #ded9d2;background:#fff}.oppsa-notes-grid article:first-child{background:#080808;color:#fff}.oppsa-notes-grid article:first-child h3{color:#fff;font-size:clamp(2rem,3.2vw,3.25rem)}.oppsa-notes-grid article:first-child p{color:#c9c9c9}.oppsa-notes-grid article:first-child a{color:#fff}.oppsa-notes-grid span{display:block;color:var(--red);font:500 9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.oppsa-notes-grid h3{margin:22px 0 13px;font:700 23px/1.08 var(--serif);letter-spacing:-.035em}.oppsa-notes-grid p{color:#666;font-size:11px;line-height:1.55}.oppsa-notes-grid a{color:#111;text-decoration:none;font-size:10px;font-weight:800}.oppsa-join-section{padding:92px 0}.oppsa-join-grid{display:flex;align-items:end;justify-content:space-between;gap:60px}.oppsa-join-grid p:not(.oppsa-eyebrow){max-width:510px;color:#c9c9c9;line-height:1.65}.oppsa-inverse-button{padding:18px 20px;background:#fff;color:#000;text-decoration:none;font-size:11px;font-weight:800}.oppsa-preview-footer{padding:55px 0 23px;background:#fff}.oppsa-preview-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:35px}.oppsa-footer-logo{width:120px;height:70px;object-fit:contain;margin-bottom:13px}.oppsa-preview-footer p{max-width:300px;color:#666;font-size:11px;line-height:1.7}.oppsa-preview-footer a{display:block;margin:0 0 10px;color:#222;text-decoration:none;font-size:11px}.oppsa-preview-footer a:hover{color:var(--red)}.oppsa-footer-kicker{margin:10px 0 16px!important;color:#111!important;font:500 10px var(--mono)!important;letter-spacing:.09em;text-transform:uppercase}.oppsa-preview-footer-bottom{margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;border-top:1px solid #e5e2dd;color:#777;font:500 9px var(--mono);letter-spacing:.05em;text-transform:uppercase}
/* Native directory fallback */
.oppsa-directory-native{min-height:70vh;padding:50px 0;background:var(--paper)}.oppsa-directory-container{width:min(1240px,calc(100% - 48px));margin:auto}.oppsa-listing-card,.oppsa-profile-contact{padding:22px;border:1px solid var(--line);background:#fff}.oppsa-directory-filters,.oppsa-listing-grid,.oppsa-profile-grid{display:grid;gap:16px}.oppsa-listing-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:680px){.oppsa-shell,.oppsa-directory-container{width:min(100% - 32px,1240px)}.oppsa-preview-header-inner{min-height:64px}.oppsa-preview-brand img{width:78px;height:48px}.oppsa-preview-nav,.oppsa-admin-link,.oppsa-header-cta{display:none}.oppsa-hero,.oppsa-hero-inner{min-height:590px}.oppsa-hero-inner{padding-top:65px}.oppsa-hero h1{font-size:42px}.oppsa-hero-search{height:auto;grid-template-columns:1fr}.oppsa-hero-search label{height:48px;border-right:0;border-bottom:1px solid #eee}.oppsa-hero-search button{height:48px}.oppsa-location-grid,.oppsa-section-heading,.oppsa-trust-grid,.oppsa-business-grid{grid-template-columns:1fr;gap:24px}.oppsa-service-grid,.oppsa-sponsor-grid,.oppsa-notes-grid,.oppsa-listing-grid{grid-template-columns:1fr}.oppsa-service-section,.oppsa-sponsors-section,.oppsa-partner-section,.oppsa-notes-section,.oppsa-business-section{padding:62px 0}.oppsa-trust-art{height:350px;background-position:center 10%}.oppsa-sponsor-card-content{padding:0 40px}.oppsa-partner-grid{grid-template-columns:1fr}.oppsa-join-grid{display:block}.oppsa-inverse-button{display:inline-block;margin-top:22px}.oppsa-preview-footer-grid{grid-template-columns:1fr 1fr}.oppsa-preview-footer-bottom{gap:10px;flex-direction:column}}

/* Exact parity with the live preview: a full-width bodyguard scene fades into the right-hand copy column. */
.oppsa-trust-section{position:relative;isolation:isolate;overflow:hidden;background:#fff url('assets/bodyguard-tahoe-editorial-b.jpg') left center/cover no-repeat}.oppsa-trust-section::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,.18) 28%,rgba(255,255,255,.76) 54%,rgba(255,255,255,.97) 74%,#fff 100%)}.oppsa-trust-grid{position:relative;z-index:1;grid-template-columns:1fr 1fr;gap:80px;min-height:560px}.oppsa-trust-art{height:auto;background:none!important;border-radius:0}.oppsa-trust-grid>div:last-child{max-width:490px}.oppsa-trust-grid h2{font-size:clamp(2.3rem,4.1vw,4.4rem)}@media(max-width:680px){.oppsa-trust-section{background-position:30% top}.oppsa-trust-section::before{background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.70) 47%,#fff 74%)}.oppsa-trust-grid{grid-template-columns:1fr;min-height:520px;gap:0}.oppsa-trust-art{display:none}}

/* The supplied portrait has deliberate headroom; keep the image top locked so cover sizing never removes it. */
.oppsa-trust-section{background-position:left top!important}@media(max-width:680px){.oppsa-trust-section{background-position:30% top!important}}
