.ab-page{min-height:100vh;background:#ffffff;--text-dark:#111111;--text-muted:#555555;--primary-surface:#f9f9f9;--primary-card:#ffffff}.ab-overline{font-family:var(--font-body);font-size:.92rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin:0 0 10px}.ab-dash,.ab-overline{color:var(--secondary-color)}.ab-dash{margin-left:8px;opacity:.6}.ab-h2{font-family:var(--font-heading);font-size:clamp(2rem,3.4vw,2.8rem);font-weight:700;color:var(--text-dark);line-height:1.15;margin:0 0 20px}.ab-h2--centered{text-align:center}.ab-body{font-family:var(--font-body);font-size:.98rem;color:var(--text-muted);line-height:1.85;margin:0 0 16px}.ab-body--centered{text-align:center;max-width:640px;margin-left:auto;margin-right:auto}.ab-btn-filled,.ab-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 30px;border-radius:999px;font-family:var(--font-body);font-size:.88rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s}.ab-btn-filled{border:1.5px solid var(--secondary-color);background:var(--btn-grad);color:var(--primary-color)}.ab-btn-filled:hover{box-shadow:0 6px 18px rgba(201,138,62,.5);transform:translateY(-2px)}.ab-btn-outline{border:1.5px solid var(--secondary-color);background:transparent;color:var(--secondary-color)}.ab-btn-outline:hover{background:var(--btn-grad);color:var(--primary-color);transform:translateY(-2px)}.ab-story{padding:96px 0;position:relative;z-index:1}.ab-story__row{display:flex;align-items:center;gap:clamp(32px,5vw,64px);flex-wrap:wrap}.ab-story__image-col{flex:1 1 420px}.ab-story__content-col{flex:1.2 1 460px}.ab-story__image-wrap{border-radius:18px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.35)}.ab-story__image-wrap img{width:100%;height:100%;min-height:380px;object-fit:cover;display:block}.ab-cafe{padding:96px 0;position:relative;z-index:1;background:var(--primary-surface)}.ab-cafe__row{display:flex;align-items:center;gap:clamp(32px,5vw,64px);flex-wrap:wrap-reverse}.ab-cafe__image-col{flex:1 1 420px}.ab-cafe__content-col{flex:1.2 1 460px}.ab-cafe__image-col img{width:100%;height:100%;min-height:340px;object-fit:cover;border-radius:18px;display:block;box-shadow:0 20px 40px rgba(0,0,0,.35)}.ab-cafe__title{font-family:var(--font-heading);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;color:var(--text-dark);margin:0 0 16px}.ab-cafe__text{font-family:var(--font-body);font-size:.98rem;color:var(--text-muted);line-height:1.85;margin:0 0 28px}.ab-features{padding:96px 0;position:relative;z-index:1}.ab-features__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:24px;gap:24px}.ab-features__item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:32px 20px;border-radius:16px;border:1px solid rgba(0,0,0,.1);background:var(--primary-surface);transition:transform .25s,border-color .25s,box-shadow .25s}.ab-features__item:hover{transform:translateY(-4px);box-shadow:0 4px 16px rgba(0,0,0,.22);border-color:rgba(224,192,171,.45)}.ab-features__icon{width:64px;height:64px;border-radius:50%;background:var(--primary-card);border:1px solid rgba(224,192,171,.3);display:flex;align-items:center;justify-content:center}.ab-features__icon img{width:32px;height:32px;object-fit:contain}.ab-features__label{font-family:var(--font-body);font-size:.9rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-dark)}.ab-gallery{padding:96px 0;position:relative;z-index:1;background:var(--primary-surface)}.ab-gallery__head{margin-bottom:48px}.ab-gallery__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px}.ab-gallery__item{border-radius:14px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 10px 24px rgba(0,0,0,.3)}.ab-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.ab-gallery__item:hover img{transform:scale(1.06)}@media (max-width:991px){.ab-cafe,.ab-features,.ab-gallery,.ab-story{padding:64px 0}.ab-features__grid,.ab-gallery__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.ab-cafe,.ab-features,.ab-gallery,.ab-story{padding:48px 0}.ab-story__image-wrap img{min-height:260px}.ab-cafe__image-col img{min-height:220px}}