/* Real campaign imagery and a simple path to starting a conversation. */
.agave-page-wrap { width:86%; max-width:1240px; margin-inline:auto; }
.agave-page-label { color:#007da8; font:500 14px/1.4 Poppins,sans-serif; letter-spacing:.06em; margin:0 0 16px; }
.agave-case-header { display:grid; grid-template-columns:1.1fr 1fr; align-items:end; gap:72px; padding:140px 0 54px; }
.agave-case-header h1 { margin:0; font:400 clamp(60px,6.5vw,92px)/.98 'Bebas Neue',sans-serif; text-transform:uppercase; }
.agave-case-header > p { max-width:420px; margin:0 0 7px; font:400 18px/1.75 Poppins,sans-serif; }
.agave-case-featured { display:grid; grid-template-columns:1fr 1fr; gap:34px; padding-bottom:76px; }
.agave-case-card { display:block; text-decoration:none; color:#1a1a1a; border-radius:8px; }
.agave-case-photo { overflow:hidden; aspect-ratio:1.35; border-radius:8px; background:#eaf0f4; }
.agave-case-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.agave-case-photo-winner img { object-position:50% 34%; }
.agave-case-card-meta { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin:20px 0 12px; color:#5b6975; font:500 12px/1.5 Poppins,sans-serif; }
.agave-case-card-meta span:first-child { color:#263a4b; }
.agave-case-card-meta span:last-child { white-space:nowrap; font-size:10px; font-weight:400; }
.agave-case-card h2 { margin:0 0 14px; font:400 43px/1.08 'Bebas Neue',sans-serif; text-transform:uppercase; }
.agave-case-card > p { max-width:470px; margin:0; color:#53616d; font:400 15px/1.75 Poppins,sans-serif; }
.agave-case-card-link { display:inline-flex; gap:12px; align-items:center; margin-top:20px; font:500 13px/1.5 Poppins,sans-serif; color:#007da8; }
.agave-case-card-link > span { font-size:20px; }
.agave-case-more { padding-top:44px; padding-bottom:88px; border-top:1px solid #e0e5ea; }
.agave-case-more > h2 { margin:0 0 32px; font:300 34px/1.2 Poppins,sans-serif; letter-spacing:-.035em; }
.agave-case-more-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.agave-case-small .agave-case-photo { aspect-ratio:1; }
.agave-case-small h3 { margin:0; font:500 20px/1.4 Poppins,sans-serif; letter-spacing:-.025em; }
.agave-case-small .agave-case-card-meta { display:block; margin:17px 0 10px; }
.agave-case-small .agave-case-card-meta span:last-child { display:block; margin-top:3px; }
.agave-case-small .agave-case-card-link { margin-top:15px; }
.agave-case-aptive img { object-position:50% 28%; }
.agave-case-screen { background:#eff3f7; padding:16px; }
.agave-case-screen img { object-fit:contain; }
.agave-case-choli img { object-position:50% 55%; }
.agave-page-end { padding:64px 0; background:#eff3f7; }
.agave-page-end > div { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.agave-page-end h2 { margin:0; font:400 54px/1.1 'Bebas Neue',sans-serif; text-transform:uppercase; }
:is(body[data-page='casestudies'],body[data-page='contact']) .flexbody100vh { min-height:0; height:auto; }
:is(body[data-page='casestudies'],body[data-page='contact']) .agv_footer { padding-top:28px; padding-bottom:28px; background:#fff; border-top:1px solid #e8eef2; }
:is(body[data-page='casestudies'],body[data-page='contact']) .agv_nav_contact { border-radius:6px; height:44px; }
:is(body[data-page='casestudies'],body[data-page='contact']) .agv_button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; max-width:100%; padding:15px 24px; border:1px solid transparent; border-radius:6px; background:#00b1eb; color:#fff; font:600 12px/1.5 Poppins,sans-serif; letter-spacing:1.4px; text-transform:uppercase; box-shadow:0 2px 4px #0b284512; transition:background .18s,transform .18s,box-shadow .18s; }
:is(body[data-page='casestudies'],body[data-page='contact']) .agv_button:active { background:#008dbd; transform:none; }
.agave-case-dialog { max-width:1000px; border-radius:10px; }
.agave-case-layout { grid-template-columns:1fr 1fr; }
.agave-case-image { padding:28px; min-width:0; }
.agave-case-image img { border-radius:5px; max-height:560px; }
.agave-case-dialog[data-case-type='event'] .agave-case-image { padding:0; }
.agave-case-dialog[data-case-type='event'] .agave-case-image img { object-fit:cover; height:100%; max-height:none; border-radius:0; }
.agave-case-copy { padding:72px 40px 44px; }
.agave-case-copy h2 { font-size:46px; margin:18px 0 22px; }
.agave-case-category { letter-spacing:.055em; color:#007da8; line-height:1.65; }
.agave-case-description,.agave-case-detail { font-size:14px; line-height:1.8; }
.agave-dialog-close { position:sticky; display:flex; align-items:center; justify-content:center; min-height:44px; width:88px; margin:12px 12px -56px auto; right:auto; top:12px; border-color:#c9d2d8; background:#fff; }
.agave-contact-page { display:grid; grid-template-columns:1.2fr .8fr; align-items:start; gap:72px; padding-top:132px; padding-bottom:72px; }
.agave-contact-content header h1 { font:400 clamp(56px,5.5vw,76px)/1.02 'Bebas Neue',sans-serif; text-transform:uppercase; margin:0 0 18px; }
.agave-contact-content header > p:last-child { font:400 16px/1.8 Poppins,sans-serif; max-width:520px; margin:0; color:#53616d; }
.agave-project-form { margin-top:30px; }
.agave-project-form .agave-form-grid { gap:20px; }
.agave-project-form label { font:500 12px/1.5 Poppins,sans-serif; letter-spacing:0; }
.agave-project-form label .agave-field-optional { color:#76828c; font-weight:400; font-size:11px; }
.agave-project-form input,.agave-project-form textarea { min-height:50px; border:1px solid #d6dfe5; border-radius:6px; background:#fff; margin-top:8px; font-size:16px; padding:12px 14px; }
.agave-project-form textarea { min-height:125px; }
.agave-project-form input:focus,.agave-project-form textarea:focus { border-color:#008dbd; outline:3px solid #00b1eb1c; background:white; }
.agave-project-form textarea::placeholder { color:#89939c; font-size:14px; }
.agave-project-form-footer { display:flex; align-items:center; gap:22px; margin-top:24px; }
.agave-project-form-footer .agave-form-note { max-width:270px; margin:0; font-size:11px; line-height:1.7; }
.agave-project-form-footer .agv_button { flex:none; }
.agave-contact-photo { margin:0; border-radius:10px; overflow:hidden; height:680px; }
.agave-contact-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 54%; }
@media(hover:hover) and (pointer:fine) {
 .agave-case-card:hover .agave-case-photo img { transform:scale(1.035); }
 .agave-case-card:hover .agave-case-card-link { color:#005b80; text-decoration:underline; text-underline-offset:4px; }
 :is(body[data-page='casestudies'],body[data-page='contact']) .agv_button:hover { background:#009bcf; transform:translateY(-2px); box-shadow:0 6px 14px #0b28451c; }
}
@media(max-width:1100px) {
 .agave-case-header,.agave-contact-page { gap:40px; }
 .agave-case-header > p { font-size:16px; }
 .agave-case-more-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 24px; }
 .agave-case-small .agave-case-photo { aspect-ratio:1.35; }
 .agave-case-card h2 { font-size:36px; }
 .agave-contact-page { grid-template-columns:1.2fr .8fr; }
 .agave-contact-photo { height:660px; }
}
@media(max-width:767px) {
 .agave-page-wrap { width:88%; }
 .agave-page-label { font-size:12px; margin-bottom:14px; }
 .agave-case-header { display:block; padding-top:104px; padding-bottom:36px; }
 .agave-case-header h1 { font-size:clamp(44px,12.8vw,80px); }
 .agave-case-header > p { margin-top:24px; font-size:15px; }
 .agave-case-featured { grid-template-columns:1fr; gap:38px; padding-bottom:44px; }
 .agave-case-photo { aspect-ratio:1.25; }
 .agave-case-card-meta { margin-top:16px; gap:10px; font-size:11px; }
 .agave-case-card-meta span:last-child { font-size:9px; }
 .agave-case-card h2 { font-size:36px; }
 .agave-case-card > p { font-size:14px; }
 .agave-case-card-link { min-height:44px; margin-top:10px; }
 .agave-case-more { padding-top:34px; padding-bottom:52px; }
 .agave-case-more > h2 { font-size:28px; margin-bottom:26px; }
 .agave-case-more-grid { gap:28px 18px; }
 .agave-case-small .agave-case-photo { aspect-ratio:1; }
 .agave-case-small h3 { font-size:17px; line-height:1.45; }
 .agave-case-small .agave-case-card-link { font-size:11px; gap:6px; margin-top:5px; }
 .agave-case-small .agave-case-card-meta { font-size:10px; }
 .agave-page-end { padding:44px 0; }
 .agave-page-end > div { display:block; }
 .agave-page-end h2 { font-size:42px; margin-bottom:22px; }
 .agave-case-layout { grid-template-columns:1fr; }
 .agave-case-image { max-height:34svh; padding:24px; }
 .agave-case-image img { max-height:29svh; }
 .agave-case-dialog[data-case-type='event'] .agave-case-image { height:34svh; }
 .agave-case-copy { padding:26px; }
 .agave-case-copy h2 { font-size:36px; }
 .agave-case-description,.agave-case-detail { font-size:13px; }
 .agave-case-dialog { width:92vw; max-height:92dvh; }
 .agave-dialog-close { right:12px; top:12px; }
 .agave-contact-page { grid-template-columns:1fr; padding-top:104px; padding-bottom:48px; gap:36px; }
 .agave-contact-content header h1 { font-size:clamp(44px,12.8vw,58px); }
 .agave-contact-content header > p:last-child { font-size:15px; }
 .agave-project-form { margin-top:28px; }
 .agave-project-form .agave-form-grid { gap:18px 14px; }
 .agave-project-form label:nth-child(3),.agave-project-form label:nth-child(4) { grid-column:1/-1; }
 .agave-project-form-footer { display:block; }
 .agave-project-form-footer .agave-form-note { margin-top:16px; max-width:300px; }
 .agave-contact-photo { height:360px; }
 .agave-contact-photo img { object-position:50% 47%; }
}
@media(max-width:350px) {
 .agave-case-more-grid { grid-template-columns:1fr; }
 .agave-case-small .agave-case-photo { aspect-ratio:1.4; }
 .agave-case-small h3 { font-size:21px; }
}
@media(prefers-reduced-motion:reduce) {
 .agave-case-card:hover .agave-case-photo img { transform:none; }
 .agave-case-photo img { transition:none; }
 .agave-case-dialog[open] { animation:none; }
 :is(body[data-page='casestudies'],body[data-page='contact']) .agv_button:hover { transform:none; }
}

.agave-contact-photo.agave-contact-game { overflow:visible; display:flex; align-items:center; justify-content:center; background:radial-gradient(ellipse at center,#eaf7fc 0%,#fff 70%); }
.agave-contact-game img { object-fit:contain; object-position:center; filter:drop-shadow(10px 22px 16px #183b4e20); }
@media(max-width:767px) { .agave-contact-photo.agave-contact-game { height:500px; }.agave-contact-game img { max-width:420px; } }
