/* Reserved homepage inventory. Keep slot IDs stable when real creatives are added. */
body.theme-espresso .home-main{position:relative}
.ad-slot-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ad-top{margin:0 0 16px}
.ad-middle{margin:18px 0 0}
.ad-slot{min-width:0;min-height:76px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;align-items:center;gap:4px 14px;padding:12px 18px;border:1px solid #d9cec0;border-radius:8px;background:#faf7f1;color:#544336;text-decoration:none;transition:border-color .15s,background .15s}
.ad-slot-label{font:600 10px/1.4 Arial,sans-serif;letter-spacing:.14em;color:#817365;grid-column:1}
.ad-slot strong{font:700 15px/1.5 'Malgun Gothic','Apple SD Gothic Neo',sans-serif;grid-column:1;overflow-wrap:anywhere}
.ad-slot-action{grid-column:2;grid-row:1/3;font-size:13px;white-space:nowrap;color:#78563c;border-left:1px solid #ded2c3;padding-left:14px}
.ad-slot:hover{border-color:#98704e;background:#f4ede2}
.ad-slot:focus-visible{outline:3px solid #93633e;outline-offset:3px}
.ad-side{position:absolute;top:14px;right:-116px;width:100px;display:grid;gap:10px}
.ad-side .ad-slot{min-height:140px;padding:12px 7px;display:flex;flex-direction:column;justify-content:center;gap:10px;text-align:center}
.ad-side .ad-slot-label{font-size:9px;letter-spacing:.02em}
.ad-side .ad-slot strong{font-size:14px}
.ad-side .ad-slot-action{border-left:0;padding:0;font-size:12px}
/* Uploaded creatives can occupy the same slots without stretching or cropping. */
.ad-slot img{display:block;width:100%;height:auto;object-fit:contain;grid-column:1/-1}
@media(max-width:1700px){
 .ad-side{position:static;width:auto;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0}
 .ad-side .ad-slot{min-height:86px;gap:4px}
}
@media(max-width:600px){
 .ad-slot-group{gap:8px}
 .ad-slot{min-height:84px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:10px 12px;gap:3px}
 .ad-slot strong{font-size:14px}
 .ad-slot-action{border-left:0;padding:0;font-size:12px}
 .ad-side{gap:8px}
 .ad-side .ad-slot{padding:9px 5px;align-items:center}
 .ad-slot-label{font-size:9px;letter-spacing:.06em}
}

/* No speculative ads: reserved inventory is absent from layout and keyboard navigation. */
.ad-slot-group[hidden],.ad-side[hidden],.ad-slot[hidden],.ad-slot[data-ad-state="reserved"]{display:none!important}

.ad-slot[data-ad-state="active"]{padding:0;min-height:0;overflow:hidden;display:block;background:transparent;border:0}
.ad-slot[data-ad-state="active"] img{width:100%;height:auto;display:block}

.ad-slot-group[data-visible-count="1"]{grid-template-columns:minmax(0,1fr)}

/* Three company banners. Wide screens use the free right margin; smaller screens keep them in flow. */
body.theme-espresso .ad-side{position:static;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;align-items:start}
body.theme-espresso .ad-side.is-floating{position:absolute;top:var(--ad-side-top,80px);right:calc(-1 * var(--ad-side-width,180px) - 16px);width:var(--ad-side-width,180px);grid-template-columns:1fr;gap:12px}
body.theme-espresso .ad-side .ad-slot[data-ad-state="active"]{position:relative;display:block;padding:0;aspect-ratio:4/5;border:1px solid #d9cabb;border-radius:8px;background:#fffdfa;box-shadow:0 3px 10px #3029230a;overflow:hidden;transition:box-shadow .18s,border-color .18s}
body.theme-espresso .ad-side .ad-slot[data-ad-state="active"] img{width:100%;height:100%;object-fit:contain;object-position:center}
body.theme-espresso .ad-side .ad-slot:hover{border-color:#91684e;box-shadow:0 5px 16px #3029231a}
.ad-disclosure{position:absolute;top:6px;left:6px;padding:2px 5px;border-radius:3px;background:#211c17d9;color:#fff!important;font:600 10px/1.4 Arial,'Malgun Gothic',sans-serif;pointer-events:none}
@media(max-width:600px){body.theme-espresso .ad-side{gap:8px}body.theme-espresso .ad-side .ad-slot[data-ad-state="active"]{border-radius:5px}.ad-disclosure{top:4px;left:4px;font-size:9px}}

/* Reference layout: one portrait banner and two compact banners in a dedicated right column. */
body.theme-espresso .home-main.has-side-ads{display:grid;grid-template-columns:minmax(0,1fr) clamp(190px,17vw,260px);column-gap:22px;align-items:start}
.home-primary{min-width:0}
body.theme-espresso .home-main>.home-footer{grid-column:1/-1}
body.theme-espresso .home-main>.ad-side{position:static;width:100%;display:grid;grid-template-columns:1fr;gap:12px;margin:0;padding-top:4px}
body.theme-espresso .ad-side .ad-slot[data-ad-state="active"]{aspect-ratio:16/9;background:#081a30;border-color:#9eafc0;border-radius:8px}
body.theme-espresso .ad-side .ad-slot[data-ad-state="active"]:first-child{aspect-ratio:6/13}
body.theme-espresso .ad-side .ad-slot[data-ad-state="vacant"]{display:flex;position:relative;isolation:isolate;overflow:hidden;aspect-ratio:16/9;min-height:0;padding:17px;text-align:left;align-items:flex-start;justify-content:flex-start;gap:0;color:#f4f7fc;border:1px solid #91a4ba;border-radius:8px;background:linear-gradient(135deg,#041322,#102c4c 75%,#071321);box-shadow:0 3px 12px #12223517}
body.theme-espresso .ad-side .ad-slot[data-ad-state="vacant"]:first-child{aspect-ratio:6/13;padding:22px}
.ad-vacancy-label{font-size:10px;color:#b7c4d4;position:relative;z-index:2}
.ad-vacancy-brand{display:none;font:10px/1.5 Arial,sans-serif;letter-spacing:2px;color:#c0ccdc;margin-top:24px}
body.theme-espresso .ad-side .ad-slot[data-ad-state="vacant"] strong{position:relative;z-index:2;font-family:Georgia,'Batang',serif;font-size:clamp(18px,1.65vw,25px);font-weight:600;line-height:1.4;color:#fff;margin-top:10px;letter-spacing:-.04em}
body.theme-espresso .ad-side .ad-slot[data-ad-state="vacant"]:first-child strong{font-size:clamp(28px,2.6vw,40px);margin-top:25px}
.ad-vacancy-copy{display:none;position:relative;z-index:2;font-size:12px;color:#d2dcea;margin-top:14px}
.ad-side .ad-slot:first-child .ad-vacancy-brand,.ad-side .ad-slot:first-child .ad-vacancy-copy{display:block}
.ad-vacancy-cta{position:relative;z-index:2;font-size:11px;color:#e7efff;margin-top:auto;padding-top:12px}
.ad-side .ad-slot:first-child .ad-vacancy-cta{align-self:stretch;text-align:center;border:1px solid #90b4ff;border-radius:30px;padding:12px 8px;background:#082554bf}
.ad-vacancy-cta span{margin-left:12px;color:#9ac0ff}
.ad-architecture{position:absolute;z-index:-1;width:90%;height:145%;right:-45%;bottom:-75%;border:22px solid #9faebb;border-left-color:#d8e2ec;border-radius:50% 0 0 0;transform:rotate(28deg);box-shadow:-8px 0 0 #304a62,-14px 0 0 #92a3b5,0 0 30px #05111d}
.ad-side .ad-slot:first-child .ad-architecture{width:110%;height:85%;bottom:-24%;right:-45%;border-width:35px;transform:rotate(30deg)}
body.theme-espresso .ad-side .ad-slot[data-ad-state="vacant"]:hover{border-color:#cbdfff;box-shadow:0 4px 18px #08203a33}
@media(max-width:1100px){
 body.theme-espresso .home-main.has-side-ads{display:block}
 body.theme-espresso .home-main>.ad-side{grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0;padding:0}
 body.theme-espresso .ad-side .ad-slot[data-ad-state="active"]:first-child{aspect-ratio:16/9}
 body.theme-espresso .ad-side .ad-slot[data-ad-state="vacant"]:first-child{aspect-ratio:16/9;padding:17px}
 .ad-side .ad-slot:first-child .ad-vacancy-brand,.ad-side .ad-slot:first-child .ad-vacancy-copy{display:none}
 body.theme-espresso .ad-side .ad-slot[data-ad-state="vacant"]:first-child strong{font-size:clamp(18px,1.65vw,25px);margin-top:10px}
 .ad-side .ad-slot:first-child .ad-vacancy-cta{align-self:flex-start;border:0;background:none;padding:12px 0 0}
}
@media(max-width:600px){
 body.theme-espresso .home-main>.ad-side{gap:8px;grid-template-columns:1fr}
 body.theme-espresso .ad-side .ad-slot[data-ad-state="vacant"],body.theme-espresso .ad-side .ad-slot[data-ad-state="vacant"]:first-child{aspect-ratio:auto;min-height:145px;padding:18px 20px}
 body.theme-espresso .ad-side .ad-slot[data-ad-state="active"],body.theme-espresso .ad-side .ad-slot[data-ad-state="active"]:first-child{aspect-ratio:auto}
 body.theme-espresso .ad-side .ad-slot[data-ad-state="active"] img{height:auto}
}
