:root { --wine:#590008; --deep-wine:#370006; --gold:#f6c845; --paper:#fffaf0; --ink:#39131a; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:var(--deep-wine); color:var(--paper); font-family:Arial,Helvetica,sans-serif; }
button,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button { font:inherit; cursor:pointer; }
[hidden] { display:none!important; }
a:focus-visible,button:focus-visible,iframe:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.page { width:min(100%,560px); margin:auto; padding:28px 20px calc(28px + env(safe-area-inset-bottom)); }
.shell { padding:30px; border-top:3px solid var(--gold); border-radius:24px; background:var(--wine); box-shadow:0 16px 50px #19000340; }
.header { display:flex; flex-direction:column; align-items:center; text-align:center; padding-bottom:28px; }
.logo { display:block; width:132px; height:132px; object-fit:cover; border-radius:50%; border:3px solid var(--gold); padding:3px; box-shadow:0 6px 24px #19000355; }
h1 { margin:18px 0 0; font-size:30px; font-weight:800; letter-spacing:-.6px; line-height:1.15; }
.header p { margin:10px 0 0; color:#f4d7d5; font-size:14px; line-height:1.6; }
.actions { display:grid; gap:12px; }
.action-btn { display:flex; width:100%; align-items:center; gap:14px; min-height:64px; padding:11px 18px; border:1px solid transparent; border-radius:14px; text-align:left; text-decoration:none; transition:transform .15s ease,background-color .15s ease; }
.button-icon { flex:none; width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:#0000000c; }
.button-icon svg { width:24px; height:24px; }
.button-copy { flex:1; min-width:0; }
.button-copy strong { display:block; font-size:16px; line-height:1.3; }
.button-copy small { display:block; margin-top:4px; font-size:12px; font-weight:400; line-height:1.4; }
.button-arrow { flex:none; font-size:28px; font-weight:400; }
.offers-link { background:var(--gold); color:#4c2600; box-shadow:0 4px 0 #b8851c; margin-bottom:3px; }
.offers-link:hover { background:#ffda6d; }
.catalog-link { background:var(--paper); color:var(--ink); }
.catalog-link:hover { background:#fff; }
.contact-link { background:#176b42; border-color:#37875b; color:#fff; }
.contact-link .button-icon { background:#ffffff12; }
.contact-link:hover { background:#1d7e4f; }
@media(hover:hover) { .action-btn:hover { transform:translateY(-2px); } }
.action-btn:active { transform:translateY(1px); }
.location { margin-top:30px; border-top:1px solid #a65d614f; padding-top:22px; }
.location-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.location h2 { margin:0; font-size:18px; }
.location-heading a { min-height:36px; display:inline-flex; align-items:center; color:var(--gold); font-size:13px; text-underline-offset:4px; }
.location iframe { display:block; width:100%; height:240px; border:0; border-radius:12px; background:#fffaf0; }
.location-address { margin:12px 0 0; font-size:13px; line-height:1.6; color:#f4d7d5; }
.page-footer { text-align:center; font-size:12px; color:#dbb4b6; margin-top:24px; }
@media(max-width:540px) {
    .page { padding:16px 12px calc(20px + env(safe-area-inset-bottom)); }
    .shell { padding:24px 18px 20px; border-radius:20px; }
    .logo { width:116px; height:116px; }
    h1 { font-size:28px; }
    .action-btn { padding:14px; gap:12px; }
    .button-copy strong { font-size:15px; }
    .button-icon { width:36px; height:40px; }
    .location iframe { height:220px; }
}
@media(max-width:350px) { .shell { padding-inline:14px; } .action-btn { padding:12px; gap:9px; } .button-copy small { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; scroll-behavior:auto!important; } }

/* Logo and two clear, generous actions. */
.shell { border-top:0; box-shadow:none; background:transparent; padding:12px 12px 22px; }
.page { padding-top:26px; }
.header { padding-bottom:30px; }
.logo { width:154px; height:154px; border:0; padding:0; box-shadow:0 8px 28px #17000266; }
.action-btn { min-height:78px; border-radius:16px; gap:14px; padding:16px 20px; }
.button-copy strong { font-size:22px; font-weight:700; letter-spacing:-.4px; }
.button-icon { width:30px; height:34px; border-radius:0; background:transparent; }
.button-icon svg { width:28px; height:28px; }
.contact-link .button-icon { background:transparent; }
.offers-link { box-shadow:none; margin-bottom:0; background:#ffd34d; color:#4b2300; }
.contact-link { background:#187a48; border-color:#32905f; }
.actions { gap:14px; }
.location { margin-top:26px; padding-top:20px; }
@media(max-width:540px) { .page { padding:24px 16px 20px; } .shell { padding:0; } .logo { width:144px; height:144px; } .button-copy strong { font-size:21px; } .action-btn { padding:16px; gap:12px; } }
@media(max-width:350px) { .button-copy strong { font-size:19px; } .action-btn { padding:14px 12px; gap:10px; } .button-arrow { font-size:24px; } }
