
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#f5f0e8;color:#2a1f0e;font-family:'Crimson Pro',serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{display:block;max-width:100%}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9000;opacity:.012;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px}
:root{--bg:#f5f0e8;--bg2:#ede5d5;--surf:#e4dcc8;--cream:#2a1f0e;--cream2:#3d2e1a;--fog:#7a6a50;--rust:#8c3520;--rust2:#9c3418;--tan:#b08040;--gold:#c8961e;--bdr:rgba(140,53,32,.18);--bsoft:rgba(140,53,32,.09)}
.page{display:none}.page.active{display:block}
#nav{position:fixed;top:0;left:0;right:0;z-index:600;transition:background .4s,border-color .4s;border-bottom:1px solid transparent}
#nav.scrolled{background:rgba(245,240,232,.97);border-bottom-color:var(--bdr);backdrop-filter:blur(12px)}
.nw{max-width:1440px;margin:0 auto;padding:0 2.5rem;height:76px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.nlogo img{height:50px;width:auto;cursor:pointer;filter:brightness(.95) sepia(.1)}
#nav:not(.scrolled) .nlogo img{filter:brightness(1.1) saturate(0) invert(1)}
#nav:not(.scrolled) .nshop{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.4)}
#nav:not(.scrolled) .nshop:hover{background:rgba(255,255,255,.35)}
#nav:not(.scrolled) .lang-sw{border-color:rgba(255,255,255,.35)}
#nav:not(.scrolled) .lang-btn{color:rgba(255,255,255,.8)}
#nav:not(.scrolled) .lang-btn.active{background:rgba(255,255,255,.25);color:#fff}
#nav:not(.scrolled) .lang-div{background:rgba(255,255,255,.3)}
.nlinks{display:flex;align-items:center}
.nlinks>li{position:relative}
.nlinks>li>a,.nlinks>li>span{font-family:'Oswald',sans-serif;font-size:.67rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.85);padding:.6rem 1rem;display:block;transition:color .25s;cursor:pointer;white-space:nowrap}
.nlinks>li>a:hover,.nlinks>li>span:hover{color:#fff}
#nav.scrolled .nlinks>li>a,#nav.scrolled .nlinks>li>span{color:#7a6a50}
#nav.scrolled .nlinks>li>a:hover,#nav.scrolled .nlinks>li>span:hover{color:#2a1f0e}
.has-drop:hover .drop{display:block}
.drop{display:none;position:absolute;top:100%;left:0;background:rgba(240,234,220,.98);border:1px solid var(--bdr);min-width:280px;max-height:calc(100vh - 120px);overflow-y:auto;z-index:700;backdrop-filter:blur(10px);animation:di .2s ease;box-shadow:0 18px 40px rgba(0,0,0,.12)}
@keyframes di{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.drop a,.drop span{font-family:'Oswald',sans-serif;font-size:.62rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:#7a6a50;padding:.75rem 1.4rem;display:block;border-bottom:1px solid var(--bsoft);transition:background .2s,color .2s;cursor:pointer}
.drop a:last-child,.drop span:last-child{border-bottom:none}
.drop a:hover,.drop span:hover{background:rgba(140,53,32,.08);color:#2a1f0e}
.nr{display:flex;align-items:center;gap:1.2rem;flex-shrink:0}
/* LANGUAGE SWITCHER */
.lang-sw{display:flex;align-items:center;border:1px solid var(--bdr);overflow:hidden}
.lang-btn{font-family:'Oswald',sans-serif;font-size:.58rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:.4rem .9rem;cursor:pointer;transition:background .25s,color .25s;color:#7a6a50;display:flex;align-items:center;gap:.45rem;white-space:nowrap}
.lang-btn img.flag{width:20px;height:13px;object-fit:cover;border:1px solid rgba(255,255,255,.12);border-radius:1px}
.lang-btn.active{background:var(--rust);color:#f5f0e8}
.lang-btn:not(.active):hover{background:rgba(140,53,32,.1);color:#2a1f0e}
.lang-div{width:1px;height:28px;background:var(--bdr)}
.nshop{font-family:'Oswald',sans-serif;font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#f5f0e8;background:var(--tan);padding:.55rem 1.3rem;transition:background .3s;cursor:pointer;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px))}
.nshop:hover{background:#c8961e}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.burger span{display:block;width:24px;height:1.5px;background:var(--cream);transition:all .3s}
.mob-nav{display:none;position:fixed;inset:76px 0 0;background:rgba(245,240,232,.99);z-index:590;flex-direction:column;overflow-y:auto;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);border-top:1px solid var(--bdr)}
.mob-nav.open{transform:translateX(0);display:flex!important}
.mob-nav .mlink{font-family:'Oswald',sans-serif;font-size:1rem;font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:#3d2e1a;padding:1.1rem 2rem;border-bottom:1px solid var(--bsoft);transition:color .2s,padding-left .2s;cursor:pointer;display:block}
.mob-nav .mlink:hover{color:#8c3520;padding-left:2.5rem}
.mob-sec{font-family:'Oswald',sans-serif;font-size:.55rem;font-weight:400;letter-spacing:.4em;text-transform:uppercase;color:var(--rust2);padding:1.2rem 2rem .4rem;display:block}
.mob-lang{display:flex;gap:.5rem;padding:1.5rem 2rem;border-top:1px solid var(--bsoft);margin-top:.5rem}
.sec{padding:6rem 3rem}.si{max-width:1360px;margin:0 auto}
.slabel{font-family:'Oswald',sans-serif;font-size:.58rem;font-weight:400;letter-spacing:.42em;text-transform:uppercase;color:var(--rust2);display:block;margin-bottom:.8rem}
.sh2{font-family:'Oswald',sans-serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:700;text-transform:uppercase;line-height:.95;color:#2a1f0e}
.sh2 em{color:var(--tan);font-style:normal}
.shead{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3.5rem;gap:2rem}
.bf{font-family:'Oswald',sans-serif;font-size:.68rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;background:#2a1f0e;color:#f5f0e8;padding:.95rem 2.2rem;transition:background .3s;cursor:pointer;display:inline-block;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px))}
.bf:hover{background:var(--rust)}
.bg{font-family:'Oswald',sans-serif;font-size:.68rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;border:1px solid rgba(140,53,32,.4);color:#3d2e1a;padding:.95rem 2.2rem;transition:all .3s;display:inline-block;cursor:pointer}
.bg:hover{border-color:var(--rust);color:var(--rust)}
.br2{font-family:'Oswald',sans-serif;font-size:.68rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;background:var(--rust2);color:var(--cream);padding:.95rem 2.2rem;transition:background .3s;display:inline-block;cursor:pointer}
.br2:hover{background:var(--rust)}
.lka{font-family:'Oswald',sans-serif;font-size:.62rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--rust);border-bottom:1px solid rgba(140,53,32,.3);padding-bottom:2px;transition:color .2s;cursor:pointer;white-space:nowrap}
.lka:hover{color:#6a2010}
.cc{position:absolute;width:13px;height:13px}
.cc.tl{top:0;left:0;border-top:2px solid var(--rust);border-left:2px solid var(--rust)}
.cc.tr{top:0;right:0;border-top:2px solid var(--rust);border-right:2px solid var(--rust)}
.cc.bl{bottom:0;left:0;border-bottom:2px solid var(--rust);border-left:2px solid var(--rust)}
.cc.br{bottom:0;right:0;border-bottom:2px solid var(--rust);border-right:2px solid var(--rust)}
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}
.rv.vis{opacity:1;transform:none}
/* Page hero */
.ph{position:relative;height:340px;display:flex;align-items:flex-end;padding:0 3rem 3rem;overflow:hidden;margin-top:76px}
.ph-bg{position:absolute;inset:0}
.ph-bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:brightness(.5) sepia(.5)}
.ph-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(42,31,14,.75) 0%,rgba(42,31,14,.2) 100%)}
.ph-solid{background:linear-gradient(160deg,var(--c1,#1e1c14),var(--c2,#0d0e0a))}
.ph-content{position:relative;z-index:2}
.ph-label{font-family:'Oswald',sans-serif;font-size:.58rem;font-weight:400;letter-spacing:.42em;text-transform:uppercase;color:var(--rust);display:block;margin-bottom:.7rem}
.ph-h1{font-family:'Oswald',sans-serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:700;text-transform:uppercase;line-height:.95;letter-spacing:-.01em;color:#2a1f0e}
.ph-h1 em{color:var(--rust);font-style:normal}
.ph.has-photo .ph-label{color:#e8906a}
.ph.has-photo .ph-h1{color:#f5f0e8}
.ph.has-photo .ph-h1 em{color:var(--tan)}
/* doc frame */
.docf{background:#ede5d5;border:1px solid var(--bdr);padding:6px;position:relative}
.docf::before{content:'';position:absolute;inset:-7px;border:1px solid rgba(192,154,90,.06);pointer-events:none}
.docf img{width:100%;object-fit:cover;filter:sepia(.45) brightness(.88) contrast(1.05);display:block}
.docf .cap{padding:.85rem 1rem;font-family:'Oswald',sans-serif;font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:#6a5840;text-align:center;border-top:1px solid var(--bsoft)}
.docstamp{position:absolute;top:1.5rem;right:-1.2rem;border:2px solid var(--rust);color:var(--rust);background:#f5f0e8;font-family:'Oswald',sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.15em;padding:.4rem .7rem;transform:rotate(11deg);opacity:.45;text-transform:uppercase;white-space:nowrap}
/* portrait cards */
.pt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bsoft);margin-top:3rem}
.ptc{position:relative;aspect-ratio:3/4;overflow:hidden;cursor:pointer;background:var(--surf)}
.ptc-img{position:absolute;inset:0;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.ptc-img img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:sepia(.45) brightness(.75) contrast(1.1)}
.ptc:hover .ptc-img{transform:scale(1.06)}
.ptc-img.nop{background:linear-gradient(155deg,#d4c8a8,#c0b490)}
.ptc-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(42,31,14,.90) 0%,rgba(42,31,14,.35) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.4rem;transition:background .4s}
.ptc:hover .ptc-ov{background:linear-gradient(to top,rgba(42,31,14,.95) 0%,rgba(42,31,14,.60) 60%,rgba(42,31,14,.05) 100%)}
.pt-rank{font-family:'Oswald',sans-serif;font-size:.52rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:#e8b88a;margin-bottom:.25rem}
.pt-name{font-family:'Oswald',sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#f5f0e8;line-height:1.2}
.pt-org{font-size:.75rem;color:#c8bfa8;margin-top:.2rem;font-style:italic;opacity:0;transform:translateY(5px);transition:opacity .3s,transform .3s}
.ptc:hover .pt-org{opacity:1;transform:none}
.pt-rd{font-family:'Oswald',sans-serif;font-size:.55rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:#f0c878;margin-top:.7rem;opacity:0;transform:translateY(5px);transition:opacity .3s .05s,transform .3s;display:flex;align-items:center;gap:.4rem}
.pt-rd::after{content:'→'}.ptc:hover .pt-rd{opacity:1;transform:none}
/* events */
.ev-rows{margin-top:3rem}
.evr{display:grid;grid-template-columns:80px 4px 1fr auto;align-items:stretch;border-bottom:1px solid var(--bsoft);gap:0 2.5rem;padding:0 1rem;cursor:pointer;transition:background .3s}
.evr:first-child{border-top:1px solid var(--bsoft)}.evr:hover{background:rgba(192,154,90,.025)}
.evr:hover .ev-bar{background:var(--rust2)}.evr:hover .ev-yr{color:rgba(192,154,90,.35)}
.ev-yw{display:flex;align-items:center;padding:2.5rem 0}
.ev-yr{font-family:'Oswald',sans-serif;font-size:1.7rem;font-weight:700;color:rgba(140,53,32,.2);line-height:1;transition:color .3s}
.ev-bar{width:4px;background:var(--bsoft);transition:background .3s;margin:.5rem 0}
.ev-body{padding:2.5rem 0;display:flex;flex-direction:column;justify-content:center}
.ev-tag{font-family:'Oswald',sans-serif;font-size:.52rem;font-weight:400;letter-spacing:.32em;text-transform:uppercase;color:var(--rust2);margin-bottom:.45rem}
.ev-tt{font-family:'Oswald',sans-serif;font-size:1.15rem;font-weight:600;text-transform:uppercase;color:#2a1f0e;letter-spacing:.03em;margin-bottom:.55rem}
.ev-de{font-size:.9rem;line-height:1.65;color:#6a5840;font-weight:300;max-width:580px}
.ev-lw{display:flex;align-items:center;justify-content:flex-end;padding:2.5rem 0}
.ev-lk{font-family:'Oswald',sans-serif;font-size:.58rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--rust);opacity:.55;transition:opacity .2s;white-space:nowrap;display:flex;align-items:center;gap:.5rem}
.ev-lk::after{content:'→'}.evr:hover .ev-lk{opacity:1}
/* timeline */
.tl-wrap{background:#ede5d5;border-top:1px solid var(--bsoft);border-bottom:1px solid var(--bsoft)}
.tl-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:1px;background:var(--bsoft);margin-top:3rem}
.tlc{background:#f0ead8;padding:2rem 1.6rem;position:relative;transition:background .3s}
.tlc:hover{background:#e8e0cc}
.tlc::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:transparent;transition:background .3s}
.tlc:hover::before{background:var(--rust)}
.tlc-dt{font-family:'Oswald',sans-serif;font-size:.58rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--rust2);margin-bottom:.75rem}
.tlc-tt{font-family:'Oswald',sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#2a1f0e;margin-bottom:.7rem;line-height:1.3}
.tlc-tx{font-size:.82rem;line-height:1.65;color:#6a5840;font-weight:300}
/* facts */
.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--bdr);margin:2.5rem 0}
.fact{background:var(--surf);padding:1.4rem}
.fact-n{font-family:'Oswald',sans-serif;font-size:2rem;font-weight:700;color:var(--rust);line-height:1}
.fact-t{font-family:'Oswald',sans-serif;font-size:.56rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--fog);margin-top:.25rem}
/* portrait page */
.ppage{max-width:1100px;margin:0 auto}
.pgrid{display:grid;grid-template-columns:340px 1fr;gap:5rem;align-items:start;margin-bottom:4rem}
.photos{display:flex;flex-direction:column;gap:1.5rem}
.pbio h2{font-family:'Oswald',sans-serif;font-size:clamp(1.5rem,2.5vw,2.5rem);font-weight:700;text-transform:uppercase;line-height:.95;color:#2a1f0e;margin-bottom:.5rem}
.rank-badge{font-family:'Oswald',sans-serif;font-size:.6rem;font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:#f5f0e8;background:var(--rust);padding:.4rem .9rem;display:inline-block;margin-bottom:1.5rem}
.pbio p{font-size:1.05rem;line-height:1.85;color:#6a5840;font-weight:300;margin-bottom:1.2rem}
.pbio p strong{color:var(--cream2);font-weight:600}
.pbio blockquote{border-left:3px solid var(--rust);padding:1.5rem 2rem;margin:2rem 0;background:rgba(140,53,32,.06)}
.pbio blockquote p{font-size:1.1rem;font-style:italic;color:#3d2e1a;margin:0 0 .8rem}
.pbio blockquote p:last-of-type{margin-bottom:0}
.pbio blockquote cite{display:block;font-family:'Oswald',sans-serif;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--rust2);margin-top:.8rem}
.pbio .medals{background:#ede5d5;border:1px solid var(--bsoft);padding:1.5rem;margin:1.5rem 0}
.pbio .medals p{font-size:.85rem;line-height:1.7;color:var(--fog);margin:0}
.pnav{display:flex;justify-content:space-between;align-items:center;padding-top:3rem;border-top:1px solid var(--bsoft)}
.pnav-b{font-family:'Oswald',sans-serif;font-size:.62rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--rust);display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:color .2s}
.pnav-b:hover{color:#8c3520}
/* gallery */
.gallery{display:grid;gap:1rem;margin:2rem 0}
.gal-img{overflow:hidden;background:var(--surf);cursor:zoom-in}
.gal-img img{width:100%;height:100%;object-fit:cover;filter:sepia(.25) brightness(.82) contrast(1.05);transition:transform .5s;display:block}
.gal-img:hover img{transform:scale(1.04)}
/* event page */
.evpage-body{max-width:860px;margin:0 auto}
.evpage-body p{font-size:1.05rem;line-height:1.85;color:#6a5840;font-weight:300;margin-bottom:1.4rem}
.evpage-body h3{font-family:'Oswald',sans-serif;font-size:1.2rem;font-weight:600;text-transform:uppercase;color:var(--rust);margin:2.5rem 0 1rem;letter-spacing:.05em}
.ev-hero-img{width:100%;max-height:460px;object-fit:cover;filter:sepia(.45) brightness(.88) contrast(1.03);margin-bottom:3rem;display:block}
/* plaque CTA */
.plq-cta{position:relative;background:#ede5d5;border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);overflow:hidden}
.plq-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 120% at 0% 50%,rgba(140,53,32,.1),transparent 60%),radial-gradient(ellipse 50% 80% at 100% 50%,rgba(42,31,14,.06),transparent 60%)}
.plq-inner{position:relative;z-index:2;max-width:1360px;margin:0 auto;padding:6rem 3rem;display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:center}
.plq-inner h2{font-family:'Oswald',sans-serif;font-size:clamp(1.6rem,2.8vw,2.8rem);font-weight:700;text-transform:uppercase;line-height:.95;color:#2a1f0e;margin:1rem 0}
.plq-inner p{font-size:1rem;line-height:1.75;color:#6a5840;max-width:520px;font-weight:300}
.plq-btns{display:flex;flex-direction:column;gap:1rem;align-items:flex-end}
/* contact */
.cgrid{display:grid;grid-template-columns:1fr 1.3fr;gap:6rem;align-items:start}
.cinfo h2{font-family:'Oswald',sans-serif;font-size:2rem;font-weight:700;text-transform:uppercase;color:#2a1f0e;margin-bottom:1.5rem}
.cinfo p{font-size:1rem;line-height:1.8;color:#6a5840;font-weight:300;margin-bottom:1.2rem}
.cform{display:flex;flex-direction:column;gap:1.2rem}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fld{display:flex;flex-direction:column;gap:.4rem}
.fld label{font-family:'Oswald',sans-serif;font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:#6a5840}
.fld input,.fld textarea{background:#ede5d5;border:1px solid var(--bdr);color:#2a1f0e;font-family:'Crimson Pro',serif;font-size:1rem;font-weight:300;padding:.8rem 1rem;outline:none;transition:border-color .3s;resize:none}
.fld input:focus,.fld textarea:focus{border-color:var(--tan)}
.fmsg{font-family:'Oswald',sans-serif;font-size:.58rem;letter-spacing:.15em;color:#7a6a50;opacity:.6;margin-top:.5rem}
/* plaque page */
.plq-pgrid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.plq-text h2{font-family:'Oswald',sans-serif;font-size:clamp(1.5rem,2.5vw,2.2rem);font-weight:700;text-transform:uppercase;line-height:.95;color:#2a1f0e;margin-bottom:1.5rem}
.plq-text p{font-size:1rem;line-height:1.85;color:#6a5840;font-weight:300;margin-bottom:1.2rem}
.plq-text ul{margin:1.5rem 0;display:flex;flex-direction:column;gap:.6rem}
.plq-text ul li{font-size:1rem;line-height:1.7;color:#6a5840;font-weight:300;padding-left:1.5rem;position:relative}
.plq-text ul li::before{content:'—';position:absolute;left:0;color:var(--rust2)}
/* boutique */
.bt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}
.bcard{background:var(--bg2);border:1px solid var(--bsoft);overflow:hidden;transition:border-color .3s;cursor:pointer}
.bcard:hover{border-color:var(--bdr)}
.bcard-img{aspect-ratio:4/3;background:linear-gradient(135deg,#d4c8a8,#c0b490);display:flex;align-items:center;justify-content:center;color:rgba(192,154,90,.07);font-family:'Oswald',sans-serif;font-size:.7rem;letter-spacing:.2em;border-bottom:1px solid var(--bsoft)}
.bcard-info{padding:1.4rem}
.bcard-tag{font-family:'Oswald',sans-serif;font-size:.52rem;letter-spacing:.28em;text-transform:uppercase;color:var(--rust2);margin-bottom:.45rem}
.bcard-title{font-family:'Oswald',sans-serif;font-size:.88rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#2a1f0e;margin-bottom:.35rem}
.bcard-price{font-family:'Oswald',sans-serif;font-size:.95rem;font-weight:500;color:var(--tan)}
/* they were 400 */
.tw4-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:3rem 0}
.tw4-img{overflow:hidden;background:var(--surf);cursor:zoom-in}
.tw4-img img{width:100%;object-fit:cover;filter:sepia(.45) brightness(.85);transition:transform .5s,filter .3s;display:block;aspect-ratio:2/3}
.tw4-img:hover img{transform:scale(1.05);filter:sepia(.2) brightness(.95)}
#lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.96);align-items:center;justify-content:center;cursor:zoom-out}
#lightbox.open{display:flex}
#lightbox img{max-width:92vw;max-height:92vh;object-fit:contain;animation:lbIn .22s ease;cursor:default}
@keyframes lbIn{from{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}
#lb-close{position:fixed;top:1.2rem;right:1.5rem;font-family:'Oswald',sans-serif;font-size:.62rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.55);cursor:pointer;transition:color .2s;z-index:10001;padding:.5rem}
#lb-close:hover{color:#fff}
#lb-prev,#lb-next{position:fixed;top:50%;transform:translateY(-50%);font-size:3rem;color:rgba(255,255,255,.45);cursor:pointer;transition:color .2s;z-index:10001;padding:1rem 1.5rem;user-select:none;line-height:1}
#lb-prev{left:0}#lb-next{right:0}
#lb-prev:hover,#lb-next:hover{color:#fff}
#lb-counter{position:fixed;bottom:1.2rem;left:50%;transform:translateX(-50%);font-family:'Oswald',sans-serif;font-size:.58rem;letter-spacing:.35em;color:rgba(255,255,255,.4)}
#lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.96);align-items:center;justify-content:center;cursor:zoom-out}
#lightbox.open{display:flex}
#lightbox img{max-width:92vw;max-height:92vh;object-fit:contain;animation:lbIn .25s ease}
@keyframes lbIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
#lb-close{position:fixed;top:1.2rem;right:1.5rem;font-family:'Oswald',sans-serif;font-size:.65rem;font-weight:400;letter-spacing:.35em;text-transform:uppercase;color:rgba(255,255,255,.55);cursor:pointer;transition:color .2s;z-index:10000}
#lb-close:hover{color:#fff}
#lb-prev,#lb-next{position:fixed;top:50%;transform:translateY(-50%);font-size:2.5rem;color:rgba(255,255,255,.4);cursor:pointer;transition:color .2s;z-index:10000;padding:1.5rem;user-select:none;line-height:1}
#lb-prev{left:0}
#lb-next{right:0}
#lb-prev:hover,#lb-next:hover{color:#fff}
#lb-counter{position:fixed;bottom:1.2rem;left:50%;transform:translateX(-50%);font-family:'Oswald',sans-serif;font-size:.58rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.tw4-cta{background:rgba(140,53,32,.06);border:1px solid var(--bdr);padding:3rem;margin-top:3rem;text-align:center}
.tw4-cta h3{font-family:'Oswald',sans-serif;font-size:1.5rem;font-weight:700;text-transform:uppercase;color:var(--cream);margin-bottom:1rem}
.tw4-cta p{font-size:1rem;line-height:1.75;color:var(--fog);max-width:600px;margin:0 auto 2rem}
/* footer */
footer{background:#e0d8c4;border-top:1px solid var(--bsoft);padding:5rem 3rem 2.5rem}
.ft{max-width:1360px;margin:0 auto}
.ft-top{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:4rem;padding-bottom:4rem;border-bottom:1px solid var(--bdr);margin-bottom:2.5rem}
.ft-logo img{height:42px;filter:brightness(.9) sepia(.1);margin-bottom:1.2rem;cursor:pointer}
.ft-desc{font-size:.88rem;line-height:1.75;color:#6a5840;font-weight:300}
.ft-ct{font-family:'Oswald',sans-serif;font-size:.56rem;font-weight:400;letter-spacing:.35em;text-transform:uppercase;color:var(--rust2);margin-bottom:1.1rem}
.ft-col span{display:block;font-size:.88rem;color:#6a5840;padding:.3rem 0;transition:color .2s;font-style:italic;font-family:'Crimson Pro',serif;cursor:pointer}
.ft-col span:hover{color:#2a1f0e}
.ft-bot{display:flex;justify-content:space-between;align-items:center}
.ft-copy{font-family:'Oswald',sans-serif;font-size:.56rem;font-weight:300;letter-spacing:.18em;color:rgba(42,31,14,.4)}
/* HERO */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:brightness(.55) saturate(.6) sepia(.5)}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(42,31,14,.45) 0%,rgba(42,31,14,.08) 35%,rgba(42,31,14,.6) 80%,rgba(245,240,232,.97) 100%),linear-gradient(to right,rgba(42,31,14,.45) 0%,transparent 60%)}
.hghost{position:absolute;bottom:-3%;right:-1%;font-family:'Oswald',sans-serif;font-size:clamp(9rem,21vw,21rem);font-weight:700;color:transparent;-webkit-text-stroke:1px rgba(140,53,32,.12);line-height:1;pointer-events:none;user-select:none;z-index:1;letter-spacing:-.04em}
.hstamp{position:absolute;top:16%;right:5%;width:150px;height:150px;opacity:.12;z-index:2;animation:spin 45s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hcont{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:0 3rem 5.5rem;padding-top:100px;max-width:860px}
.hey{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;opacity:0;animation:up .9s .2s forwards}
.hey-line{width:40px;height:1px;background:var(--rust)}
.hey span{font-family:'Oswald',sans-serif;font-size:.6rem;font-weight:400;letter-spacing:.42em;text-transform:uppercase;color:var(--rust2)}
.hh1{opacity:0;animation:up .9s .35s forwards}
.hh1 .top{font-family:'Oswald',sans-serif;font-size:clamp(.85rem,1.8vw,1.2rem);font-weight:200;letter-spacing:.55em;text-transform:uppercase;color:rgba(140,53,32,.75);display:block;margin-bottom:.5rem}
.hh1 .main{font-family:'Oswald',sans-serif;font-size:clamp(3.5rem,8.5vw,8rem);font-weight:700;line-height:.9;text-transform:uppercase;letter-spacing:-.02em;color:#fff;display:block}
.hh1 .out{font-family:'Oswald',sans-serif;font-size:clamp(3.5rem,8.5vw,8rem);font-weight:700;line-height:.9;text-transform:uppercase;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:2px var(--rust);display:block}
.hdesc{margin-top:2.5rem;display:flex;gap:1.5rem;align-items:stretch;max-width:520px;opacity:0;animation:up .9s .5s forwards}
.hdesc-bar{width:3px;background:var(--rust);flex-shrink:0;min-height:56px}
.hdesc p{font-size:1.05rem;line-height:1.75;color:rgba(255,255,255,.88);font-weight:300}
.hbtns{display:flex;gap:1rem;flex-wrap:wrap;margin-top:3rem;opacity:0;animation:up .9s .65s forwards}
.hscroll{position:absolute;right:2.8rem;bottom:4.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;z-index:10;opacity:0;animation:fi 1.5s 1.2s forwards}
.hscroll-bar{width:1px;height:65px;background:linear-gradient(180deg,var(--rust),transparent);animation:pulse 2.5s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.35;transform:scaleY(.6);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}
.hscroll span{font-family:'Oswald',sans-serif;font-size:.5rem;letter-spacing:.4em;text-transform:uppercase;color:#7a6a50;writing-mode:vertical-rl}
.hstats{position:relative;z-index:10;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--bdr);background:rgba(245,240,232,.8);backdrop-filter:blur(10px)}
.hst{padding:1.8rem 2rem;border-right:1px solid var(--bdr);display:flex;flex-direction:column;gap:.35rem}
.hst:last-child{border-right:none}
.hst-n{font-family:'Oswald',sans-serif;font-size:2rem;font-weight:700;color:#8c3520;line-height:1}
.hst-l{font-family:'Oswald',sans-serif;font-size:.54rem;font-weight:300;letter-spacing:.28em;text-transform:uppercase;color:#5a4a38}
@keyframes up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes fi{from{opacity:0}to{opacity:1}}
/* hist grid */
.hg{display:grid;grid-template-columns:1fr 1.1fr;gap:6rem;align-items:start}
.ht h2{font-family:'Oswald',sans-serif;font-size:clamp(1.8rem,3.2vw,3rem);font-weight:700;text-transform:uppercase;line-height:.95;color:#2a1f0e;margin-bottom:2.5rem}
.ht h2 .accent{color:var(--tan);display:block}
.hb p{font-size:1.05rem;line-height:1.8;color:#6a5840;font-weight:300;margin-bottom:1.2rem}
.hb strong{color:var(--cream2);font-weight:600}
/* responsive */
@media(max-width:1200px){.pt-grid{grid-template-columns:repeat(3,1fr)}.ft-top{grid-template-columns:1fr 1fr;gap:2.5rem}.tl-grid{grid-template-columns:repeat(5,1fr)}.tw4-gal{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1024px){.hg{grid-template-columns:1fr;gap:3rem}.docstamp{right:.5rem}.cgrid{grid-template-columns:1fr;gap:3rem}.pgrid{grid-template-columns:1fr;gap:3rem}.plq-pgrid{grid-template-columns:1fr;gap:3rem}.plq-inner{grid-template-columns:1fr}.plq-btns{flex-direction:row}.bt-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.nlinks,.nr{display:none}.burger{display:flex}.sec{padding:4.5rem 1.5rem}.hcont{padding:0 1.5rem 3.5rem;padding-top:96px}.hscroll{display:none}.hstats{grid-template-columns:repeat(2,1fr)}.hghost{font-size:35vw}.hstamp{display:none}.tl-grid{grid-template-columns:repeat(3,1fr)}.pt-grid{grid-template-columns:repeat(2,1fr)}.evr{grid-template-columns:55px 3px 1fr;padding:0 .5rem;gap:0 1.2rem}.ev-lw{display:none}.bt-grid{grid-template-columns:1fr}.ft-top{grid-template-columns:1fr;gap:2rem}.ft-bot{flex-direction:column;gap:1rem}.ph{height:250px;padding:0 1.5rem 2.5rem}.tw4-gal{grid-template-columns:repeat(2,1fr)}.frow{grid-template-columns:1fr}footer{padding:4rem 1.5rem 2rem}.nw{padding:0 1.5rem}}
@media(max-width:480px){.hstats{grid-template-columns:1fr 1fr}.pt-grid{grid-template-columns:1fr 1fr}.fact-grid{grid-template-columns:1fr}.shead{flex-direction:column;align-items:flex-start;gap:1rem}.tw4-gal{grid-template-columns:repeat(2,1fr)}.pgrid{grid-template-columns:1fr}}

/* ── HISTOIRE TIMELINE ────────────────────────── */
.hist-tl{position:relative;padding-left:0}
.hist-day{display:grid;grid-template-columns:260px 1fr;gap:0;margin-bottom:0;position:relative}
.hist-day:last-child .hd-line{display:none}
.hd-left{position:relative;padding:3rem 3rem 0 0;display:flex;flex-direction:column;align-items:flex-end}
.hd-dot-wrap{position:absolute;right:-16px;top:3.3rem;z-index:2}
.hd-dot{width:32px;height:32px;border-radius:50%;background:var(--rust2);border:3px solid var(--bg2);display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:.55rem;font-weight:700;color:var(--cream);letter-spacing:.05em;box-shadow:0 0 0 4px rgba(176,68,40,.15)}
.hd-date{font-family:'Oswald',sans-serif;font-size:1.6rem;font-weight:700;color:var(--tan);line-height:1;text-align:right}
.hd-month{font-family:'Oswald',sans-serif;font-size:.62rem;font-weight:300;letter-spacing:.32em;text-transform:uppercase;color:var(--fog);text-align:right;margin-top:.25rem}
.hd-location{font-family:'Oswald',sans-serif;font-size:.55rem;font-weight:400;letter-spacing:.25em;text-transform:uppercase;color:var(--rust2);text-align:right;margin-top:.5rem}
.hd-right{border-left:1px solid var(--bdr);padding:3rem 0 4rem 3rem;position:relative}
.hd-line-v{position:absolute;left:-1px;top:0;bottom:0;width:1px;background:var(--bdr)}
.hd-title{font-family:'Oswald',sans-serif;font-size:1.1rem;font-weight:600;text-transform:uppercase;color:#2a1f0e;letter-spacing:.04em;margin-bottom:1.2rem;line-height:1.3}
.hd-body{font-size:1.05rem;line-height:1.85;color:#6a5840;font-weight:300;margin-bottom:1.5rem}
.hd-body p{margin-bottom:1rem}
.hd-body p:last-child{margin-bottom:0}
.hd-body strong{color:var(--cream2);font-weight:600}
.hd-quote{border-left:3px solid var(--rust);padding:1.2rem 1.5rem;margin:1.5rem 0;background:rgba(140,53,32,.07)}
.hd-quote p{font-size:1.05rem;font-style:italic;color:#3d2e1a;line-height:1.7}
.hd-imgs{display:grid;gap:1rem;margin-top:1.5rem}
.hd-imgs.g1{grid-template-columns:1fr}
.hd-imgs.g2{grid-template-columns:1fr 1fr}
.hd-imgs.g3{grid-template-columns:1fr 1fr 1fr}
.hd-imgs.g4{grid-template-columns:1fr 1fr}
.hd-imgs.gmix{grid-template-columns:1fr 1fr 1fr 1fr}
.hd-img-frame{background:#ede5d5;border:1px solid var(--bdr);padding:5px;position:relative;overflow:hidden}
.hd-img-frame.wide{grid-column:span 2}
.hd-img-frame.full{grid-column:1/-1}
.hd-img-frame img{width:100%;display:block;object-fit:cover;filter:sepia(.45) brightness(.88) contrast(1.05);transition:transform .5s}
.hd-img-frame:hover img{transform:scale(1.03)}
.hd-img-cap{font-family:'Oswald',sans-serif;font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:#6a5840;padding:.5rem .6rem;border-top:1px solid var(--bsoft)}
/* photo gallery layout for Dec 26 */
.soy-gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:1.5rem}
.soy-gallery .hd-img-frame{aspect-ratio:1}
.soy-gallery .hd-img-frame img{height:100%;object-fit:cover}
.soy-gallery .span2{grid-column:span 2}
@media(max-width:768px){
  .hist-day{grid-template-columns:1fr}
  .hd-left{padding:2rem 0 .5rem;align-items:flex-start;flex-direction:row;gap:1rem;align-items:center}
  .hd-dot-wrap{position:static}
  .hd-right{border-left:none;border-top:1px solid var(--bdr);padding:1.5rem 0 3rem}
  .hd-imgs.g3,.hd-imgs.g4,.hd-imgs.gmix{grid-template-columns:1fr 1fr}
  .soy-gallery{grid-template-columns:repeat(3,1fr)}
  .soy-gallery .span2{grid-column:span 1}
}

.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.75rem 1rem;background:#fff;color:#000;z-index:9999}
.nlinks a.is-active,.drop a.is-active,.mob-nav a.is-active,.ft-col a.is-active{color:var(--rust)!important;font-weight:600}
.lang-btn,.burger{background:none;border:none}
footer a{text-decoration:none;color:inherit}
footer button{border:none;background:none;cursor:pointer}


/* Wordmark logo replacement */
.nlogo{display:flex;align-items:center}
.logo-wordmark{font-family:'Oswald',sans-serif;font-size:1.15rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--rust);line-height:1;white-space:nowrap;display:inline-block}
#nav:not(.scrolled) .logo-wordmark{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}
#nav.scrolled .logo-wordmark{color:var(--rust)}
.ft-logo .logo-wordmark{font-size:1.1rem;color:#f5f0e8;margin-bottom:1.2rem}

/* Stronger homepage CTA */
.hero-cta{background:var(--gold);border-color:var(--gold);color:#2a1f0e;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.16)}
.hero-cta:hover{background:#e0ad2e;border-color:#e0ad2e;color:#2a1f0e;transform:translateY(-2px)}

.plaque-portraits{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:1.5rem;align-items:start}
.plaque-portrait{position:relative;background:#ede5d5;border:1px solid var(--bdr);padding:6px}
.plaque-portrait::before{content:'';position:absolute;inset:-7px;border:1px solid rgba(192,154,90,.06);pointer-events:none}
.plaque-portrait img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;filter:sepia(.18) contrast(1.02) brightness(.98)}
.plaque-portrait .cap{padding:.85rem 1rem;font-family:'Oswald',sans-serif;font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:#6a5840;text-align:center;border-top:1px solid var(--bsoft)}
@media(max-width:768px){.plaque-portraits{grid-template-columns:1fr;max-width:420px;margin:0 auto}}


.history-image{margin:60px 0;position:relative;display:flex;justify-content:center}.history-image img{width:100%;max-width:800px;display:block;margin:auto;filter:sepia(.5) contrast(1.1) brightness(.9)}.history-image::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent);pointer-events:none}.image-caption{text-align:center;margin-top:10px;font-size:14px;color:#6a5840;font-style:italic}

/* Inner pages: dark menu before scroll */
body.inner-page #nav:not(.scrolled) .nlinks>li>a,
body.inner-page #nav:not(.scrolled) .nlinks>li>span{color:#2a1f0e;}
body.inner-page #nav:not(.scrolled) .nlinks>li>a:hover,
body.inner-page #nav:not(.scrolled) .nlinks>li>span:hover{color:#000;}
body.inner-page #nav:not(.scrolled) .logo-wordmark{color:#2a1f0e;text-shadow:none;}
body.inner-page #nav:not(.scrolled) .nshop{background:var(--tan);color:#f5f0e8;border:1px solid transparent;}
body.inner-page #nav:not(.scrolled) .nshop:hover{background:#c8961e;color:#f5f0e8;}
body.inner-page #nav:not(.scrolled) .lang-sw{border-color:var(--bdr);}
body.inner-page #nav:not(.scrolled) .lang-btn{color:#7a6a50;}
body.inner-page #nav:not(.scrolled) .lang-btn.active{background:var(--rust);color:#f5f0e8;}
body.inner-page #nav:not(.scrolled) .lang-div{background:var(--bdr);}
body.inner-page #nav:not(.scrolled) .burger span{background:var(--cream);}

.social-nav{display:flex;align-items:center;gap:.55rem}
.social-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.social-nav .social-link{width:36px;height:36px;border:1px solid var(--bdr);border-radius:999px;background:rgba(245,240,232,.78);color:#6a5840}
.social-nav .social-link svg{width:17px;height:17px;fill:currentColor}
.social-nav .social-link:hover{transform:translateY(-1px);color:#fff}
.social-nav .social-instagram:hover{background:#c13584;border-color:#c13584}
.social-nav .social-facebook:hover{background:#1877f2;border-color:#1877f2}
#nav:not(.scrolled) .social-nav .social-link{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.34);color:rgba(255,255,255,.9)}
#nav:not(.scrolled) .social-nav .social-link:hover{color:#fff}
body.inner-page #nav:not(.scrolled) .social-nav .social-link{background:rgba(245,240,232,.78);border-color:var(--bdr);color:#6a5840}
.mob-social-nav{display:flex;gap:.9rem;padding:1.2rem 2rem;border-bottom:1px solid var(--bsoft)}
.mob-social-nav .social-link{flex:1;gap:.7rem;justify-content:center;border:1px solid var(--bdr);padding:.9rem 1rem;border-radius:999px;background:#ede5d5;color:#3d2e1a;font-family:'Oswald',sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
.mob-social-nav .social-link svg{width:16px;height:16px;fill:currentColor}
.mob-social-nav .social-instagram:hover{background:#c13584;border-color:#c13584;color:#fff}
.mob-social-nav .social-facebook:hover{background:#1877f2;border-color:#1877f2;color:#fff}
.cform button.bf{border:none}
