.reviews-section { position:relative; overflow:hidden; padding:clamp(76px,8vw,112px) clamp(20px,5vw,72px) clamp(68px,7vw,96px); color:#092746; background:radial-gradient(ellipse at 88% 5%,#d8e9f5 0,transparent 34%),linear-gradient(140deg,#f5f8fb,#e8f0f6 54%,#f8fafc); border-top:6px solid #ffc400; box-shadow:inset 0 5px 0 #0a3b63; isolation:isolate; }
.reviews-section::before,.reviews-section::after { content:""; position:absolute; z-index:-1; border:1px solid #0a3b6314; border-radius:50%; pointer-events:none; }
.reviews-section::before { width:490px; height:490px; right:-225px; top:-330px; box-shadow:0 0 0 34px #0a3b6306,0 0 0 70px #0a3b6304; }
.reviews-section::after { width:390px; height:390px; bottom:-285px; left:-210px; box-shadow:0 0 0 30px #0a3b6306,0 0 0 62px #0a3b6304; }
.reviews-inner { width:min(100%,1120px); margin:0 auto; }
.reviews-heading { max-width:760px; margin:0 auto 42px; text-align:center; }
.reviews-eyebrow { display:inline-flex; align-items:center; gap:10px; margin:0 0 12px; color:#9b7200; font-size:13px; line-height:1; font-weight:800; letter-spacing:.2em; }
.reviews-eyebrow::before,.reviews-eyebrow::after { content:""; width:24px; height:1px; background:#b78b16a6; }
.reviews-heading h2 { margin:0; color:#082746; font-family:'Roboto Condensed',Arial,sans-serif; font-size:clamp(36px,5vw,58px); line-height:1.05; font-weight:800; letter-spacing:-.025em; }
.reviews-heading > p:last-child { margin:14px 0 0; color:#526b82; font-size:clamp(16px,1.55vw,19px); line-height:1.5; }
.reviews-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.review-card { display:flex; flex-direction:column; min-width:0; min-height:320px; padding:24px 26px 22px; border:1px solid #d7e2eb; border-radius:13px; color:inherit; text-decoration:none; background:linear-gradient(145deg,#fff,#f8fbfd); box-shadow:0 12px 28px #12314d14,inset 0 1px #fff; opacity:0; transform:translateY(16px); transition:opacity .35s ease,transform .25s ease,border-color .22s ease,box-shadow .22s ease; cursor:pointer; }
.is-visible .review-card { opacity:1; transform:translateY(0); }.is-visible .review-card:nth-child(2) { transition-delay:.06s; }.is-visible .review-card:nth-child(3) { transition-delay:.12s; }.is-visible .review-card:nth-child(4) { transition-delay:.18s; }
.review-card:hover { transform:translateY(-4px); border-color:#d5a900; box-shadow:0 18px 34px #12314d22,0 0 22px #ffc40016; }
.review-card:focus-visible { outline:3px solid #ffc400; outline-offset:3px; }
.review-card-top { display:flex; align-items:center; gap:10px; margin-bottom:17px; }
.review-mark { width:38px; height:38px; flex:0 0 auto; display:grid; place-items:center; border:1px solid #d8b43470; border-radius:10px; color:#a77d00; background:#fff8df; }
.review-mark svg { width:22px; height:22px; }
.review-badge { color:#8b6800; font-size:12px; font-weight:800; letter-spacing:.035em; }
.review-card h3 { max-width:500px; margin:0; color:#092746; font-family:'Roboto Condensed',Arial,sans-serif; font-size:clamp(20px,2.2vw,25px); line-height:1.2; font-weight:800; }
.review-rule { width:44px; height:3px; margin:14px 0 13px; border-radius:3px; background:#ffc400; }
.review-label { margin:13px 0 4px; color:#916b00; font-size:11px; line-height:1.25; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.review-work,.review-summary { margin:0; color:#52677b; font-size:14px; line-height:1.52; }
.review-summary { color:#263f57; }
.review-view-link { display:flex; align-items:center; gap:9px; margin-top:auto; padding-top:20px; color:#8b6800; font-size:14px; font-weight:800; }
.review-view-link svg { width:17px; height:17px; }
.review-view-arrow { margin-left:auto; font-size:19px; transition:transform .2s ease; }
.review-card:hover .review-view-arrow { transform:translate(2px,-2px); }
.reviews-provenance { margin:25px 0 0; color:#5f7488; font-size:12px; line-height:1.45; text-align:center; }
.review-dialog { width:min(1000px,calc(100vw - 32px)); max-width:none; height:min(850px,calc(100dvh - 32px)); max-height:none; padding:0; overflow:hidden; border:1px solid #ffc40065; border-radius:16px; color:#f7f9fc; background:#061f39; box-shadow:0 24px 90px #0009; }
.review-dialog::backdrop { background:#00101fcc; backdrop-filter:blur(4px); }
.review-dialog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:58px; padding:10px 16px; border-bottom:1px solid #ffffff20; }
.review-page-controls { display:flex; flex:0 0 auto; align-items:center; gap:10px; }
.review-page-controls button { display:grid; width:38px; height:38px; place-items:center; border:1px solid #ffffff30; border-radius:9px; color:#fff; background:#ffffff0c; font:600 28px/1 Arial,sans-serif; cursor:pointer; }
.review-page-controls button:hover:not(:disabled) { border-color:#ffc400; color:#ffc400; }
.review-page-controls button:disabled { opacity:.4; cursor:default; }
.review-page-status { min-width:92px; color:#fff; font-size:13px; font-weight:700; text-align:center; white-space:nowrap; }
.review-dialog-open { color:#ffd02d; font-size:14px; font-weight:700; text-decoration:none; }
.review-dialog-open:hover { text-decoration:underline; }
.review-dialog-close { padding:8px 13px; border:1px solid #ffffff30; border-radius:8px; color:#fff; background:#ffffff0c; font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.review-dialog-close:hover { border-color:#ffc400; color:#ffc400; }
.review-dialog-frame { display:block; width:100%; height:calc(100% - 58px); border:0; background:#fff; }
@media (max-width:720px) { .reviews-section { padding:64px 18px 68px; }.reviews-heading { margin-bottom:28px; }.reviews-heading h2 { font-size:38px; }.reviews-grid { grid-template-columns:1fr; gap:14px; }.review-card { min-height:0; padding:21px; }.review-card h3 { font-size:22px; }.review-dialog { width:calc(100vw - 20px); height:calc(100dvh - 20px); border-radius:10px; }.review-dialog-toolbar { min-height:52px; padding:8px 10px; }.review-page-controls { gap:6px; }.review-page-controls button { width:44px; height:44px; }.review-page-status { min-width:82px; font-size:12px; }.review-dialog-frame { height:calc(100% - 52px); } }
@media (prefers-reduced-motion:reduce) { .review-card { opacity:1; transform:none; transition:none!important; } }
