/* Réplica estática IRNEL: folha de estilo legível e editável, sem framework ou etapa de compilação. */
:root { --brown:#45273a; --gold:#b59659; --page:#fdfcf8; --pale:#f9fafb; --text:#332c28; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--page); color:var(--text); font-family:"Inter",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
img,svg { display:block; }
svg { fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.svg-library { position:absolute; width:0; height:0; overflow:hidden; }
h1,h2,h3 { font-family:"Playfair Display",Georgia,serif; letter-spacing:-.025em; }
.page-container,.header-shell,.footer-shell { width:100%; max-width:1280px; margin:0 auto; padding:0 2rem; }

.site-header { position:fixed; z-index:50; top:0; left:0; width:100%; background:rgba(255,255,255,.95); box-shadow:0 1px 3px rgba(0,0,0,.1); backdrop-filter:blur(4px); }
.header-row { display:flex; height:8rem; align-items:center; justify-content:space-between; }
.brand-link { display:flex; flex-shrink:0; align-items:center; }
.brand-link img { width:auto; height:9rem; object-fit:contain; }
.desktop-nav { display:flex; gap:2rem; }
.desktop-nav a { position:relative; padding:.5rem 0; color:#4b5563; font-size:1.125rem; font-weight:500; transition:.3s; }
.desktop-nav a::after { position:absolute; right:0; bottom:0; left:0; height:2px; background:var(--gold); content:""; transform:scaleX(0); transform-origin:right; transition:transform .3s; }
.desktop-nav a:hover,.desktop-nav a.active { color:var(--brown); }
.desktop-nav a.active { font-weight:600; }
.desktop-nav a:hover::after,.desktop-nav a.active::after { transform:scaleX(1); transform-origin:left; }
.desktop-contact { display:flex; gap:.75rem; }
.contact-circle { display:grid; width:2.25rem; height:2.25rem; place-items:center; border-radius:50%; color:#fff; box-shadow:0 4px 6px rgba(0,0,0,.12); transition:.3s; }
.contact-circle:hover { transform:translateY(-2px); }
.contact-circle svg { width:1.25rem; height:1.25rem; }
.whatsapp { background:#22c55e; }
.phone { background:#3b82f6; }
.menu-toggle,.mobile-nav { display:none; }

.hero { position:relative; display:flex; height:90vh; min-height:650px; align-items:center; overflow:hidden; }
.hero-slides,.hero-slide,.hero-shade { position:absolute; inset:0; }
.hero-slide { background-position:center; background-size:cover; opacity:0; transition:opacity 2s ease-in-out; }
.hero-slide.active { opacity:1; }
.hero-shade { background:rgba(0,0,0,.5); }
.hero-content { position:relative; z-index:1; width:100%; max-width:896px; margin:0 auto; padding:0 2rem; color:white; text-align:center; animation:heroIn 1s both; }
.hero h1 { margin:0 0 1.5rem; font-size:4.5rem; line-height:1.25; text-shadow:0 4px 4px rgba(0,0,0,.28); }
.hero h2 { margin:0 0 2rem; color:var(--gold); font-size:2.25rem; font-style:italic; text-shadow:0 3px 3px rgba(0,0,0,.22); }
.hero p { max-width:672px; margin:0 auto; color:rgba(255,255,255,.9); font-size:1.5rem; font-weight:300; line-height:1.625; }
@keyframes heroIn { from { opacity:0; transform:scale(.95); } to { opacity:1; transform:scale(1); } }

.section { padding:5rem 0; }
.services-section,.testimonials-section { background:white; }
.pale-section { background:var(--pale); }
.section-title { position:relative; z-index:0; width:max-content; max-width:100%; margin:0 auto 4rem; padding:.75rem 2rem; color:var(--brown); font-size:2.25rem; text-align:center; }
.section-title::before { position:absolute; z-index:-1; inset:0; border-radius:.5rem; background:rgba(181,150,89,.2); content:""; }
.services-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:3rem; }
.services-carousel { position:relative; height:400px; overflow:hidden; border-radius:.5rem; box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1); }
.service-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .6s; }
.service-photo.active { opacity:1; }
.carousel-arrows { position:absolute; inset:0; display:flex; align-items:center; justify-content:space-between; padding:0 1rem; opacity:0; transition:.2s; }
.services-carousel:hover .carousel-arrows { opacity:1; }
.carousel-arrows button { display:grid; width:2.5rem; height:2.5rem; padding:0; place-items:center; border:0; border-radius:50%; background:rgba(0,0,0,.5); color:white; cursor:pointer; }
.carousel-arrows svg { width:1.5rem; height:1.5rem; }
.carousel-dots { position:absolute; right:0; bottom:1rem; left:0; display:flex; justify-content:center; gap:.5rem; }
.carousel-dots button { width:.5rem; height:.5rem; padding:0; border:0; border-radius:999px; background:rgba(255,255,255,.55); cursor:pointer; transition:.2s; }
.carousel-dots button.active { width:1rem; background:white; }
.service-cards { display:flex; flex-direction:column; gap:1.5rem; }
.service-card { display:flex; align-items:flex-start; gap:1rem; padding:1rem; border:1px solid #f3f4f6; border-radius:.5rem; background:white; box-shadow:0 1px 2px rgba(0,0,0,.05); transition:.3s; }
.service-card:hover { transform:translateY(-4px); box-shadow:0 20px 25px -5px rgba(0,0,0,.1); }
.service-icon { display:grid; flex-shrink:0; margin-top:.25rem; padding:.5rem; place-items:center; border-radius:50%; background:var(--gold); color:white; }
.service-icon svg { width:1.25rem; height:1.25rem; }
.service-card h3,.advantage-card h3 { margin:0 0 .25rem; color:var(--brown); font-size:1.125rem; }
.service-card p { margin:0; color:#4b5563; font-size:.875rem; line-height:1.625; }

.three-column-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.reason-card { display:flex; min-height:232px; flex-direction:column; align-items:center; justify-content:center; padding:2rem; border:1px solid #f3f4f6; border-radius:.75rem; background:white; text-align:center; box-shadow:0 4px 6px -1px rgba(0,0,0,.1); transition:.3s; }
.reason-card:hover,.advantage-card:hover,.testimonial-card:hover { transform:translateY(-8px); box-shadow:0 20px 25px -5px rgba(0,0,0,.1); }
.reason-icon { display:grid; width:5rem; height:5rem; margin-bottom:1.5rem; place-items:center; border-radius:50%; background:var(--pale); color:var(--gold); }
.reason-icon svg { width:2.5rem; height:2.5rem; }
.reason-card h3 { margin:0; color:var(--brown); font-size:1.25rem; }
.advantages-section { padding-top:5rem; }
.advantage-card { padding:2rem; border-top:4px solid var(--brown); border-radius:.75rem; background:white; text-align:center; box-shadow:0 1px 2px rgba(0,0,0,.05); transition:.3s; }
.advantage-icon { display:grid; width:4rem; height:4rem; margin:0 auto 1.5rem; place-items:center; border-radius:50%; background:var(--brown); color:white; box-shadow:0 10px 15px -3px rgba(69,39,58,.25); }
.advantage-icon svg { width:2rem; height:2rem; }
.advantage-card h3 { margin-bottom:.75rem; font-size:1.25rem; }
.advantage-card p { margin:0; color:#4b5563; font-size:.875rem; }
.testimonial-card { min-height:232px; padding:2rem; border:1px solid #f3f4f6; border-radius:.75rem; background:white; box-shadow:0 4px 6px -1px rgba(0,0,0,.1); transition:.3s; }
.testimonial-meta { display:flex; align-items:center; margin-bottom:1rem; }
.stars { color:var(--gold); letter-spacing:-1px; }
.testimonial-meta time { margin-left:auto; color:#9ca3af; font-size:.875rem; }
.testimonial-card p { margin:0 0 1.5rem; color:#4b5563; font-style:italic; }
.testimonial-card strong { color:var(--brown); }

.faq-container { width:100%; max-width:768px; margin:0 auto; padding:0 2rem; }
.faq-list { display:flex; flex-direction:column; gap:1rem; }
.faq-item { overflow:hidden; border:1px solid #e5e7eb; border-radius:.5rem; background:white; box-shadow:0 1px 2px rgba(0,0,0,.05); }
.faq-item > button { display:flex; width:100%; align-items:center; justify-content:space-between; gap:1rem; padding:1.5rem; border:0; background:white; color:var(--brown); font-size:1.125rem; font-weight:500; text-align:left; cursor:pointer; }
.faq-item button svg { width:1rem; height:1rem; flex-shrink:0; transition:transform .25s; }
.faq-item.open button svg { transform:rotate(180deg); }
.faq-answer { display:grid; grid-template-rows:0fr; color:#4b5563; line-height:1.625; transition:grid-template-rows .25s; }
.faq-answer p { min-height:0; overflow:hidden; margin:0; padding:0 1.5rem; }
.faq-item.open .faq-answer { grid-template-rows:1fr; }
.faq-item.open .faq-answer p { padding-bottom:1.5rem; }

.site-footer { padding:4rem 0 2rem; background:var(--brown); color:white; }
.footer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3rem; margin-bottom:3rem; }
.footer-about img { width:auto; height:5rem; margin-bottom:1.5rem; filter:brightness(0) invert(1); opacity:.8; }
.footer-about p,.newsletter-copy,.footer-links a,.contact-list span { color:#9ca3af; }
.footer-about p { margin:0 0 1.5rem; line-height:1.625; }
.social-links { display:flex; gap:1rem; }
.social-links a { color:#9ca3af; }
.social-links svg { width:1.5rem; height:1.5rem; }
.fill-icon { fill:currentColor; stroke:none; }
.site-footer h3 { margin:0 0 1.5rem; color:var(--gold); font-size:1.125rem; }
.footer-links,.contact-list { display:flex; margin:0; padding:0; flex-direction:column; gap:.75rem; list-style:none; }
.contact-list { gap:1rem; }
.contact-list li { display:flex; align-items:flex-start; }
.contact-list svg { width:1.25rem; height:1.25rem; margin:.25rem .75rem 0 0; flex-shrink:0; color:var(--gold); }
.newsletter-copy { margin:0 0 1rem; }
.newsletter { display:flex; flex-direction:column; gap:.75rem; }
.newsletter input { width:100%; padding:.5rem 1rem; border:1px solid rgba(255,255,255,.2); border-radius:.375rem; background:rgba(255,255,255,.1); color:white; outline:none; }
.newsletter button { padding:.5rem 1rem; border:0; border-radius:.375rem; background:var(--gold); color:white; font-weight:500; cursor:pointer; }
.footer-bottom { padding-top:2rem; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.6); font-size:.875rem; text-align:center; }

@media (max-width:1023px) { .page-container,.header-shell,.footer-shell { padding:0 1.5rem; } .desktop-nav { gap:1.25rem; } .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) {
  .page-container,.header-shell,.footer-shell,.faq-container { padding:0 1rem; }
  .header-row { height:6rem; }
  .brand-link img { height:7rem; }
  .desktop-nav,.desktop-contact { display:none; }
  .menu-toggle { display:grid; padding:.5rem; border:0; place-items:center; background:transparent; color:var(--brown); cursor:pointer; }
  .menu-toggle svg { grid-area:1/1; width:2rem; height:2rem; }
  .menu-close-icon { opacity:0; }
  .menu-toggle.open .menu-open-icon { opacity:0; }
  .menu-toggle.open .menu-close-icon { opacity:1; }
  .mobile-nav { position:fixed; z-index:40; top:6rem; right:0; bottom:0; left:0; display:none; overflow-y:auto; padding:1rem; background:white; text-align:center; }
  .mobile-nav.open { display:flex; flex-direction:column; align-items:center; gap:1rem; }
  .mobile-nav > a { width:100%; padding:.5rem; color:#374151; font-size:1.125rem; font-weight:500; }
  .mobile-nav > a.active { color:var(--brown); font-weight:700; }
  .mobile-nav .visit-button { display:flex; max-width:320px; align-items:center; justify-content:center; border-radius:999px; background:var(--gold); color:white; }
  .visit-button svg,.mobile-actions svg { width:1rem; height:1rem; margin-right:.5rem; }
  .mobile-actions { display:flex; gap:1rem; }
  .mobile-actions a { display:flex; align-items:center; padding:.5rem 1rem; border-radius:999px; color:white; font-size:.875rem; font-weight:600; }
  .mobile-whatsapp { background:#22c55e; }
  .mobile-phone { background:#3b82f6; }
  .hero { min-height:600px; }
  .hero-content { padding:0 1rem; }
  .hero h1 { font-size:3rem; }
  .hero h2 { font-size:1.5rem; }
  .hero p { font-size:1.25rem; }
  .section-title { font-size:1.875rem; }
  .services-layout,.three-column-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }

/* Páginas internas: reprodução da composição original do site IRNEL. */
.internal-page { min-height:100vh; padding-top:8rem; background:#f9fafb; }
.page-hero { padding:4rem 0; background:var(--brown); color:white; }
.page-hero-content { text-align:center; }
.page-hero h1 { margin:0 0 1rem; font-size:3rem; line-height:1.1; }
.page-hero p { max-width:672px; margin:0 auto; color:#e5e7eb; font-size:1.125rem; line-height:1.55; }
.gold-pill { display:inline-flex; align-items:center; justify-content:center; padding:1rem 2rem; border-radius:999px; background:var(--gold); color:white; font-size:1.125rem; font-weight:500; box-shadow:0 10px 15px -3px rgba(0,0,0,.15); transition:.3s; }
.gold-pill:hover { background:var(--brown); transform:scale(1.05); }

/* Produtos */
.products-section { padding:4rem 0; }
.products-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem; }
.product-card { display:flex; min-width:0; flex-direction:column; overflow:hidden; border-radius:.75rem; background:white; box-shadow:0 4px 6px -1px rgba(0,0,0,.1); transition:box-shadow .3s; }
.product-card:hover { box-shadow:0 20px 25px -5px rgba(0,0,0,.12); }
.product-gallery { position:relative; width:100%; height:20rem; overflow:hidden; background:#fff; }
.product-gallery img { width:100%; height:100%; object-fit:contain; transition:opacity .25s; }
.product-arrows { position:absolute; inset:0; display:flex; align-items:center; justify-content:space-between; padding:0 1rem; opacity:0; transition:.2s; }
.product-card:hover .product-arrows { opacity:1; }
.product-arrows button { display:grid; width:2.5rem; height:2.5rem; padding:0; place-items:center; border:0; border-radius:50%; background:rgba(0,0,0,.5); color:white; cursor:pointer; }
.product-arrows svg { width:1.5rem; height:1.5rem; }
.product-dots { position:absolute; right:0; bottom:1rem; left:0; display:flex; justify-content:center; gap:.5rem; }
.product-dots button { width:.5rem; height:.5rem; padding:0; border:0; border-radius:999px; background:rgba(255,255,255,.55); box-shadow:0 1px 3px rgba(0,0,0,.35); cursor:pointer; transition:.2s; }
.product-dots button.active { width:1rem; background:white; }
.product-content { display:flex; flex:1; flex-direction:column; align-items:center; padding:2rem; text-align:center; }
.product-content h2 { margin:0 0 .75rem; color:var(--brown); font-size:1.5rem; }
.product-short { margin:0 0 1.5rem; color:#4b5563; }
.product-details { display:none; color:#4b5563; line-height:1.65; text-align:left; animation:detailsIn .3s both; }
.product-details p { margin:.5rem 0; }
.product-card.expanded .product-details { display:block; }
.product-details-toggle { display:flex; width:100%; max-width:320px; height:2.5rem; margin-top:auto; align-items:center; justify-content:center; gap:.5rem; border:2px solid var(--brown); background:white; color:var(--brown); cursor:pointer; transition:.2s; }
.product-details-toggle:hover { background:var(--brown); color:white; }
.product-details-toggle svg { width:1rem; height:1rem; transition:.25s; }
.product-card.expanded .product-details-toggle { margin-top:1.5rem; }
.product-card.expanded .product-details-toggle svg { transform:rotate(180deg); }
@keyframes detailsIn { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
.products-cta { padding:4rem 0; border-top:1px solid #f3f4f6; background:white; text-align:center; }
.products-cta h2 { margin:0 0 1.5rem; color:var(--brown); font-size:1.875rem; }
.products-cta p { max-width:672px; margin:0 auto 2rem; color:#4b5563; line-height:1.625; }

/* Quem Somos */
.about-page { background:white; }
.history-section { padding:5rem 0; }
.history-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:4rem; }
.history-copy h2 { margin:0 0 1.5rem; color:var(--brown); font-size:1.875rem; }
.history-copy p { margin:0 0 1rem; color:#4b5563; font-size:1.125rem; line-height:1.625; }
.history-copy .history-emphasis { color:var(--brown); font-weight:500; }
.history-highlights { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin-top:2rem; }
.history-highlights div { display:flex; align-items:center; gap:.75rem; color:#374151; font-weight:500; }
.history-highlights svg { width:1.5rem; height:1.5rem; flex-shrink:0; color:var(--gold); stroke-width:3; }
.history-image-frame { position:relative; }
.history-gold-frame { position:absolute; z-index:0; top:-1.5rem; right:-1.5rem; width:100%; height:100%; border:4px solid var(--gold); border-radius:.5rem; }
.history-image-frame img { position:relative; z-index:1; width:100%; height:auto; padding:2rem; border-radius:.5rem; background:white; box-shadow:0 20px 25px -5px rgba(0,0,0,.1); object-fit:contain; }
.values-section { padding:5rem 0; background:#f9fafb; }
.values-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; text-align:center; }
.value-card { padding:2rem; border-radius:.75rem; background:white; box-shadow:0 1px 3px rgba(0,0,0,.08); }
.value-card.featured { border-top:4px solid var(--gold); transform:translateY(-1rem); }
.value-icon { display:grid; width:4rem; height:4rem; margin:0 auto 1.5rem; place-items:center; border-radius:50%; background:rgba(181,150,89,.12); color:var(--gold); }
.value-icon svg { width:2rem; height:2rem; }
.value-card h2 { margin:0 0 1rem; color:var(--brown); font-size:1.5rem; }
.value-card p { margin:0; color:#4b5563; line-height:1.625; }
.brown-cta { padding:4rem 0; background:var(--brown); color:white; text-align:center; }
.brown-cta h2 { margin:0 0 1.5rem; font-size:1.875rem; }
.brown-cta .gold-pill:hover { background:white; color:var(--brown); }

/* Fale Conosco */
.contact-content { padding:3rem 0 5rem; }
.contact-container { max-width:1152px; }
.contact-intro { max-width:768px; margin:0 auto 4rem; text-align:center; }
.contact-intro h2 { margin:0 0 1rem; color:#111827; font-family:"Playfair Display",Georgia,serif; font-size:1.5rem; letter-spacing:0; }
.contact-intro p { margin:.5rem 0; color:#4b5563; line-height:1.625; }
.contact-intro h3 { margin:2.5rem 0 0; color:#111827; font-family:"Playfair Display",Georgia,serif; font-size:1.25rem; letter-spacing:0; }
.contact-channels { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; margin-bottom:4rem; }
.channel-card { padding:2rem; border-radius:.75rem; background:white; text-align:center; box-shadow:0 1px 3px rgba(0,0,0,.08); cursor:pointer; transition:.25s; }
.channel-card:hover { transform:translateY(-3px); box-shadow:0 8px 16px rgba(0,0,0,.1); }
.channel-card > svg { width:2.5rem; height:2.5rem; margin:0 auto 1.5rem; transition:.25s; }
.channel-card:hover > svg { transform:scale(1.1); }
.channel-card h3 { margin:0 0 .75rem; color:#111827; font-family:"Playfair Display",Georgia,serif; font-size:1.125rem; letter-spacing:0; }
.channel-card p { margin:0; color:#6b7280; font-size:.875rem; line-height:1.6; }
.channel-card.visit { border-top:4px solid #facc15; } .channel-card.visit > svg { color:#facc15; }
.channel-card.support { border-top:4px solid #a855f7; } .channel-card.support > svg { color:#a855f7; }
.channel-card.order { border-top:4px solid #f97316; } .channel-card.order > svg { color:#f97316; }
.channel-card.direct { border-top:4px solid #22c55e; } .channel-card.direct > svg { color:#22c55e; }
.contact-form-card { max-width:672px; margin:0 auto; padding:2.5rem; border-radius:.75rem; background:white; box-shadow:0 10px 20px rgba(0,0,0,.1); }
.contact-form-card h3 { margin:0 0 2rem; color:#b8860b; font-family:"Inter",Arial,sans-serif; font-size:1.25rem; text-align:center; letter-spacing:0; }
.contact-form { display:flex; flex-direction:column; gap:1.5rem; }
.contact-form label { color:#374151; font-size:.875rem; font-weight:500; }
.contact-form input,.contact-form textarea { display:block; width:100%; margin-top:.5rem; padding:.75rem 1rem; border:1px solid #e5e7eb; border-radius:.375rem; background:#f9fafb; color:#111827; outline:none; }
.contact-form input { height:3rem; }
.contact-form textarea { min-height:150px; resize:none; }
.contact-form input:focus,.contact-form textarea:focus { border-color:#b8860b; box-shadow:0 0 0 2px rgba(184,134,11,.15); }
.contact-form button { width:100%; padding:1rem; border:0; border-radius:.375rem; background:#e6b800; color:#1f2937; font-size:1.125rem; font-weight:700; cursor:pointer; transition:.2s; }
.contact-form button:hover { background:#d4a000; }

/* Blog */
.blog-page { background:#f9fafb; }
.blog-hero { position:relative; display:flex; height:50vh; min-height:420px; align-items:center; justify-content:center; overflow:hidden; background-position:center; background-size:cover; }
.blog-hero-shade { position:absolute; inset:0; background:rgba(0,0,0,.5); }
.blog-hero .page-container { position:relative; z-index:1; color:white; text-align:center; }
.blog-hero h1 { margin:0 0 1.5rem; font-size:3.75rem; }
.blog-hero p { max-width:672px; margin:0 auto; color:#e5e7eb; font-size:1.25rem; line-height:1.6; }
.blog-section { padding:5rem 0; }
.blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.blog-card { display:flex; height:100%; flex-direction:column; overflow:hidden; border-radius:.75rem; background:white; box-shadow:0 4px 6px -1px rgba(0,0,0,.1); transition:.3s; }
.blog-card:hover { box-shadow:0 20px 25px -5px rgba(0,0,0,.12); }
.blog-image { position:relative; height:14rem; overflow:hidden; }
.blog-image img { width:100%; height:100%; object-fit:cover; transition:transform .7s; }
.blog-card:hover .blog-image img { transform:scale(1.1); }
.blog-image > span { position:absolute; top:1rem; left:1rem; padding:.25rem .75rem; border-radius:999px; background:var(--gold); color:white; font-size:.75rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.blog-content { display:flex; flex:1; flex-direction:column; padding:1.5rem; }
.blog-meta { display:flex; align-items:center; gap:1rem; margin-bottom:1rem; color:#6b7280; font-size:.875rem; }
.blog-meta span { display:flex; align-items:center; gap:.35rem; }
.blog-meta svg { width:1rem; height:1rem; }
.blog-content h2 { margin:0 0 .75rem; color:var(--brown); font-size:1.25rem; transition:.2s; }
.blog-card:hover .blog-content h2 { color:var(--gold); }
.blog-content > p { flex:1; margin:0 0 1.5rem; color:#4b5563; line-height:1.6; }
.read-more { display:flex; align-items:center; align-self:flex-start; gap:.5rem; padding:0; border:0; background:transparent; color:var(--brown); font-weight:600; cursor:pointer; transition:.25s; }
.read-more svg { width:1rem; height:1rem; }
.blog-card:hover .read-more { color:var(--gold); transform:translateX(.5rem); }
.pagination { display:flex; justify-content:center; gap:.5rem; margin-top:4rem; }
.pagination button { min-width:2.5rem; height:2.5rem; padding:0 .75rem; border:1px solid #d1d5db; background:white; color:#4b5563; cursor:pointer; }
.pagination button.active { border-color:var(--brown); background:var(--brown); color:white; }
.pagination span { display:flex; align-items:flex-end; padding:0 .5rem; color:#9ca3af; }

/* 404 */
.not-found-page { display:grid; min-height:calc(100vh - 8rem); place-items:center; background:#f9fafb; text-align:center; }
.not-found-page section { padding:6rem 0; }
.not-found-code { margin:0; color:var(--gold); font-family:"Playfair Display",Georgia,serif; font-size:7rem; font-weight:700; line-height:1; }
.not-found-page h1 { margin:1rem 0; color:var(--brown); font-size:2.5rem; }
.not-found-page section p:not(.not-found-code) { margin:0 0 2rem; color:#6b7280; }

@media (max-width:1023px) {
  .contact-channels { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .internal-page { padding-top:6rem; }
  .page-hero { padding:3.5rem 0; }
  .page-hero h1 { font-size:2.25rem; }
  .products-grid,.history-grid,.values-grid,.contact-channels,.blog-grid { grid-template-columns:1fr; }
  .product-gallery { height:16rem; }
  .history-grid { gap:3rem; }
  .history-highlights { grid-template-columns:1fr; }
  .history-gold-frame { top:-1rem; right:-.75rem; }
  .value-card.featured { transform:none; }
  .contact-form-card { padding:1.5rem; }
  .blog-hero { min-height:360px; }
  .blog-hero h1 { font-size:3rem; }
  .blog-hero p { font-size:1.125rem; }
  .blog-meta { align-items:flex-start; flex-direction:column; gap:.4rem; }
  .not-found-page { min-height:calc(100vh - 6rem); }
}
