:root { --blue:#003d73; --blue-deep:#062a4d; --yellow:#ffd400; --ink:#102337; --muted:#617184; --line:#dce5ec; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
.announcement { min-height:38px; padding:8px max(20px,calc((100vw - 1180px)/2)); display:flex; justify-content:space-between; align-items:center; gap:20px; background:var(--yellow); color:var(--blue-deep); font-size:.86rem; }
.announcement a { font-weight:800; }
.site-header { height:92px; max-width:1220px; margin:auto; padding:10px 20px; display:flex; align-items:center; gap:36px; }
.brand img { display:block; width:170px; height:70px; object-fit:contain; }
nav { display:flex; gap:30px; margin-left:auto; font-size:.94rem; font-weight:700; }
nav a:hover { color:var(--blue); }
.button { min-height:52px; padding:0 24px; display:inline-flex; align-items:center; justify-content:center; border:2px solid var(--blue); border-radius:9px; background:var(--blue); color:#fff; font-weight:800; transition:.2s ease; }
.button:hover { transform:translateY(-2px); background:var(--blue-deep); }
.button-small { min-height:43px; padding:0 18px; }
.button-secondary { background:#fff; color:var(--blue); }
.button-dark { background:var(--blue-deep); border-color:var(--blue-deep); }
.hero { max-width:1220px; min-height:590px; margin:auto; padding:54px 20px 78px; display:grid; grid-template-columns:.95fr 1.05fr; gap:54px; align-items:center; }
.eyebrow { margin:0 0 14px; color:var(--blue); font-size:.77rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:22px; font-size:clamp(3rem,5.2vw,5.25rem); line-height:.94; letter-spacing:-.055em; color:var(--blue-deep); }
h1 em { color:var(--blue); font-style:normal; position:relative; }
h1 em:after { content:""; height:9px; position:absolute; left:0; right:0; bottom:-5px; border-radius:10px; background:var(--yellow); z-index:-1; }
.hero-text { max-width:570px; margin-bottom:28px; color:var(--muted); font-size:1.12rem; line-height:1.7; }
.hero-actions,.visit-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.quick-facts { margin-top:32px; padding-top:22px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:28px; color:var(--muted); font-size:.88rem; }
.quick-facts b { display:block; color:var(--ink); margin-bottom:4px; }
.hero-photo { height:480px; position:relative; border-radius:28px 4px 28px 4px; background:var(--yellow); box-shadow:18px 18px 0 var(--yellow); overflow:hidden; }
.hero-photo img { width:100%; height:100%; object-fit:cover; }
.photo-badge { position:absolute; right:18px; bottom:18px; padding:15px 20px; display:flex; flex-direction:column; background:#fff; border-radius:11px; box-shadow:0 10px 30px #002d5130; }
.photo-badge strong { color:var(--blue); font-size:1.14rem; }
.photo-badge span { color:var(--muted); font-size:.8rem; margin-top:3px; }
.section { padding:96px max(20px,calc((100vw - 1180px)/2)); }
.products { background:#f4f8fb; }
.section-heading { margin-bottom:38px; display:flex; align-items:end; justify-content:space-between; gap:40px; }
.section-heading h2,.layaway-section h2,.visit h2 { margin-bottom:0; color:var(--blue-deep); font-size:clamp(2.2rem,3.8vw,3.6rem); line-height:1.02; letter-spacing:-.04em; }
.section-heading>p { max-width:430px; margin:0; color:var(--muted); line-height:1.6; }
.category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.category-card { min-height:260px; padding:27px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:15px; background:#fff; transition:.2s ease; }
.category-card:hover { transform:translateY(-4px); border-color:#9abbd7; box-shadow:0 16px 40px #003d7312; }
.category-icon { width:54px; height:54px; margin-bottom:25px; display:grid; place-items:center; border-radius:12px; background:var(--yellow); color:var(--blue-deep); font-size:1.8rem; font-weight:900; }
.category-card h3 { margin-bottom:9px; color:var(--blue-deep); font-size:1.35rem; }
.category-card p { color:var(--muted); line-height:1.55; }
.category-card a { margin-top:auto; color:var(--blue); font-size:.85rem; font-weight:800; }
.layaway-section { max-width:1180px; margin:90px auto; padding:48px 52px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:40px; border-radius:22px; background:var(--yellow); }
.layaway-price { width:148px; height:148px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:4px solid var(--blue-deep); border-radius:50%; transform:rotate(-5deg); }
.layaway-price span { font-weight:800; font-size:.84rem; text-transform:uppercase; }
.layaway-price strong { color:var(--blue); font-size:3.25rem; line-height:1; }
.layaway-section p:last-child { max-width:660px; margin:14px 0 0; line-height:1.6; }
.layaway-section .eyebrow { color:var(--blue-deep); }
.services { padding-top:76px; }
.compact { margin-bottom:45px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.service-grid article { padding:32px 32px 34px 0; border-bottom:1px solid var(--line); }
.service-grid article+article { padding-left:32px; border-left:1px solid var(--line); }
.service-grid span { display:block; margin-bottom:42px; color:var(--blue); font-weight:900; }
.service-grid h3 { font-size:1.45rem; color:var(--blue-deep); }
.service-grid p { margin:0; color:var(--muted); line-height:1.65; }
.disclaimer { margin:20px 0 0; color:#718094; font-size:.76rem; line-height:1.5; }
.visit { display:grid; grid-template-columns:1fr 1fr; min-height:580px; background:var(--blue-deep); color:#fff; }
.visit-info { padding:82px max(40px,calc((100vw - 1180px)/2)); padding-right:70px; }
.visit .eyebrow { color:var(--yellow); }
.visit h2 { color:#fff; margin-bottom:28px; }
.visit address { margin-bottom:34px; color:#d8e5ef; font-size:1.12rem; line-height:1.7; font-style:normal; }
.visit dl { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin:0 0 38px; }
.visit dl div { padding-top:16px; border-top:1px solid #ffffff30; }
.visit dt { margin-bottom:8px; color:var(--yellow); font-size:.76rem; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.visit dd { margin:0; line-height:1.55; }
.visit .button { background:var(--yellow); color:var(--blue-deep); border-color:var(--yellow); }
.text-link { font-weight:800; }
.visit-photo { min-height:500px; position:relative; overflow:hidden; }
.visit-photo img { width:100%; height:100%; object-fit:cover; transition:.35s ease; }
.visit-photo:hover img { transform:scale(1.025); }
.visit-photo span { position:absolute; right:24px; bottom:24px; padding:13px 17px; border-radius:8px; background:#fff; color:var(--blue-deep); font-weight:800; }
footer { padding:50px max(20px,calc((100vw - 1180px)/2)); display:grid; grid-template-columns:160px 1fr auto; align-items:center; gap:30px; background:#fff; }
footer img { width:150px; height:70px; object-fit:contain; }
footer p { margin:0; color:var(--muted); }
footer div { display:flex; gap:20px; color:var(--blue); font-weight:800; font-size:.88rem; }
footer small { grid-column:1/-1; padding-top:24px; border-top:1px solid var(--line); color:#85919e; }
.floating-whatsapp { position:fixed; right:22px; bottom:22px; z-index:10; min-height:52px; padding:0 18px 0 12px; display:flex; align-items:center; gap:9px; border-radius:30px; background:#25d366; color:#073b1b; box-shadow:0 8px 28px #0003; }
.floating-whatsapp span { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:#fff; font-size:1.2rem; }

@media (max-width:900px) {
  nav { display:none; } .site-header { height:78px; } .brand img { width:135px; height:58px; } .site-header .button { margin-left:auto; }
  .hero { grid-template-columns:1fr; padding-top:42px; } .hero-photo { height:400px; order:-1; }
  .category-grid { grid-template-columns:repeat(2,1fr); }
  .layaway-section { margin:50px 20px; padding:38px; grid-template-columns:auto 1fr; } .layaway-section .button { grid-column:1/-1; }
  .visit { grid-template-columns:1fr; } .visit-info { padding:68px 40px; }
  footer { grid-template-columns:140px 1fr; } footer div { grid-column:1/-1; }
}
@media (max-width:600px) {
  .announcement { justify-content:center; text-align:center; } .announcement a { display:none; }
  .site-header { padding-inline:16px; } .site-header .button-small { min-height:39px; padding:0 13px; font-size:.82rem; }
  .hero { gap:42px; padding:24px 16px 58px; } .hero-photo { height:270px; border-radius:18px 3px 18px 3px; box-shadow:9px 9px 0 var(--yellow); }
  h1 { font-size:3.25rem; } .hero-actions .button { width:100%; }
  .section { padding:70px 16px; } .section-heading { align-items:start; flex-direction:column; gap:18px; }
  .category-grid { grid-template-columns:1fr; } .category-card { min-height:230px; }
  .layaway-section { padding:32px 24px; grid-template-columns:1fr; text-align:center; } .layaway-price { margin:auto; }
  .service-grid { grid-template-columns:1fr; } .service-grid article+article { padding-left:0; border-left:0; }
  .visit-info { padding:64px 22px; } .visit dl { grid-template-columns:1fr; } .visit-actions .button { width:100%; } .visit-photo { min-height:330px; }
  footer { padding:42px 20px 100px; grid-template-columns:1fr; text-align:center; } footer img { margin:auto; } footer div { justify-content:center; flex-wrap:wrap; }
  .floating-whatsapp { right:14px; bottom:14px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
