:root{--g:#16a30a;--o:#f59e0b;--navy:#0f172a;--bg:#fff;--soft:#f8fafc;--tx:#1e293b;--mu:#64748b;--bd:#e2e8f0}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--tx)}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;margin:0}a{color:inherit;text-decoration:none}.w{max-width:1180px;margin:auto;padding:0 20px}
.top{background:var(--g);color:#fff;font-size:13px;padding:8px 0}.top .w{display:flex;gap:20px;flex-wrap:wrap}
header{position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--bd);z-index:5}header .w{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-family:'Playfair Display',serif;font-weight:700;font-size:20px;color:var(--g)}nav{display:flex;gap:26px;font-weight:500}nav a{padding:6px 0;border-bottom:2px solid transparent}nav a.on{color:var(--g);border-color:var(--g)}
.btn{display:inline-block;border:0;border-radius:999px;padding:11px 22px;font-weight:600;font-size:14px;cursor:pointer;color:#fff;background:var(--g)}.btn.o{background:linear-gradient(90deg,#f59e0b,#d97706)}.btn.wa{background:linear-gradient(90deg,#22c55e,#0f9488)}
.hero{height:340px;background:linear-gradient(180deg,rgba(0,0,0,.15),var(--bg)),linear-gradient(135deg,#f97316,#b45309 40%,#14532d);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}.hero h1{font-size:44px}.hero p{margin:10px 0 18px}
.sec{padding:56px 0}.alt{background:var(--soft)}.c{text-align:center}.eb{color:var(--g);font-size:12px;letter-spacing:.2em;font-weight:700;text-transform:uppercase;margin-bottom:8px}.sub{color:var(--mu);margin:8px 0 28px}
.grid{display:grid;gap:22px;grid-template-columns:repeat(3,1fr)}.card{background:var(--bg);border:1px solid var(--bd);border-radius:16px;overflow:hidden;text-align:left}
.img{height:170px;display:flex;align-items:center;justify-content:center;font-size:56px}.card .b{padding:16px}.card h3{font-size:17px;line-height:1.3;min-height:44px}
.pr{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--bd);margin-top:12px;padding-top:12px}.pr b{font-family:'Playfair Display',serif;color:var(--g);font-size:22px}.pr a{color:var(--g);font-weight:600;font-size:14px}
.dark{background:var(--navy);color:#fff}.dark .sub{color:#94a3b8}.dark .eb{color:var(--o)}.f4{display:grid;gap:18px;grid-template-columns:repeat(4,1fr)}
.box{background:#1a2338;border-radius:14px;padding:22px;text-align:center;font-size:14px;color:#94a3b8}.box b{display:block;color:#fff;margin:8px 0 6px}.n{font-family:'Playfair Display',serif;font-size:34px;color:var(--o);font-weight:700}
.cta{border-radius:22px;background:linear-gradient(135deg,#16a30a,#0b6b06);color:#fff;text-align:center;padding:48px 20px;margin:20px 0 56px}.cta .btn{margin:6px}
.bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}select,input,textarea{font:inherit;color:var(--tx);background:var(--soft);border:1px solid var(--bd);border-radius:12px;padding:11px 14px;width:100%}.bar select{width:auto}.bar input{width:240px;margin-left:auto}
.pg{display:flex;gap:8px;justify-content:center;margin-top:28px}.pg button{width:38px;height:38px;border-radius:10px;border:1px solid var(--bd);background:var(--bg);cursor:pointer}.pg .on{background:var(--g);color:#fff}
.gal{display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.gal div{aspect-ratio:1;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:52px}
.two{display:grid;gap:40px;grid-template-columns:1fr 1fr;align-items:center}.info{display:grid;gap:18px;grid-template-columns:1fr 1fr;margin:24px 0}.info div{background:var(--soft);border:1px solid var(--bd);border-radius:16px;padding:20px;text-align:left}.info b{display:block;margin-bottom:4px}
.form{border:1px solid var(--bd);border-radius:22px;padding:30px;box-shadow:0 10px 30px rgba(0,0,0,.08)}.form .r{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}.form label{font-size:13px;font-weight:600;display:block;margin-bottom:6px}.form .btn{width:100%;margin-top:10px;padding:14px}#status{margin-top:12px;font-weight:600}
footer{background:var(--navy);color:#94a3b8;padding:48px 0 20px;font-size:14px}.fg{display:grid;gap:28px;grid-template-columns:2fr 1fr 1fr 1.6fr}footer h4{color:#fff;font-size:13px;margin:0 0 14px}footer a{display:block;margin-bottom:10px}.cp{border-top:1px solid #1e293b;margin-top:28px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media(max-width:860px){.grid,.f4,.gal{grid-template-columns:1fr 1fr}.two,.info,.fg,.form .r{grid-template-columns:1fr}nav{gap:14px;font-size:13px}.hero h1{font-size:30px}.cta2{display:none}}
@media(max-width:520px){.grid{grid-template-columns:1fr}header .w{height:auto;flex-wrap:wrap;padding:10px 20px}nav{width:100%;overflow-x:auto}}

.dt{padding-top:14px}.crumb{font-size:12px;color:var(--mu)}.dh{font-size:32px;margin:10px 0 4px}.loc{color:var(--g);margin:0 0 20px;font-size:14px}
.dl{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start}.dimg{height:380px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:120px}
.se{display:grid;grid-template-columns:1fr 1fr;background:var(--soft);border:1px solid var(--bd);border-radius:14px;margin:20px 0;padding:14px 20px}.se b,.se small{display:block}.se small{color:var(--mu);font-size:11px}
.sh{font-family:Inter,sans-serif;font-size:16px;border-bottom:2px solid var(--bd);padding-bottom:10px;margin:30px 0 14px}.ov{line-height:1.8;color:var(--mu)}
.it{background:var(--soft);border-left:4px solid var(--g);border-radius:12px;padding:18px 22px;line-height:1.6;font-size:14px}.it p{margin:0 0 10px}
.ie{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:14px}.ie ul{color:var(--mu);line-height:2;padding-left:18px}.gr{color:var(--g);font-weight:700}.rd{color:#dc2626;font-weight:700}
.pc{position:sticky;top:90px;border:1px solid var(--bd);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.08)}.ph{background:var(--g);color:#fff;text-align:center;padding:20px}.big{font-family:'Playfair Display',serif;font-size:34px;font-weight:700}
.pb{padding:20px}.pb p{display:flex;justify-content:space-between;font-size:14px;color:var(--mu);margin:0 0 12px}.pb .btn{display:block;text-align:center;margin-top:10px}.btn.out{background:var(--bg);color:var(--tx);border:1px solid var(--bd)}.pf{background:var(--soft);text-align:center;font-size:12px;color:var(--g);padding:12px}
@media(max-width:860px){.dl{grid-template-columns:1fr}.pc{position:static}.dimg{height:240px}.ie{grid-template-columns:1fr}}

.ts{display:flex;gap:16px;align-items:center;background:var(--soft);border:1px solid var(--bd);border-radius:16px;padding:18px;margin-bottom:18px}.tm{width:76px;height:76px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:36px}
.cs{border:1px solid var(--bd);border-radius:16px;padding:26px;margin-bottom:22px}.cs h3{font-family:Inter,sans-serif;font-size:17px;border-bottom:2px solid var(--bd);padding-bottom:12px;margin-bottom:18px}.cs label{font-size:13px;font-weight:600;display:block;margin-bottom:6px}
.sp{display:flex;border:1px solid var(--bd);border-radius:12px;overflow:hidden}.sp button{width:44px;border:0;background:var(--soft);color:var(--tx);font-size:20px;cursor:pointer}.sp b{width:56px;text-align:center;line-height:44px}.cs small{color:var(--mu)}
.opt{display:flex;justify-content:space-between;align-items:center;border:2px solid var(--g);background:rgba(22,163,10,.08);border-radius:12px;padding:18px;font-weight:600}.r2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tt{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--g);background:rgba(22,163,10,.08);border-radius:12px;padding:12px 16px;margin:14px 0}.tt b{font-family:'Playfair Display',serif;font-size:28px;color:var(--g)}.pb button.btn{margin-top:0}
@media(max-width:860px){.r2{grid-template-columns:1fr}}
.ok{background:rgba(22,163,10,.1);border:1px solid var(--g);color:var(--g);border-radius:12px;padding:14px;line-height:1.5}.pb button:disabled{opacity:.5;cursor:not-allowed}

#chat{position:fixed;top:116px;right:20px;z-index:50}#chatBtn{background:var(--g);color:#fff;border:0;border-radius:999px;padding:12px 20px;font-weight:600;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.25);float:right}
#chatPanel{clear:both;margin-top:10px;width:370px;height:520px;max-height:calc(100vh - 150px);background:var(--bg);border:1px solid var(--bd);border-radius:18px;box-shadow:0 16px 40px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden}#chatPanel[hidden]{display:none}
.ch{background:var(--g);color:#fff;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;font-weight:700}.ch small{display:block;font-weight:400;font-size:12px;opacity:.9}.ch button{background:none;border:0;color:#fff;font-size:18px;cursor:pointer}
#chatLog{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--soft)}.m{max-width:86%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.5;word-wrap:break-word}
.m.assistant{background:var(--bg);border:1px solid var(--bd);align-self:flex-start}.m.user{background:var(--g);color:#fff;align-self:flex-end}.m a{color:var(--g);font-weight:600;text-decoration:underline}.m.user a{color:#fff}
#chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px;background:var(--soft)}#chips:empty{display:none}#chips button{border:1px solid var(--g);background:var(--bg);color:var(--g);border-radius:999px;padding:6px 12px;font-size:12px;cursor:pointer}
#chatForm{display:flex;gap:8px;padding:10px;border-top:1px solid var(--bd)}#chatForm .btn{padding:10px 16px}
@media(max-width:520px){#chat{right:10px;left:10px}#chatPanel{width:100%}}

.hb{display:flex;align-items:center;gap:8px}.ch #chatEnd{font-size:12px;font-weight:600;border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:4px 10px}
.m.dots{display:flex;gap:5px;padding:14px 16px}.dots i{width:8px;height:8px;border-radius:50%;background:var(--mu);animation:bl 1.2s infinite ease-in-out}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}
@keyframes bl{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
#chatIn:disabled{opacity:.6}#chips [data-newchat]{background:var(--g);color:#fff}

.cs label.opt{display:flex;justify-content:space-between;align-items:center;gap:12px;border:2px solid var(--bd);border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;font-size:15px}
.cs label.opt:has(input:checked){border-color:var(--g);background:rgba(22,163,10,.08)}.cs label.opt input{width:auto;margin-right:8px}.cs label.opt small{display:block;color:var(--mu);font-weight:400;margin:2px 0 0 26px}
.ro{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--bd);padding:9px 0;margin:0;font-size:14px}.ro span{color:var(--mu)}

.img{overflow:hidden}.img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.card:hover .img img{transform:scale(1.04)}
img.dimg{width:100%;object-fit:cover;display:block}.thumbs{display:flex;gap:10px;margin-top:10px;overflow-x:auto}.thumbs img{width:96px;height:68px;object-fit:cover;border-radius:10px;cursor:pointer;border:2px solid transparent;flex:none}.thumbs img.on,.thumbs img:hover{border-color:var(--g)}
.tm{overflow:hidden}.tm img{width:100%;height:100%;object-fit:cover}.gal div{overflow:hidden}.gal img{width:100%;height:100%;object-fit:cover}

/* Photos: small, even boxes. Each photo keeps its own proportions (never stretched or squeezed), centred and cropped only at the edges. */
.fit{position:relative;overflow:hidden;background:#e2e8f0}
.fit>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block}
.img.fit{height:auto;aspect-ratio:3/2}
.dimg.fit{height:auto;aspect-ratio:3/2;max-height:480px}
.dimg.fit>img,.gal .fit>img{cursor:zoom-in}
.gal>div{aspect-ratio:3/2}
.hint{display:block;color:var(--mu);font-size:12px;margin-top:6px}
#lb{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:100;display:flex;align-items:center;justify-content:center;cursor:zoom-out}
#lb img{max-width:94vw;max-height:92vh;object-fit:contain;border-radius:8px}
#lb button{position:absolute;top:14px;right:20px;background:none;border:0;color:#fff;font-size:30px;cursor:pointer}
