/* Shared public footer. All selectors stay within the footer component. */
.codehive-footer{display:block!important;container-type:inline-size;position:relative;isolation:isolate;flex-shrink:0;width:100%;min-width:0;margin:0;border-top:1px solid #33291f;background:radial-gradient(ellipse at 85% 0%,rgba(159,90,25,.16),transparent 33%),radial-gradient(ellipse at 10% 85%,rgba(201,115,24,.09),transparent 40%),#1d1916;color:#c8bbad;font:14px/1.6 Inter,"Segoe UI",Arial,sans-serif;text-align:left;overflow:hidden}
.codehive-footer:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,#000,transparent 76%)}
.codehive-footer *,.codehive-footer *:before,.codehive-footer *:after{box-sizing:border-box}
.chf-container{width:min(100%,1400px);margin:auto;padding:clamp(30px,4vw,56px) clamp(20px,4vw,54px) 24px}
.chf-callout{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:center;min-height:305px;gap:20px;overflow:hidden;padding:clamp(31px,4vw,55px);border:1px solid rgba(255,208,126,.5);border-radius:30px;background:radial-gradient(circle at 72% 35%,rgba(255,237,169,.72),transparent 35%),linear-gradient(125deg,#ffc56f 0%,#ffe4ad 43%,#f9ad53 100%);box-shadow:0 25px 65px rgba(0,0,0,.16);color:#261b12}
.chf-callout:before{content:"";position:absolute;width:360px;height:360px;right:-90px;top:-210px;border:1px solid rgba(83,46,18,.15);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.07),0 0 0 112px rgba(255,255,255,.05);pointer-events:none}
.chf-callout-copy{position:relative;z-index:2;min-width:0}
.chf-eyebrow{display:inline-flex;align-items:center;gap:9px;color:#7b440e;font-size:11px;font-weight:850;letter-spacing:2px;line-height:1.4}
.chf-eyebrow-mark{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#2d2117;color:#ffc36a;font-size:13px;letter-spacing:0}
.chf-callout h2{max-width:730px;margin:18px 0 13px;color:#241910;font-size:clamp(34px,4vw,62px);font-weight:850;line-height:1.04;letter-spacing:-.055em}
.chf-callout h2 span{color:#ab590e}
.chf-callout p{max-width:570px;margin:0;color:#604326;font-size:clamp(13px,1.1vw,16px);line-height:1.7}
.chf-callout-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:26px}
.chf-button{display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:48px;padding:11px 19px;border:1px solid transparent;border-radius:12px;color:#241910;font-size:13px;font-weight:800;line-height:1.3;text-decoration:none;white-space:nowrap;transition:transform .2s,background .2s,box-shadow .2s}
.chf-button:hover{transform:translateY(-2px)}
.chf-button-primary{background:#251b15;color:#fff6e9;box-shadow:0 10px 25px rgba(56,35,18,.22)}
.chf-button-primary:hover{background:#45301f;color:#fff;box-shadow:0 14px 30px rgba(56,35,18,.26)}
.chf-button-quiet{border-color:rgba(97,58,21,.35);background:rgba(255,255,255,.28);color:#503016}
.chf-button-quiet:hover{background:rgba(255,255,255,.58);color:#352010}
.chf-callout-art{position:relative;min-height:250px;display:grid;place-items:center}
.chf-art-orbit{position:absolute;left:50%;top:50%;width:265px;height:265px;border:1px solid rgba(91,52,17,.25);border-radius:50%;transform:translate(-50%,-50%) rotate(-14deg)}
.chf-art-orbit-one:before,.chf-art-orbit-one:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#8a4a10}
.chf-art-orbit-one:before{left:25px;top:35px}.chf-art-orbit-one:after{right:23px;bottom:36px}
.chf-art-orbit-two{width:205px;height:205px;border-style:dashed;border-color:rgba(91,52,17,.2);transform:translate(-50%,-50%) rotate(30deg)}
.chf-art-core{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;width:152px;height:152px;clip-path:polygon(25% 4%,75% 4%,99% 50%,75% 96%,25% 96%,1% 50%);background:linear-gradient(145deg,#44301c,#1f1914);color:#fff6e6;box-shadow:0 18px 35px rgba(38,25,16,.2);text-align:center}
.chf-art-core>span{color:#ffbd5b;font-size:21px;line-height:1}.chf-art-core strong{font-size:27px;font-weight:850;line-height:1.1;letter-spacing:-1.4px}.chf-art-core small{color:#d2a96c;font-size:9px;font-weight:750;letter-spacing:2px;text-transform:uppercase}
.chf-art-chip{position:absolute;z-index:2;padding:8px 13px;border:1px solid rgba(111,66,29,.17);border-radius:999px;background:rgba(255,249,230,.88);color:#63401b;box-shadow:0 8px 20px rgba(78,45,14,.1);font-size:10px;font-weight:800;letter-spacing:.3px}
.chf-art-chip-one{top:19px;left:14%}.chf-art-chip-two{right:4%;top:67px}.chf-art-chip-three{bottom:12px;left:20%}
.chf-path-intro{display:flex;align-items:baseline;gap:15px;margin:34px 0 15px}
.chf-path-intro span{color:#e6aa5f;font-size:10px;font-weight:850;letter-spacing:2px;white-space:nowrap}.chf-path-intro p{margin:0;color:#b9a998;font-size:13px}
.chf-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.chf-paths>a{display:flex;align-items:center;gap:13px;min-width:0;min-height:91px;padding:16px;border:1px solid #4a3929;border-radius:17px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018));color:#f8eddd;text-decoration:none;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}
.chf-paths>a:hover{transform:translateY(-3px);border-color:#c58438;background:linear-gradient(135deg,rgba(189,111,30,.18),rgba(255,255,255,.04));box-shadow:0 12px 30px rgba(0,0,0,.14)}
.chf-path-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid #805427;border-radius:12px;background:#503319;color:#ffcb81;font-size:19px;line-height:1}
.chf-paths>a>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.chf-paths strong{font-size:13px;font-weight:800;line-height:1.4}.chf-paths small{color:#ad9b87;font-size:11px;line-height:1.5}.chf-path-arrow{flex:none;margin-left:auto;color:#daa157;font-size:20px;line-height:1}
.chf-grid{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(0,1fr));gap:clamp(19px,3vw,42px);margin-top:41px;padding:40px 0 43px;border-top:1px solid #ffffff1e}
.chf-brand-column{min-width:0;padding-right:15px}.chf-brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none}.chf-brand img{flex:none;width:49px;height:49px;padding:3px;border-radius:13px;background:#fff8e9;object-fit:contain}.chf-brand>span{display:flex;flex-direction:column;gap:5px}.chf-brand strong{color:#fff6e9;font-size:27px;font-weight:850;letter-spacing:-1.4px;line-height:1}.chf-brand small{color:#d0a46d;font-size:8px;font-weight:800;letter-spacing:1.8px;line-height:1.4}
.chf-brand-column>p{max-width:290px;margin:19px 0 17px;color:#ad9f90;font-size:12px;line-height:1.8}.chf-brand-note{display:inline-flex;align-items:center;gap:8px;color:#d4a665;font-size:10px;font-weight:650}.chf-brand-note>span{font-size:20px;line-height:1}
.chf-link-group{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.chf-link-group h3{margin:0 0 13px;color:#fff1dd;font-size:12px;font-weight:850;letter-spacing:.2px;line-height:1.5}.chf-link-group a,.chf-back-top{display:inline-flex;align-items:center;gap:8px;min-height:33px;padding:3px 0;border:0;background:transparent;color:#aa9b8b;font:12px/1.5 Inter,"Segoe UI",Arial,sans-serif;text-align:left;text-decoration:none;cursor:pointer;overflow-wrap:anywhere;transition:color .18s,transform .18s}.chf-link-group a:hover,.chf-back-top:hover{color:#ffc57c;transform:translateX(2px)}.chf-back-top>span{color:#e7ad61;font-size:16px}
.chf-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0 0;border-top:1px solid #ffffff1e}.chf-copyright{display:flex;flex-direction:column;gap:3px;color:#aa9885;font-size:10px}.chf-copyright small{color:#807364;font-size:9px}.chf-locale{display:flex;align-items:center;gap:15px;flex:none;color:#ad9a85;font-size:10px}.chf-locale>span{display:inline-flex;align-items:center;gap:7px}.chf-locale-divider{width:1px;height:14px;background:#ffffff2a}
.codehive-footer a:focus-visible,.codehive-footer button:focus-visible{outline:2px solid #ffc57c;outline-offset:4px}
@container(max-width:1050px){.chf-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:27px}.chf-brand-column{grid-column:1/-1;padding:0}.chf-brand-column>p{max-width:600px;margin:15px 0 10px}.chf-callout{grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr)}.chf-callout h2{font-size:clamp(33px,4vw,48px)}}
@container(max-width:760px){.chf-callout{grid-template-columns:1fr;min-height:0;padding:32px}.chf-callout-art{display:none}.chf-paths{grid-template-columns:1fr 1fr}.chf-paths>a:last-child{grid-column:1/-1}.chf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chf-brand-column{grid-column:1/-1}}
@container(max-width:520px){.chf-container{padding:25px 17px 22px}.chf-callout{padding:28px 23px;border-radius:23px}.chf-callout h2{font-size:clamp(31px,9vw,42px);letter-spacing:-.05em;margin:14px 0 11px}.chf-callout p{font-size:13px}.chf-callout-actions{flex-direction:column;align-items:stretch;margin-top:22px;gap:8px}.chf-button{width:100%;min-height:44px;font-size:12px;padding:10px 13px;gap:8px}.chf-path-intro{display:block;margin:30px 0 13px}.chf-path-intro p{margin-top:5px;font-size:12px}.chf-paths{grid-template-columns:1fr;gap:9px}.chf-paths>a,.chf-paths>a:last-child{grid-column:auto;min-height:72px;padding:12px 14px}.chf-path-icon{width:37px;height:37px;border-radius:10px}.chf-grid{gap:25px 18px;margin-top:31px;padding:31px 0 32px}.chf-brand-column>p{max-width:340px}.chf-link-group h3{margin-bottom:8px}.chf-link-group a,.chf-back-top{min-height:35px;font-size:12px}.chf-bottom{flex-direction:column;align-items:flex-start;gap:12px;padding-top:18px}.chf-locale{font-size:10px}}
@container(max-width:360px){.chf-callout-actions{flex-direction:column;align-items:stretch}.chf-button{width:100%}.chf-grid{gap:24px 14px}.chf-link-group a,.chf-back-top{font-size:11px}}
@media(max-width:768px){body.public-mode .codehive-footer{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.codehive-footer a,.codehive-footer button{transition:none}}
