:root{
  --parchment:#f5ead0;--parchment-deep:#efe1c0;--brick:#a8321e;--brick-deep:#7d2415;
  --ochre:#dc9a23;--mustard:#e8b22e;--indigo:#1f3a5f;--olive:#5a6e34;--ink:#241a12;--rose:#c14e63;--teal:#2a6f6b;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Karla',sans-serif;background:var(--parchment);color:var(--ink);line-height:1.6;overflow-x:hidden;
  background-image:radial-gradient(circle at 12% 18%, rgba(220,154,35,.07), transparent 30%),radial-gradient(circle at 88% 72%, rgba(31,58,95,.06), transparent 32%);}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");}
h1,h2,h3{font-family:'Fraunces',serif;line-height:1.05}
.accent-script{font-family:'Yatra One',cursive}
nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:.7rem 6vw;background:rgba(245,234,208,.92);backdrop-filter:blur(8px);border-bottom:2px solid var(--ink);}
.brand{display:flex;align-items:center;gap:.6rem;font-family:'Fraunces';font-weight:900;font-size:1.25rem;letter-spacing:.01em;text-decoration:none;color:var(--ink)}
.brand svg{width:34px;height:34px;flex:none}
.nav-links{display:flex;gap:1.8rem;align-items:center}
.nav-links a{text-decoration:none;color:var(--ink);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;position:relative;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-5px;height:2px;width:0;background:var(--brick);transition:width .3s}
.nav-links a:hover::after{width:100%}
.nav-cta{background:var(--brick);color:var(--parchment)!important;padding:.55rem 1.1rem;border-radius:2px;border:2px solid var(--ink)}
.nav-cta::after{display:none}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none}
.burger span{width:26px;height:3px;background:var(--ink);border-radius:2px}
.hero{position:relative;z-index:2;padding:4.5rem 6vw 3rem;display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.28em;font-weight:700;color:var(--brick-deep);margin-bottom:1.2rem;opacity:0;animation:rise .8s .1s forwards;}
.hero-eyebrow::before{content:"";width:38px;height:2px;background:var(--brick)}
.hero h1{font-size:clamp(3rem,7vw,5.6rem);font-weight:900;letter-spacing:-.01em;margin-bottom:.3rem;opacity:0;animation:rise .9s .25s forwards;}
.hero h1 .nm{display:block}
.hero .accent-script{color:var(--brick);font-size:clamp(2.2rem,5vw,3.6rem);display:block;line-height:1;margin-top:.2rem;opacity:0;animation:rise .9s .4s forwards;}
.hero p.lede{font-size:1.12rem;max-width:34ch;margin:1.6rem 0 2rem;color:#3a2b1d;opacity:0;animation:rise .9s .55s forwards;}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:rise .9s .7s forwards}
.btn{font-family:'Karla';font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;padding:.85rem 1.6rem;border:2px solid var(--ink);border-radius:2px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:transform .2s, box-shadow .2s;}
.btn-primary{background:var(--brick);color:var(--parchment)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--ink)}
.hero-art{position:relative;display:flex;justify-content:center;align-items:center;opacity:0;animation:fadeScale 1.1s .5s forwards;}
.hero-frame{width:100%;max-width:380px;aspect-ratio:1;border:3px solid var(--ink);background:var(--parchment-deep);box-shadow:14px 14px 0 var(--indigo);position:relative;}
.hero-frame svg{width:100%;height:100%}
.hero-tag{position:absolute;bottom:-18px;right:-10px;background:var(--mustard);border:2px solid var(--ink);padding:.4rem .9rem;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;transform:rotate(-3deg);}
.border-strip{height:30px;background-repeat:repeat-x;background-size:auto 100%;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);position:relative;z-index:2;margin:1rem 0;}
section{position:relative;z-index:2;padding:4.5rem 6vw}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:2.5rem}
.sec-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.28em;font-weight:700;color:var(--brick-deep);margin-bottom:.5rem}
.sec-head h2{font-size:clamp(2rem,4.5vw,3.2rem);font-weight:900}
.sec-head p{max-width:38ch;color:#4a3a2a}
.filters{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2rem}
.filter{font-family:'Karla';font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;padding:.5rem 1.1rem;border:2px solid var(--ink);background:transparent;border-radius:40px;cursor:pointer;transition:all .2s;}
.filter.active,.filter:hover{background:var(--ink);color:var(--parchment)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.muted{grid-column:1/-1;color:#6a5a4a;font-size:1rem}
.card{border:3px solid var(--ink);background:var(--parchment-deep);position:relative;overflow:hidden;cursor:pointer;transition:transform .25s, box-shadow .25s;}
.card:hover{transform:translateY(-5px);box-shadow:8px 10px 0 var(--ochre)}
.card-art{aspect-ratio:4/5;display:block}
.card-art svg,.card-art img{width:100%;height:100%;object-fit:cover;display:block}
.card-meta{padding:.9rem 1rem;border-top:2px solid var(--ink);background:var(--parchment);display:flex;justify-content:space-between;align-items:center;gap:.5rem;}
.card-meta h3{font-size:1.05rem;font-weight:600}
.card-meta .tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;background:var(--mustard);border:1.5px solid var(--ink);padding:.15rem .5rem;font-weight:700;white-space:nowrap}
.card-price{font-family:'Fraunces';font-weight:900;color:var(--brick);font-size:1.05rem}
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:center}
.about-portrait{border:3px solid var(--ink);box-shadow:12px 12px 0 var(--teal);background:var(--parchment-deep);aspect-ratio:4/5;overflow:hidden}
.about-portrait svg{width:100%;height:100%}
.about-body h2{font-size:clamp(2rem,4.5vw,3rem);margin-bottom:1.2rem}
.about-body p{margin-bottom:1.1rem;color:#3a2b1d;max-width:52ch}
.stats{display:flex;gap:2rem;margin-top:1.8rem;flex-wrap:wrap}
.stat .n{font-family:'Fraunces';font-weight:900;font-size:2.2rem;color:var(--brick);line-height:1}
.stat .l{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.heritage{background:var(--indigo);color:var(--parchment);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.heritage .sec-kicker{color:var(--mustard)}.heritage h2{color:var(--parchment)}.heritage p{color:#e8dcc2}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.5rem}
.step{border:2px solid var(--mustard);padding:1.4rem;background:rgba(255,255,255,.04)}
.step .num{font-family:'Yatra One';font-size:1.6rem;color:var(--mustard);display:block;margin-bottom:.5rem}
.step h3{color:var(--parchment);font-size:1.15rem;margin-bottom:.4rem}.step p{font-size:.9rem}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.offer{border:3px solid var(--ink);background:var(--parchment-deep);padding:2rem 1.6rem;position:relative}
.offer.feature{background:var(--mustard)}
.offer .badge{position:absolute;top:-13px;left:1.6rem;background:var(--brick);color:var(--parchment);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:.25rem .7rem;border:2px solid var(--ink)}
.offer h3{font-size:1.5rem;margin-bottom:.4rem}
.offer .p{font-family:'Fraunces';font-weight:900;font-size:2.2rem;color:var(--brick-deep);margin-bottom:1rem}
.offer ul{list-style:none;margin-bottom:1.5rem}
.offer li{padding:.4rem 0;border-bottom:1px dashed rgba(36,26,18,.3);font-size:.92rem;display:flex;gap:.5rem;align-items:flex-start}
.offer li::before{content:"\2726";color:var(--brick)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.contact-info h2{font-size:clamp(2rem,4.5vw,3rem);margin-bottom:1rem}
.contact-info p{color:#3a2b1d;margin-bottom:1.5rem;max-width:40ch}
.contact-line{display:flex;align-items:center;gap:.8rem;margin-bottom:.9rem;font-weight:700}
.contact-line svg{width:22px;height:22px;flex:none}
.socials{display:flex;gap:.8rem;margin-top:1.5rem}
.socials a{width:44px;height:44px;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;border-radius:2px;transition:all .2s;color:var(--ink)}
.socials a:hover{background:var(--ink);color:var(--parchment)}
.socials a svg{width:20px;height:20px}
form.inq{border:3px solid var(--ink);background:var(--parchment-deep);padding:2rem;box-shadow:10px 10px 0 var(--rose)}
.field{margin-bottom:1.1rem}
.field label{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:.4rem}
.field input,.field textarea,.field select{width:100%;padding:.7rem .8rem;border:2px solid var(--ink);background:var(--parchment);font-family:'Karla';font-size:.95rem;border-radius:2px;}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;box-shadow:3px 3px 0 var(--ochre)}
.form-note{font-size:.78rem;color:#6a5a4a;margin-top:.8rem}
footer{background:var(--ink);color:var(--parchment);padding:3rem 6vw 2rem;border-top:3px solid var(--mustard);position:relative;z-index:2}
.foot-grid{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}
.foot-brand{font-family:'Yatra One';font-size:1.8rem;color:var(--mustard)}
.foot-grid .nav-links a{color:var(--parchment)}
footer small{opacity:.7;display:block;margin-top:1.5rem;font-size:.8rem}
.admin-link{background:none;border:none;color:var(--parchment);opacity:.55;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;font-family:'Karla';font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-top:1rem;text-decoration:none}
.admin-link:hover{opacity:1}.admin-link svg{width:16px;height:16px}
.lightbox{position:fixed;inset:0;background:rgba(36,26,18,.92);z-index:100;display:none;align-items:center;justify-content:center;padding:5vw;flex-direction:column;gap:1rem}
.lightbox.open{display:flex}
.lightbox-inner{max-width:520px;width:100%;border:3px solid var(--parchment);background:var(--parchment-deep)}
.lightbox-inner svg,.lightbox-inner img{width:100%;display:block}
.lightbox-cap{color:var(--parchment);text-align:center;font-family:'Fraunces';font-size:1.3rem}
.lightbox-desc{color:#e8dcc2;text-align:center;max-width:50ch;font-size:.95rem}
.lb-close{position:absolute;top:24px;right:30px;background:none;border:2px solid var(--parchment);color:var(--parchment);width:44px;height:44px;font-size:1.5rem;cursor:pointer;border-radius:2px}
.banner{background:var(--mustard);border-bottom:2px solid var(--ink);text-align:center;padding:.6rem 1rem;font-size:.85rem;font-weight:700;position:relative;z-index:60}
.banner a{color:var(--brick-deep)}
/* ADMIN */
.admin-wrap{min-height:100vh;background:var(--ink)}
.admin-bar{display:flex;justify-content:space-between;align-items:center;padding:1rem 6vw;border-bottom:2px solid var(--mustard);position:sticky;top:0;background:var(--ink);z-index:5}
.admin-bar .t{font-family:'Fraunces';font-weight:900;color:var(--parchment);font-size:1.3rem;display:flex;align-items:center;gap:.6rem}
.admin-bar .t svg{width:26px;height:26px}
.admin-bar a{color:var(--parchment);opacity:.7;text-decoration:none;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.admin-body{padding:2.5rem 6vw;max-width:1100px;margin:0 auto}
.login-box{max-width:380px;margin:5rem auto;background:var(--parchment-deep);border:3px solid var(--mustard);padding:2.5rem 2rem;box-shadow:12px 12px 0 var(--brick)}
.login-box h2{font-size:1.8rem;margin-bottom:.4rem}
.login-box p{font-size:.88rem;color:#5a4a3a;margin-bottom:1.5rem}
.admin-grid{display:grid;grid-template-columns:380px 1fr;gap:2.5rem;align-items:start}
.admin-panel{background:var(--parchment-deep);border:3px solid var(--ink);padding:1.8rem}
.admin-panel h3{font-size:1.3rem;margin-bottom:1.2rem}
.photo-drop{border:2px dashed var(--brick);border-radius:4px;padding:1.4rem;text-align:center;cursor:pointer;background:var(--parchment);transition:background .2s;margin-bottom:.4rem}
.photo-drop:hover{background:rgba(220,154,35,.12)}
.photo-drop svg{width:38px;height:38px;stroke:var(--brick)}
.photo-drop p{font-size:.82rem;color:#5a4a3a;margin-top:.4rem}
.photo-preview{width:100%;border:2px solid var(--ink);margin-bottom:1rem;display:none}
.photo-preview img{width:100%;display:block;max-height:240px;object-fit:cover}
.admin-list{display:grid;gap:1rem}
.admin-row{display:flex;gap:1rem;align-items:center;background:var(--parchment-deep);border:2px solid var(--ink);padding:.7rem}
.admin-row .thumb{width:64px;height:80px;flex:none;border:2px solid var(--ink);overflow:hidden}
.admin-row .thumb svg,.admin-row .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.admin-row .info{flex:1;min-width:0}
.admin-row .info h4{font-family:'Fraunces';font-size:1.05rem}
.admin-row .info .meta{font-size:.78rem;color:#5a4a3a}
.admin-row .info .price{font-weight:700;color:var(--brick)}
.row-btns{display:flex;gap:.4rem;flex:none}
.ibtn{border:2px solid var(--ink);background:var(--parchment);cursor:pointer;padding:.4rem .7rem;font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;border-radius:2px}
.ibtn.del{background:var(--brick);color:var(--parchment);border-color:var(--ink)}
.ibtn:hover{transform:translateY(-1px)}
.admin-msg{font-size:.85rem;color:var(--olive);font-weight:700;min-height:1.2em;margin-top:.6rem}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeScale{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s, transform .7s}
.reveal.in{opacity:1;transform:none}
@media(max-width:900px){
  .nav-links{display:none}.burger{display:flex}
  .hero{grid-template-columns:1fr;padding-top:3rem}
  .gallery,.cards3,.steps{grid-template-columns:repeat(2,1fr)}
  .about,.contact{grid-template-columns:1fr}.about-portrait{max-width:380px}
  .admin-grid{grid-template-columns:1fr}
}
@media(max-width:560px){.gallery,.cards3,.steps{grid-template-columns:1fr}nav{padding:.7rem 5vw}section{padding:3rem 5vw}}
