*{box-sizing:border-box}.beacon-page{margin:0;min-height:100vh}.beacon{max-width:var(--b-width);margin:auto;padding:var(--b-padding) 20px;display:flex;flex-direction:column;gap:var(--b-gap);font-size:var(--b-text-size);line-height:1.55;text-align:center;overflow-wrap:anywhere}.beacon h1{font-size:var(--b-title-size);line-height:1.15;font-weight:400;margin:12px 0}.beacon h2{font-size:1.35em;margin:0 0 8px}.beacon p{margin:8px 0;white-space:normal}.beacon-logo{width:var(--b-logo-size);height:var(--b-logo-size);object-fit:cover;border-radius:50%;align-self:center}.beacon-link{display:block;text-decoration:none;color:var(--b-button-text);background:var(--b-button-bg);border:1px solid var(--b-border);border-radius:var(--b-radius);padding:var(--b-button-padding);transition:transform .18s}.beacon-link:hover{transform:translateY(-2px)}.beacon-link:focus-visible{outline:3px solid currentColor;outline-offset:4px}.beacon-shadow .beacon-link{box-shadow:0 5px 18px #00000012}.beacon-card-photo{width:100%;max-height:var(--b-image-height);object-fit:cover;display:block;border-radius:var(--b-radius);margin-bottom:12px}.photo-link{padding:12px}.beacon-divider{display:flex;align-items:center;gap:12px;font-size:.85em}.beacon-divider:before,.beacon-divider:after{content:'';height:1px;background:var(--b-border);flex:1}.beacon footer{font-size:.8em;opacity:.75;padding:20px 0}.beacon-contact{border:0;width:100%;height:460px;display:block;color-scheme:light}.beacon input,.beacon textarea,.beacon button{font:inherit}@media(prefers-reduced-motion:reduce){.beacon-link{transition:none;transform:none!important}}@media(max-width:480px){.beacon{padding-top:min(var(--b-padding),40px)}.beacon h1{font-size:min(var(--b-title-size),48px)}}

/* Logo preserves its original proportions unless circular crop is selected. */
.beacon-logo.logo-original{height:auto;max-height:260px;object-fit:contain;border-radius:0}
.beacon-logo.logo-round{object-fit:cover;border-radius:50%}
@keyframes beaconFade{from{opacity:0}to{opacity:1}}
@keyframes beaconRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes beaconGlow{0%,100%{text-shadow:none}50%{text-shadow:0 0 20px currentColor}}
.beacon[data-animation="fade"]>*,.beacon[data-animation="rise"]>*{animation:beaconFade var(--b-duration,700ms) ease both}
.beacon[data-animation="rise"]>*{animation-name:beaconRise}
.beacon[data-animation="glow"] h1{animation:beaconGlow calc(var(--b-duration,700ms) * 4) ease-in-out 2}
@media(prefers-reduced-motion:reduce){.beacon[data-animation]>*{animation:none!important}.beacon[data-animation] h1{animation:none!important}}

/* ALDO_BEACON_AUTOFIT_V3 */.beacon-contact{min-height:0!important}
