:root{--navy:#102747;--blue:#173d70;--gold:#d7ad57;--cream:#fff8e9;--ink:#1d2b3a;--muted:#64748b;--paper:#f7f8fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#fff}a{color:var(--blue)}.topbar{background:#0b1d35;color:#fff;border-bottom:3px solid var(--gold)}.navwrap{max-width:1440px;margin:auto;padding:10px 22px;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-weight:800;letter-spacing:.04em}.brand img{width:86px;height:58px;object-fit:contain;object-position:center;background:#07162a;border-radius:5px}.navlinks{margin-left:auto;display:flex;align-items:center;gap:clamp(8px,1.1vw,16px);flex-wrap:nowrap;white-space:nowrap}.navlinks a{color:#f8fafc;text-decoration:none;font-size:clamp(.78rem,.9vw,.92rem)}.navlinks a:hover,.navlinks a[aria-current=page]{color:#f4d27e}.menu{display:none;background:transparent;color:white;border:1px solid #ffffff66;border-radius:8px;padding:8px 10px}.hero{background:linear-gradient(120deg,#102747ee,#163e70cc),url('assets/filmantra-hero.jpg') center/cover;color:white;padding:74px 22px 82px}.hero-inner{max-width:1120px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:42px;align-items:center}.eyebrow{color:#f2d28a;text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;font-weight:800}.hero h1{font-size:clamp(2.7rem,6vw,5rem);line-height:1.04;margin:.3em 0 .22em;letter-spacing:-.04em}.hero p{max-width:660px;color:#f0f5fb;font-size:1.15rem}.hero-card{border:1px solid #ffffff4d;background:#ffffff12;backdrop-filter:blur(5px);border-radius:22px;padding:24px;box-shadow:0 18px 55px #07162a55}.hero-card img{width:100%;display:block;border-radius:14px;aspect-ratio:4/3;object-fit:cover}.btn{display:inline-block;margin-top:12px;padding:12px 18px;border-radius:999px;background:var(--gold);color:#14233a;text-decoration:none;font-weight:800}.btn.alt{background:transparent;color:white;border:1px solid #ffffff8a;margin-left:8px}.wrap{max-width:1120px;margin:auto;padding:58px 22px}.section-head{max-width:760px;margin-bottom:28px}.section-head h2{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.12;color:var(--navy);margin:0 0 12px}.section-head p{color:var(--muted);margin:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tile{background:white;border:1px solid #e4eaf1;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px #0b25400b}.tile img{width:100%;height:220px;object-fit:cover;display:block}.tile-body{padding:20px}.tile h3{margin:0 0 8px;color:var(--navy)}.tile p{margin:0;color:var(--muted)}.tile a{font-weight:750;text-decoration:none}.quote{background:var(--cream);border-left:5px solid var(--gold);padding:24px 28px;border-radius:0 16px 16px 0;font-size:1.2rem;color:#35445a}.split{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}.split img{width:100%;height:390px;object-fit:cover;border-radius:22px}.pagehero{background:linear-gradient(115deg,#102747,#1a4779);color:white;padding:56px 22px}.pagehero .inner{max-width:1120px;margin:auto}.pagehero h1{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.1;margin:0 0 12px}.pagehero p{max-width:760px;color:#e5edf8;margin:0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery figure{margin:0;overflow:hidden;border-radius:16px;background:#eef2f7}.gallery img{width:100%;height:250px;object-fit:cover;display:block}.gallery figcaption{padding:12px 14px;font-size:.92rem}.timeline{border-left:3px solid var(--gold);margin-left:12px;padding-left:26px}.timeline article{position:relative;margin:0 0 28px}.timeline article:before{content:'';position:absolute;left:-36px;top:8px;width:15px;height:15px;border-radius:50%;background:var(--gold);border:3px solid white;box-shadow:0 0 0 1px var(--gold)}.timeline h3{margin:0;color:var(--navy)}.footer{background:#0b1d35;color:#dbe5f2;padding:34px 22px}.footer-inner{max-width:1120px;margin:auto;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer p{margin:4px 0}.footer a{color:#f2d28a}.notice{background:#fff7df;border:1px solid #f0d48c;padding:15px 18px;border-radius:12px;color:#5a4820}.form{max-width:650px;display:grid;gap:14px}.form label{font-weight:700}.form input,.form textarea{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:9px;font:inherit}.form button{border:0;cursor:pointer}.small{font-size:.88rem;color:var(--muted)}@media(max-width:1080px){.navwrap{flex-wrap:wrap}.menu{display:block;margin-left:auto}.navlinks{display:none;width:100%;margin:0;padding:12px 0 4px;flex-direction:column;align-items:flex-start;gap:10px;white-space:normal}.navlinks.open{display:flex}}@media(max-width:850px){.hero-inner,.split{grid-template-columns:1fr}.hero{padding:52px 20px}.hero-card{max-width:540px}.grid{grid-template-columns:repeat(2,1fr)}.navwrap{flex-wrap:wrap}.menu{display:block;margin-left:auto}.navlinks{display:none;width:100%;margin:0;padding:12px 0 4px;flex-direction:column;gap:10px}.navlinks.open{display:flex}}@media(max-width:560px){.grid,.gallery{grid-template-columns:1fr}.tile img,.gallery img{height:230px}.wrap{padding:42px 18px}.hero h1{font-size:2.65rem}.btn.alt{margin-left:0}.hero-card{padding:14px}}
.footer-legal{width:100%;border-top:1px solid #ffffff2b;margin-top:20px;padding-top:16px;font-size:.88rem;display:flex;flex-wrap:wrap;gap:8px}.footer-legal a{color:#f2d28a;text-decoration:none}.footer-legal a:hover{text-decoration:underline}.hero{background:linear-gradient(120deg,#102747dd,#163e70a8),url('assets/filmantra-hero.jpg') center/cover;color:white;padding:74px 22px 82px}.hero-card img{aspect-ratio:16/9;object-fit:cover}.legal-content{max-width:850px;margin:auto;padding:42px 22px}.legal-content h2{color:var(--navy);margin-top:2rem}.legal-content p,.legal-content li{line-height:1.75}.legal-content .review-note{background:#fff7df;border:1px solid #f0d48c;padding:14px;border-radius:12px;color:#5a4820}

/* FILMANTRA homepage hero refresh */
.brand{gap:0;flex:0 0 auto}
.brand img{display:block;width:250px;height:76px;object-fit:contain;object-position:left center;background:transparent;border-radius:0;padding:0}
.hero-home{padding:0;background:#102747;color:#fff}
.hero-home .hero-inner{display:block;max-width:1440px;padding:0}
.hero-home .hero-banner{width:100%;height:auto;max-height:590px;object-fit:cover;object-position:center;display:block}
.hero-home .hero-copy{max-width:1120px;margin:0 auto;padding:34px 22px 48px;text-align:center}
.hero-home .hero-copy h1{font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.08;margin:.18em 0 .22em}
.hero-home .hero-copy p{max-width:780px;margin:0 auto 12px;font-size:1.08rem}
.hero-home .eyebrow{font-size:.8rem}
.hero-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.hero-actions .btn.alt{margin-left:0}
@media(max-width:1080px){.navwrap{flex-wrap:wrap}.menu{display:block;margin-left:auto}.navlinks{display:none;width:100%;margin:0;padding:12px 0 4px;flex-direction:column;align-items:flex-start;gap:10px;white-space:normal}.navlinks.open{display:flex}}@media(max-width:850px){.brand img{width:210px;height:66px}.hero-home .hero-banner{max-height:none}.hero-home .hero-copy{padding:28px 18px 38px}}
@media(max-width:560px){.brand img{width:185px;height:58px}.hero-home .hero-copy h1{font-size:2.3rem}}

/* Hero photo fit revision: full-width image, preserve complete artwork */
.hero-home .hero-inner{max-width:none;width:100%;padding:0}
.hero-home .hero-banner{width:100%;max-width:none;height:auto;max-height:none;object-fit:contain;object-position:center;display:block}
@media(max-width:1080px){.navwrap{flex-wrap:wrap}.menu{display:block;margin-left:auto}.navlinks{display:none;width:100%;margin:0;padding:12px 0 4px;flex-direction:column;align-items:flex-start;gap:10px;white-space:normal}.navlinks.open{display:flex}}@media(max-width:850px){.hero-home .hero-banner{width:100%;height:auto;max-height:none;object-fit:contain}}


/* FINAL HOMEPAGE HERO FIX: break out of centered content and show complete photo */
.hero-home{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:0 !important;
  overflow:visible;
  background:#102747;
}
.hero-home .hero-inner{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.hero-home .hero-banner{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* Approved October 20 logo update */
.brand img{width:250px;height:84px;object-fit:contain;object-position:left center;background:transparent;border-radius:0;padding:0}
@media(max-width:700px){.brand img{width:190px;height:64px}}

/* ===== Guest Book page (v23): its own look, separate from Contact ===== */
.gb-hero{background:radial-gradient(circle at 85% 20%,#d7ad5738,transparent 45%),linear-gradient(120deg,#0b1d35,#173d70);color:#fff;padding:64px 22px 96px;text-align:center}
.gb-hero-small{padding:56px 22px}
.gb-hero-inner{max-width:760px;margin:auto}
.gb-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.6rem,7vw,4.6rem);line-height:1.05;margin:.15em 0 .25em;letter-spacing:-.02em}
.gb-hero p{color:#e5edf8;font-size:1.1rem;margin:0 auto 12px;max-width:620px}
.gb-hero .eyebrow{margin:0}
.gb-hero-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.gb-hero .btn.alt{margin-left:0}
.gb-signwrap{max-width:820px;margin:-56px auto 0;padding:0 22px;position:relative}
.gb-thanks{background:#e8f6ec;border:1px solid #9fd3ad;color:#1f5130;padding:14px 18px;border-radius:12px;margin:0 0 16px;font-weight:600}
.gb-card{background:var(--cream);border:2px solid var(--gold);border-radius:24px;padding:34px 32px;box-shadow:0 18px 50px #0b1d3526}
.gb-card h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.7rem,4vw,2.3rem);color:var(--navy);margin:0 0 8px}
.gb-lead{color:#5a4a28;margin:0 0 22px}
.gb-form{display:grid;gap:18px}
.gb-form label,.gb-form legend{font-weight:700;color:var(--navy)}
.gb-form input[type=text],.gb-form input:not([type]),.gb-form textarea{width:100%;padding:13px 14px;border:1px solid #d9c9a0;border-radius:12px;background:#fff;font:inherit;color:var(--ink)}
.gb-form input:focus,.gb-form textarea:focus{outline:3px solid #d7ad5766;border-color:var(--gold)}
.gb-form textarea{resize:vertical;min-height:130px}
.gb-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gb-row label{display:block;margin-bottom:6px}
.gb-opt{font-weight:400;color:var(--muted)}
.gb-chips{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.gb-chips legend{padding:0;margin-bottom:8px;width:100%}
.gb-chip{position:relative;font-weight:600}
.gb-chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}
.gb-chip span{display:inline-block;padding:9px 18px;border:1.5px solid #d9c9a0;border-radius:999px;background:#fff;color:var(--navy)}
.gb-chip input:checked+span{background:var(--navy);border-color:var(--navy);color:#f4d27e}
.gb-chip input:focus-visible+span{outline:3px solid #d7ad5799;outline-offset:2px}
.gb-count{margin:6px 0 0;text-align:right;font-size:.85rem;color:var(--muted)}
.gb-submit{justify-self:start;font-size:1.05rem;padding:14px 28px;border:0;cursor:pointer;margin-top:0}
.gb-submit:disabled{opacity:.6;cursor:wait}
.gb-private{margin:20px 0 0;font-size:.92rem;color:#5a4a28}
.gb-notes{padding-top:64px}
.gb-wall{columns:3 280px;column-gap:22px}
.gb-note{break-inside:avoid;background:#fff;border:1px solid #e4eaf1;border-top:4px solid var(--gold);border-radius:16px;padding:20px;margin:0 0 22px;box-shadow:0 8px 24px #0b254010}
.gb-note:nth-child(3n+2){background:var(--cream)}
.gb-note-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.gb-note h3{margin:0;color:var(--navy);font-size:1.05rem;line-height:1.2}
.gb-avatar{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#f4d27e;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem}
.gb-meta{margin:2px 0 0;font-size:.85rem;color:var(--muted)}
.gb-tag{display:inline-block;background:#10274714;color:var(--navy);border-radius:999px;padding:1px 10px;margin-right:8px;font-size:.78rem;font-weight:700}
.gb-msg{margin:0 0 12px;color:#2d3b4d;overflow-wrap:anywhere}
.gb-date{margin:0;font-size:.82rem;color:var(--muted)}
.gb-empty{text-align:center;color:var(--muted);padding:30px 0}
.gb-pager{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:10px;color:var(--muted)}
@media(max-width:620px){.gb-row{grid-template-columns:1fr}.gb-card{padding:26px 20px}.gb-hero{padding:48px 18px 84px}}

/* v34 footer logo */
.footer-brand{display:inline-flex;align-items:center;margin:0 0 14px;max-width:220px}
.footer-brand img{display:block;width:100%;max-width:220px;height:auto;object-fit:contain}
.footer-inner{align-items:start}
@media(max-width:620px){.footer-brand{max-width:175px}}

/* v34 blog pages */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px;padding-top:36px;padding-bottom:70px}
.blog-card{padding:26px;border:1px solid #dce4ed;border-radius:18px;background:#fff;box-shadow:0 8px 24px #0b254010}
.blog-card h2{font-size:1.35rem;line-height:1.25}
.blog-card a{color:var(--navy)}
.blog-article{max-width:850px;margin:0 auto;padding:38px 22px 80px;line-height:1.8}
.blog-article h2{margin-top:2.1em;line-height:1.25;color:var(--navy)}
.blog-article p{margin:0 0 1.15em}

/* v57: restore prominent FILMANTRA header logo after About-page cleanup */
.topbar .navwrap{display:flex;align-items:center;gap:24px}
.topbar .brand{display:flex;align-items:center;flex:0 0 auto;min-width:0}
.topbar .brand img{display:block;width:clamp(180px,22vw,300px);height:auto;max-height:86px;object-fit:contain;object-position:left center;background:transparent;border-radius:0}
.footer-brand img{display:block;max-width:220px;height:auto}
@media(max-width:760px){.topbar .brand img{width:clamp(145px,42vw,220px);max-height:68px}}

/* v59 About-page photo placeholders: one supplied photo in each story section */
.about-photo-split{align-items:center;gap:clamp(28px,5vw,64px)}
.about-photo-placeholder{box-sizing:border-box;flex:0 1 44%;min-width:0;margin:0;padding:18px;border:2px dashed rgba(16,39,71,.28);border-radius:18px;background:rgba(255,255,255,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px}
.about-photo-placeholder img{display:block;width:100%;max-width:560px;max-height:480px;height:auto;object-fit:contain}
.about-photo-placeholder figcaption{margin-top:12px;text-align:center;color:var(--ink,#102747);font-size:.95rem}
.about-photo-split>div:first-child{flex:1 1 52%;min-width:0}
@media(max-width:760px){.about-photo-split{flex-direction:column;align-items:stretch}.about-photo-placeholder{flex-basis:auto;width:100%;min-height:180px}.about-photo-placeholder img{max-height:360px}}


/* v69: center footer content and every footer link row consistently */
.footer{ text-align:center; }
.footer-inner{ justify-content:center; align-items:center; text-align:center; }
.footer-brand{ margin-left:auto; margin-right:auto; }
.footer-about,.footer-summary{ text-align:center; }
.footer-legal{ justify-content:center; align-items:center; text-align:center; }
.footer-town-links{ width:100%; margin:10px auto 0; text-align:center; }
@media(max-width:760px){
  .footer-inner{ flex-direction:column; align-items:center; }
  .footer-legal{ justify-content:center; }
  .footer-town-links{ text-align:center; }
}

/* v70: consistent centered footer layout on all pages */
.footer { text-align: center; }
.footer-inner { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 16px; }
.footer-brand { display: block; margin: 0 auto; }
.footer-about, .footer-summary { width: 100%; text-align: center; }
.footer-legal { box-sizing: border-box; justify-content: center; align-items: center; text-align: center; width: 100%; margin-left: auto; margin-right: auto; }
.footer-town-links { width: 100%; text-align: center; margin: 12px auto 0; }
.footer-town-links a { color: #f2d28a; }
