:root{--dg:#014A1D;--gr:#8CC63E;--bl:#03BCE2;--or:#FD5713}*{box-sizing:border-box}html,body{margin:0;overflow-x:hidden}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#fff;color:#1a1a1a;line-height:1.55}
a{color:var(--dg);text-decoration:underline;text-decoration-color:var(--bl);text-decoration-thickness:3px;text-underline-offset:3px}
header{background:#fff;border-bottom:4px solid var(--gr);padding:.6rem 1rem;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between}header a{color:var(--dg);font-weight:700}.brand{text-decoration:none}.brand img{display:block;height:52px;width:auto}nav{display:flex;flex-wrap:wrap;gap:.9rem}nav a{text-decoration:none}nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--or)}
main{max-width:1100px;margin:0 auto;padding:1rem}h1,h2{color:var(--dg)}h1{font-size:clamp(1.5rem,5vw,2.4rem);margin:.4em 0}
.hero{text-align:center;margin:.5rem 0 1.5rem}.hero img{width:min(100%,520px);height:auto}.band{display:flex;height:12px;border-radius:6px;overflow:hidden;max-width:520px;margin:1rem auto 0}.band span{flex:1}.band span:nth-child(1){background:var(--gr)}.band span:nth-child(2){background:var(--bl)}.band span:nth-child(3){background:var(--or)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;margin:1.5rem 0}
.tile{padding:1.2rem;border-radius:12px;font-weight:700;font-size:1.2rem;color:#000;text-decoration:none}.t0{background:var(--or)}.t1{background:#FFB38F}.t2{background:var(--bl)}.t3{background:var(--gr)}
.btn{display:inline-block;padding:.7rem 1.1rem;border-radius:999px;background:var(--or);color:#000;font-weight:700;text-decoration:none;margin:.3rem .4rem .3rem 0}
.card{background:#fff;border:2px solid var(--gr);border-radius:12px;padding:1rem;margin:1rem 0}
footer{background:var(--dg);color:#fff;text-align:center;padding:2rem 1rem;font-size:.95rem}footer a{color:#fff;text-decoration-color:var(--bl)}
.vhero{position:relative;background:#014A1D;border-radius:16px;overflow:hidden;display:flex;justify-content:center;max-height:85vh}.vhero video{display:block;height:min(85vh,1280px);max-width:100%;aspect-ratio:9/16;object-fit:contain}.vhero .ov{position:absolute;inset:auto 0 0 0;padding:1.2rem;text-align:center;background:linear-gradient(transparent,rgba(0,0,0,.65))}.vhero .ov img{width:min(70%,320px);height:auto;background:#fff;border-radius:12px;padding:.4rem}.vhero h1{color:#fff;margin:.5rem 0 0;text-shadow:0 2px 6px #000}
@media(max-width:600px){.vhero video{height:auto;width:100%}}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1rem;align-items:start}.vcard{border:2px solid var(--gr);border-radius:12px;padding:.7rem;background:#fff}.vcard h3{color:var(--dg);margin:.5rem 0 .2rem}.vcard p{margin:0}
.vcard video,.about video{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;background:#000;border-radius:8px}.about{max-width:420px}
/* mobile-first layout v2 */
body{font-size:17px}main{padding:16px 18px}h1{font-size:clamp(1.6rem,6vw,2.8rem)}h2{font-size:clamp(1.3rem,4.5vw,2rem)}h3{font-size:clamp(1.1rem,3.5vw,1.4rem)}
header{position:sticky;top:0;z-index:20;height:56px;padding:0 12px;flex-wrap:nowrap}.brand img{height:40px;width:auto;max-width:45vw;object-fit:contain}
.hr{display:flex;align-items:center;gap:6px}.mt{position:absolute;opacity:0;pointer-events:none}
.lang,.mbtn{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border-radius:8px;font-weight:700;color:var(--dg);text-decoration:none;cursor:pointer;border:2px solid var(--gr);background:#fff}
header nav{display:none;position:absolute;top:56px;left:0;right:0;background:#fff;flex-direction:column;gap:0;border-bottom:4px solid var(--gr);box-shadow:0 6px 12px rgba(0,0,0,.1)}
.mt:checked~nav{display:flex}header nav a{min-height:48px;display:flex;align-items:center;padding:0 18px;border-top:1px solid #eee}
.vhero{height:calc(100svh - 56px);max-height:none;border-radius:0;margin:-16px -18px 0;align-items:center}.vhero video{height:100%;width:100%;max-width:100%;aspect-ratio:auto;object-fit:contain}
.vhero .ov{inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,.28)}.vhero .ov img{width:min(70vw,340px)}
.band{margin:0 -18px 1rem;max-width:none;border-radius:0}
.btn{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;margin:.5rem 0}
.tile{min-height:56px;display:flex;align-items:center}
.vcard video,.about video{max-height:70svh}
footer{display:flex;flex-direction:column;gap:.2rem;padding:1.5rem 18px calc(80px + env(safe-area-inset-bottom))}footer p{margin:.2rem 0}footer a{display:inline-block;min-height:44px;line-height:44px}
.bbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:3px solid var(--gr)}.bbar a{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:999px;font-weight:700;text-decoration:none;color:#000;background:var(--or)}.bbar a+a{background:var(--bl)}
@media(min-width:800px){main{padding:24px}.mbtn{display:none}header nav{display:flex;position:static;flex-direction:row;box-shadow:none;border:0;background:transparent}header nav a{border:0;padding:0 10px}.hr{flex-direction:row-reverse}
.vhero{margin:-24px -24px 0}.band{margin:0 -24px 1rem}.btn{display:inline-flex;width:auto;padding:0 1.4rem;margin:.3rem .4rem .3rem 0}.bbar{display:none}footer{padding-bottom:2rem}main{max-width:1100px}}
/* v3: WhatsApp + rectangular buttons */
.brand img{height:46px}.wa{flex:none}.wal{display:inline-flex!important;align-items:center;gap:6px;min-height:44px}
.btn,.bbar a{border-radius:4px;min-height:40px;height:40px;font-size:15px;font-weight:600;padding:0 14px;gap:6px;display:flex;align-items:center;justify-content:center;width:100%;margin:.4rem 0}
.bbar{gap:6px;padding:6px 10px calc(6px + env(safe-area-inset-bottom))}.bbar a{flex:1 1 0;width:auto;margin:0;padding:0 6px;min-height:44px;height:44px}
.btn.wab,.bbar a.wab{background:#25D366;color:#000}
.lang,.mbtn{border-radius:4px;font-size:15px;font-weight:600}
.tile{border-radius:4px}
@media(min-width:800px){.btn{display:inline-flex;width:auto;min-width:220px;margin:.3rem .4rem .3rem 0}}
@media(max-width:799px){.vhero video{object-fit:cover}}
header nav a{font-size:16px}
.svc ul{padding-left:1.2rem;margin:.5rem 0 1rem}.svc li{margin:.35rem 0}
.reviews{margin:2rem 0}.stars{font-weight:700;color:var(--dg)}.stars span{color:#E8A200;letter-spacing:2px}.rv{margin:1rem 0;padding:1rem;border-left:4px solid var(--or);background:#f7fbf2;border-radius:4px}.rv p{margin:0 0 .5rem}.rv .tr{color:#333;font-style:italic}.rv footer{background:none;color:var(--dg);padding:0;font-weight:600;text-align:left;display:block}.small{font-size:15px;color:#444}
/* v4 logo + polish */
header{height:64px;background:#fff}.brand img{height:54px;max-width:50vw}header nav{top:64px}.vhero{height:calc(100svh - 64px)}
.vhero .ov{background:linear-gradient(rgba(0,0,0,.15),rgba(0,0,0,.35));gap:14px}
.vhero .ov img{width:min(70vw,280px);background:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.vhero h1{background:rgba(1,74,29,.88);color:#fff;padding:8px 16px;border-radius:6px;text-shadow:none;margin:0;font-size:clamp(1.4rem,6vw,2.2rem)}
main>h1:first-child{margin-top:8px}h2{margin:2rem 0 .75rem}h3{margin:.6rem 0 .3rem}p{margin:0 0 1rem}
.vcard,.card,.rv{border-radius:6px}.vcard{border:2px solid var(--gr);padding:10px}.vcard p{font-size:16px}
.svc ul{list-style:none;padding:0}.svc li{padding:10px 12px;border-left:4px solid var(--bl);background:#f2fbfd;margin:6px 0;border-radius:4px}
.tiles{gap:10px}.tile{border-radius:4px;min-height:52px;font-size:1.1rem}
footer p{margin:.15rem 0}
header{height:68px}.brand img{height:60px}header nav{top:68px}.vhero{height:calc(100svh - 68px)}@media(min-width:800px){.vhero{height:calc(100svh - 68px)}}
.gal2{columns:2 160px;column-gap:10px}.gal2 figure{break-inside:avoid;margin:0 0 10px}.gal2 img{display:block;width:100%;height:auto;border-radius:4px;background:#eee}
@media(min-width:800px){.gal2{columns:3}}.hrs{font-weight:600}
picture{display:contents}.gal2 img{max-height:70svh;object-fit:contain;width:100%;height:auto}
.brand img{width:auto}
/* v5 overflow hardening */
*,*::before,*::after{box-sizing:border-box}html,body{overflow-x:hidden;overflow-x:clip;max-width:100%}
img,video,picture,svg,iframe{max-width:100%;height:auto;display:block}
.brand img{height:60px;width:auto}.hr svg,.bbar svg,.wal svg,.btn svg{display:inline-block;height:20px;width:20px}
main,section,article,figure,header,footer,.vgrid>*,.tiles>*,.gal2>*,.hr>*,.bbar>*{min-width:0}
.vhero{margin:0 0 0;border-radius:6px;width:100%}.band{margin:0 0 1rem;border-radius:0 0 6px 6px}
.vhero video{width:100%}
.gal2{columns:auto;display:grid;grid-template-columns:1fr;gap:14px}.gal2 figure{margin:0}.gal2 img{width:auto;max-width:100%;max-height:70svh;margin:0 auto;border-radius:6px}
@media(min-width:800px){.gal2{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.vhero{margin:0}.band{margin:0 0 1rem}}
blockquote{margin-left:0;margin-right:0}
.gal2 img{width:100%;height:auto;max-height:70svh;object-fit:contain;background:#f4f7f1}
.vhero{height:calc(100svh - 68px - 64px)}@media(min-width:800px){.vhero{height:calc(100svh - 68px)}}
footer a{line-height:1.4;padding:11px 0;min-height:44px}footer p{margin:0}
main p>.btn+.btn{margin-top:10px}main .btn{margin:10px 0}
.gal2 figure figcaption{font-size:15px;color:#333;padding:6px 2px 0;line-height:1.4}.gal2.full{gap:22px}
.gal2.teaser{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gal2.teaser img{aspect-ratio:auto;max-height:none}
.gal2 img{width:auto;max-width:100%;height:auto;max-height:70svh;object-fit:contain;background:none;margin:0 auto}
.gal2.teaser{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:center}.gal2.teaser img{aspect-ratio:auto 4/5;width:100%;height:auto;max-height:none;object-fit:contain;background:#f4f7f1}
.gal2 figure figcaption{text-align:left}
.gal2.teaser img{aspect-ratio:auto;background:none}
