/* AOI Blocks: editable page sections for Attorneys Online */
.aoib{--aoib-red:#C81F36;--aoib-red-dark:#A3152B;--aoib-ink:#111;--aoib-text:#444;--aoib-line:#D9D9D9;position:relative;padding:84px 0;color:var(--aoib-ink);font-family:inherit;overflow-x:clip}
.aoib *,.aoib *::before,.aoib *::after{box-sizing:border-box}
.aoib-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 28px}
.aoib-bg-white{background:#fff}
.aoib-bg-light{background:#F7F7F7}
.aoib-bg-gray{background:#EBEBEB;border-top:1px solid #D6D6D6;border-bottom:1px solid #D6D6D6}
.aoib-bg-dark{background:#000;color:#fff}

.aoib .aoib-eyebrow{margin:0 0 16px;font-size:13px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#444}
.aoib-bg-dark .aoib-eyebrow{color:#fff}
.aoib .aoib-heading{margin:0 0 18px;font-size:clamp(32px,4.2vw,52px);line-height:1.07;letter-spacing:normal;font-weight:700;color:var(--aoib-ink)}
.aoib h1.aoib-heading{font-size:clamp(40px,5.4vw,70px);font-weight:800;line-height:1.02}
.aoib-bg-dark .aoib-heading{color:#fff}
.aoib .aoib-body,.aoib .aoib-intro{font-size:19px;line-height:1.7;color:var(--aoib-text)}
.aoib .aoib-intro{max-width:820px;margin:0}
.aoib-bg-dark .aoib-body,.aoib-bg-dark .aoib-intro{color:#D9D9D9}
.aoib .aoib-body p{margin:0 0 1em}
.aoib .aoib-body p:last-child{margin-bottom:0}
.aoib .aoib-body a{color:var(--aoib-red);font-weight:700}
.aoib-bg-dark .aoib-body a{color:#fff}
.aoib .aoib-body ul{margin:0 0 1em;padding-left:22px}

.aoib .aoib-btn{display:inline-block;margin-top:26px;padding:15px 24px;border-radius:999px;background:var(--aoib-red);color:#fff;font-weight:800;line-height:1.2;text-decoration:none;transition:background .15s ease}
.aoib .aoib-btn:hover,.aoib .aoib-btn:focus-visible{background:var(--aoib-red-dark);color:#fff}
.aoib .aoib-link{display:inline-block;margin-top:22px;color:var(--aoib-red);font-weight:800;text-decoration:none}
.aoib .aoib-link:hover{color:var(--aoib-red-dark);text-decoration:underline}
.aoib-bg-dark .aoib-link{color:#fff}
.aoib-after{margin-top:12px}

/* Placeholder shown in the editor only */
.aoib-placeholder{padding:28px;border:2px dashed #C9C9C9;border-radius:12px;background:#FAFAFA;color:#555;font-size:15px;line-height:1.5;text-align:center}

/* ---------- Video player (click to play) ---------- */
.aoib-video{position:relative;width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000}
.aoib-video.is-vertical{aspect-ratio:9/16;max-width:360px}
.aoib-play{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;margin:0;border:0;background:#000;cursor:pointer}
.aoib-play .aoib-video-thumb,.aoib-play img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:center;border-radius:0!important;transition:transform .3s ease}
.aoib-play:hover .aoib-video-thumb{transform:scale(1.02)}
.aoib-play-icon{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:var(--aoib-red,#C81F36);box-shadow:0 4px 20px rgba(0,0,0,.35);transition:transform .15s ease}
.aoib-play-icon::after{content:"";position:absolute;left:27px;top:21px;border-top:13px solid transparent;border-bottom:13px solid transparent;border-left:20px solid #fff}
.aoib-play:hover .aoib-play-icon,.aoib-play:focus-visible .aoib-play-icon{transform:scale(1.08)}
.aoib-play:focus-visible{outline:3px solid #fff;outline-offset:-6px}
.aoib-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.aoib .aoib-caption{margin:12px 0 0;font-size:15px;line-height:1.5;color:#555}
.aoib-bg-dark .aoib-caption{color:#CCC}

/* ---------- Page hero ---------- */
.aoib-hero{display:flex;align-items:center;min-height:72vh;padding:110px 0;background:#000;color:#fff;overflow:hidden}
.aoib-hero-medium{min-height:56vh;padding:96px 0}
.aoib-hero-short{min-height:0;padding:96px 0 80px}
.aoib-hero-bg{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;z-index:0}
.aoib-hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.62) 45%,rgba(0,0,0,.18) 100%)}
.aoib-hero .aoib-wrap{position:relative;z-index:2}
.aoib-hero-copy{max-width:780px}
.aoib-hero .aoib-eyebrow{color:#fff}
.aoib-hero .aoib-heading{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.4)}
.aoib-hero .aoib-hero-text{margin:0;max-width:720px;font-size:21px;line-height:1.6;color:#F2F2F2}
.aoib-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:8px}
.aoib .aoib-hero-link{display:inline-block;margin-top:26px;color:#fff;font-weight:700;text-decoration:none}
.aoib .aoib-hero-link:hover{text-decoration:underline}
@media (prefers-reduced-motion:reduce){.aoib-hero-video{display:none}}

/* ---------- Text + photo or video ---------- */
.aoib-mt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.no-media .aoib-mt-grid{grid-template-columns:minmax(0,1fr);max-width:860px}
.aoib-media-left .aoib-mt-media{order:-1}
.aoib-mt-copy,.aoib-mt-media{min-width:0}
.aoib-mt-media .aoib-video.is-vertical{margin:0 auto}
.aoib .aoib-img{display:block;width:100%;height:auto;max-width:100%;border-radius:16px;object-fit:cover}
.aoib .aoib-shape-landscape{aspect-ratio:4/3}
.aoib .aoib-shape-wide{aspect-ratio:16/9}
.aoib .aoib-shape-square{aspect-ratio:1/1}
.aoib .aoib-shape-portrait{aspect-ratio:4/5}
.aoib .aoib-shape-original{aspect-ratio:auto;object-fit:contain}
.aoib .aoib-focus-center{object-position:center}
.aoib .aoib-focus-top{object-position:center top}
.aoib .aoib-focus-bottom{object-position:center bottom}
.aoib .aoib-focus-left{object-position:20% center}
.aoib .aoib-focus-right{object-position:80% center}
@media (max-width:900px){
  .aoib{padding:64px 0}
  .aoib-mt-grid{grid-template-columns:minmax(0,1fr);gap:34px}
  .aoib-media-left .aoib-mt-media{order:0}
}

/* ---------- Video cards ---------- */
.aoib-vgrid{display:grid;gap:24px;margin-top:36px}
.aoib-cols-1{grid-template-columns:minmax(0,1fr);max-width:860px}
.aoib-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.aoib-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.aoib-vcard{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid var(--aoib-line);border-radius:16px;overflow:hidden;color:var(--aoib-ink)}
.aoib-bg-dark .aoib-vcard{border-color:#222}
.aoib-vcard .aoib-video{border-radius:0}
.aoib-vcard .aoib-video.is-vertical{max-width:none;aspect-ratio:16/9}
.aoib-vcard-copy{padding:22px 24px 24px}
.aoib .aoib-vcard-label{margin:0 0 8px;font-size:12px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:#444}
.aoib .aoib-vcard-title{margin:0 0 8px;font-size:22px;line-height:1.25;color:var(--aoib-ink)}
.aoib .aoib-vcard-text{margin:0;font-size:16px;line-height:1.55;color:#555}
@media (max-width:1000px){.aoib-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.aoib-cols-2,.aoib-cols-3{grid-template-columns:minmax(0,1fr)}}

/* ---------- Client testimonials ---------- */
.aoib-testimonial{padding:96px 0}
.aoib-testimonial.aoib-bg-light{background:#F7F7F7}
.aoib-t-slide{display:none;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:56px;align-items:center}
.aoib-t-slide.is-active{display:grid}
.aoib-t-copy{min-width:0}
.aoib-t-top{position:relative;padding:76px 0 0 2px}
.aoib-t-marks{position:absolute;left:0;top:0;width:78px;height:60px;opacity:.85;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 116' fill='none' stroke='%23C9C9C9' stroke-width='2'%3E%3Cpath d='M28 2h36L46 46h18v68H2V46L28 2z'/%3E%3Cpath d='M106 2h36L124 46h18v68H80V46l26-44z'/%3E%3C/svg%3E") no-repeat left top/contain}
.aoib .aoib-t-eyebrow{position:relative;margin:0 0 20px;color:var(--aoib-red)}
.aoib .aoib-t-quote{margin:0;padding:0;border:0}
.aoib .aoib-t-quote p{margin:0;font-size:clamp(32px,4.2vw,58px);line-height:1.14;font-weight:500;letter-spacing:normal;color:var(--aoib-ink)}
.aoib .aoib-t-by{margin:28px 0 0;font-size:18px;line-height:1.5;font-style:italic;color:#222}
.aoib-t-name,.aoib-t-role{display:block}
.aoib-watch{display:inline-flex;align-items:center;gap:18px;margin-top:40px;padding:0;border:0;background:none;color:var(--aoib-ink);font:inherit;font-size:20px;font-weight:800;cursor:pointer}
.aoib-watch-icon{position:relative;flex:0 0 auto;width:66px;height:66px;border-radius:50%;background:var(--aoib-red);transition:transform .15s ease}
.aoib-watch-icon::after{content:"";position:absolute;left:26px;top:20px;border-top:13px solid transparent;border-bottom:13px solid transparent;border-left:20px solid #fff}
.aoib-watch:hover .aoib-watch-icon,.aoib-watch:focus-visible .aoib-watch-icon{transform:scale(1.07)}
.aoib-watch:hover span:last-child{text-decoration:underline}
.aoib-t-media{position:relative;min-width:0;padding-top:56px}
.aoib-t-panel{position:absolute;left:0;right:0;top:56px;height:62%;border-radius:16px;background:var(--aoib-red);overflow:hidden}
.aoib-t-panel span{position:absolute;left:0;right:0;top:20%;text-align:center;font-size:clamp(28px,4.4vw,60px);font-weight:900;letter-spacing:.02em;text-transform:uppercase;line-height:1;color:rgba(0,0,0,.2);white-space:nowrap}
.aoib .aoib-t-img{position:relative;z-index:1;display:block;width:86%!important;height:auto!important;max-height:640px;margin:-56px auto 0;object-fit:contain;-webkit-mask-image:linear-gradient(to bottom,#000 72%,transparent 100%);mask-image:linear-gradient(to bottom,#000 72%,transparent 100%)}
.aoib-t-nav{display:flex;gap:2px;margin-top:48px}
.aoib-t-nav button{position:relative;width:58px;height:58px;padding:0;border:0;background:#111;cursor:pointer}
.aoib-t-nav button:hover{background:var(--aoib-red)}
.aoib-t-nav button::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translate(-30%,-50%) rotate(45deg)}
.aoib-t-nav .aoib-t-next::after{transform:translate(-70%,-50%) rotate(-135deg)}
@media (max-width:900px){
  .aoib-t-slide{grid-template-columns:minmax(0,1fr);gap:40px}
  .aoib-t-media{max-width:460px;width:100%;margin:0 auto}
}

/* Video pop-up */
.aoib-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.86)}
.aoib-modal-box{position:relative;width:min(1000px,100%);aspect-ratio:16/9;background:#000}
.aoib-modal-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.aoib-modal-close{position:absolute;right:0;top:-48px;width:40px;height:40px;padding:0;border:0;background:none;color:#fff;font-size:34px;line-height:1;cursor:pointer}
body.aoib-modal-open{overflow:hidden}

/* ---------- Website examples ---------- */
.aoib-sites{display:grid;gap:30px;margin-top:40px}
.aoib-site{min-width:0}
.aoib-site-frame{border:1px solid var(--aoib-line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.08)}
.aoib-site-bar{display:flex;align-items:center;gap:7px;height:34px;padding:0 14px;background:#F1F1F1;border-bottom:1px solid #E2E2E2}
.aoib-site-bar i{width:9px;height:9px;border-radius:50%;background:#C9C9C9}
.aoib-site-bar span{margin-left:10px;font-size:12px;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aoib .aoib-site-img{display:block;width:100%!important;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center top;border-radius:0}
.aoib-site-empty{aspect-ratio:16/10;background:#EEE}
.aoib-site-copy{padding:22px 4px 0}
.aoib .aoib-site-name{margin:0 0 8px;font-size:24px;line-height:1.2;color:var(--aoib-ink)}
.aoib-bg-dark .aoib-site-name{color:#fff}
.aoib .aoib-site-text{margin:0;font-size:17px;line-height:1.6;color:var(--aoib-text)}
.aoib-site-copy .aoib-link{margin-top:14px}
@media (max-width:1000px){.aoib-sites.aoib-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.aoib-sites.aoib-cols-2,.aoib-sites.aoib-cols-3{grid-template-columns:minmax(0,1fr)}}

/* ---------- Vendor diagram ---------- */
.aoib-diagram{display:flex;flex-direction:column;align-items:center;padding:8px 0}
.aoib-d-firm,.aoib-d-center{width:min(100%,380px);padding:20px 24px;border-radius:14px;text-align:center}
.aoib-d-firm{background:#fff;border:1px solid var(--aoib-line)}
.aoib-d-center{background:#000;color:#fff;box-shadow:0 14px 34px rgba(0,0,0,.18);border-bottom:5px solid var(--aoib-red)}
.aoib-d-firm strong,.aoib-d-center strong{display:block;font-size:22px;line-height:1.25}
.aoib-d-firm span,.aoib-d-center span{display:block;margin-top:6px;font-size:15px;line-height:1.45;color:#555}
.aoib-d-center span{color:#D9D9D9}
.aoib-d-link{width:2px;height:34px;background:var(--aoib-red)}
.aoib .aoib-d-nodes{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%;margin:0;padding:22px 0 0;list-style:none}
.aoib-d-nodes::before{content:"";position:absolute;left:12%;right:12%;top:0;height:2px;background:var(--aoib-red)}
.aoib .aoib-d-nodes li{position:relative;margin:0;padding:12px 16px;border:1px solid var(--aoib-line);border-radius:10px;background:#fff;font-size:15px;font-weight:700;color:#222}
.aoib-bg-dark .aoib-d-firm,.aoib-bg-dark .aoib-d-nodes li{background:#111;border-color:#333;color:#fff}
@media (max-width:520px){.aoib-d-nodes::before{left:30%;right:30%}}

/* ---------- Attorney answer ---------- */
.aoib .aoib-answer-short{margin:0 0 18px;font-size:21px;line-height:1.6;color:var(--aoib-ink)}
.aoib-bg-dark .aoib-answer-short{color:#fff}
.aoib .aoib-answer-by{margin:0 0 26px;font-size:16px;line-height:1.5;color:#444}
.aoib-bg-dark .aoib-answer-by{color:#D9D9D9}
.aoib-transcript{padding-top:20px;border-top:1px solid var(--aoib-line)}
.aoib .aoib-transcript-title{margin:0 0 10px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#444}
.aoib .aoib-transcript-text{max-height:260px;overflow:auto;padding-right:8px;font-size:16px;line-height:1.65;color:#444}
.aoib .aoib-transcript-text p{margin:0 0 .9em}
.aoib-bg-dark .aoib-transcript-text,.aoib-bg-dark .aoib-transcript-title{color:#D9D9D9}
/* Fit and alignment */
.aoib .aoib-wrap{max-width:1140px}
.aoib-mt-media .aoib-shape-portrait{max-width:400px}
.aoib-media-left .aoib-mt-media .aoib-shape-portrait{margin-right:auto}
.aoib-mt-media .aoib-video.is-vertical{max-width:320px}
.aoib .aoib-body ul{padding-left:20px}
.aoib .aoib-body h3{margin:1.2em 0 .5em;font-size:22px}
.aoib-answer .aoib-heading{font-size:clamp(30px,3.4vw,44px);line-height:1.12}
