*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --w:#FFFFFF;--ow:#FAFAF8;--ww:#F7F4EF;--iv:#F2EDE4;
  --tr:#B5451B;--trl:#C8562A;--gd:#C09035;--gdl:#D4A84B;
  --ink:#0D0C0A;--inks:#1C1A17;--ch:#3A3530;
  --wg:#8A8078;--lg:#C8C0B8;--rl:#DDD8D0;
  --fd:'Cormorant',serif;--fb:'Cormorant Garamond',serif;
  --fu:'Jost',sans-serif;--fm:'DM Mono',monospace;
}
html{scroll-behavior:smooth}
body{background:var(--w);color:var(--ink);font-family:var(--fb);font-size:18px;font-weight:400;line-height:1.8;-webkit-font-smoothing:antialiased}
button{cursor:pointer}
input,textarea,select{font-family:var(--fb);outline:none}

.mono{font-family:var(--fm);font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.mono-tr{font-family:var(--fm);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--tr)}
.mono-gd{font-family:var(--fm);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gd)}
.mono-wg{font-family:var(--fm);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--wg)}

.wrap{max-width:1240px;margin:0 auto;padding:0 64px}
.wrap-sm{max-width:840px;margin:0 auto;padding:0 64px}
.sec{padding:80px 0}
.sec-lg{padding:120px 0}

.r{height:1px;background:var(--rl)}
.r-tr{width:48px;height:2px;background:var(--tr)}
.r-gd{width:48px;height:2px;background:var(--gd)}

.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--fm);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:14px 36px;border:none;cursor:pointer;transition:all .2s}
.btn-dark{background:var(--ink);color:var(--w)}.btn-dark:hover{background:var(--tr)}
.btn-ol{background:transparent;color:var(--ink);border:1px solid var(--ink)}.btn-ol:hover{background:var(--ink);color:var(--w)}
.btn-tr{background:var(--tr);color:var(--w)}.btn-tr:hover{background:var(--trl)}
.btn-ol-tr{background:transparent;color:var(--tr);border:1px solid var(--tr)}.btn-ol-tr:hover{background:var(--tr);color:var(--w)}
.btn-sm{font-family:var(--fm);font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:9px 20px;background:var(--ink);color:var(--w);border:none;cursor:pointer;transition:background .2s}.btn-sm:hover{background:var(--tr)}

.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.eyebrow::before{content:'';width:40px;height:1px;background:var(--tr);flex-shrink:0}

/* Legacy SPA rules neutralized - pages now served by the router */
.pg{display:block}
.pg.on{display:block;min-height:60vh}
.ak-page{display:block;animation:fi .3s ease;min-height:60vh}
@keyframes fi{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

.fb-wrap{display:flex;gap:8px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid var(--rl);margin-bottom:36px}
.fb{font-family:var(--fm);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;padding:8px 18px;background:transparent;border:1px solid var(--rl);color:var(--wg);cursor:pointer;transition:all .18s}
.fb:hover{border-color:var(--ink);color:var(--ink)}
.fb.on{background:var(--ink);color:var(--w);border-color:var(--ink)}

.tag{display:inline-block;font-family:var(--fm);font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--rl);color:var(--wg)}
.tag-tr{border-color:var(--tr);color:var(--tr)}
.tag-gd{border-color:var(--gd);color:var(--gd)}
.tag-dark{background:var(--ink);color:var(--w);border-color:var(--ink)}

.g2{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.g23{display:grid;grid-template-columns:2fr 3fr;gap:64px;align-items:start}
.g32{display:grid;grid-template-columns:3fr 2fr;gap:64px;align-items:start}

.art-card{background:var(--w);border:1px solid var(--rl);cursor:pointer;transition:transform .2s,box-shadow .2s}
.art-card:hover{transform:translateY(-3px);box-shadow:0 10px 36px rgba(0,0,0,.08)}
.art-img{background:var(--ww);display:flex;align-items:center;justify-content:center;overflow:hidden}
.art-meta{padding:16px 18px 18px}
.art-title{font-family:var(--fd);font-style:italic;font-size:18px;color:var(--ink);margin-bottom:3px}
.art-artist{font-family:var(--fm);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--wg);margin-bottom:10px}
.art-foot{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--rl);margin-top:8px}
.art-price{font-family:var(--fu);font-weight:500;font-size:15px;color:var(--ink)}

.fl{font-family:var(--fm);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ch);display:block;margin-bottom:7px}
.fi{width:100%;padding:14px 18px;border:1px solid var(--rl);background:var(--w);font-family:var(--fb);font-size:17px;color:var(--ink);transition:border-color .2s}
.fi:focus{border-color:var(--tr)}
.fi::placeholder{color:var(--lg)}
textarea.fi{resize:vertical;min-height:120px}

.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--rl)}
.stat{padding:30px;text-align:center;border-right:1px solid var(--rl)}
.stat:last-child{border-right:none}
.stat-n{font-family:var(--fd);font-style:italic;font-size:52px;color:var(--tr);line-height:1}
.stat-l{font-family:var(--fm);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--wg);margin-top:6px}

.testi{border-left:3px solid var(--tr);padding:20px 24px;background:var(--ww)}
.testi-t{font-family:var(--fd);font-style:italic;font-size:20px;color:var(--ch);line-height:1.7;margin-bottom:10px}
.testi-a{font-family:var(--fm);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--wg)}

/* PAGE HERO (sub-pages) */
.ph{padding:68px 0 52px;border-bottom:1px solid var(--rl);background:var(--ww);position:relative;overflow:hidden}
.ph::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.07}
.pt{font-family:var(--fd);font-style:italic;font-size:58px;font-weight:400;line-height:1;color:var(--ink);margin-bottom:14px}
.ps{font-family:var(--fb);font-size:19px;color:var(--wg);max-width:520px;line-height:1.8}

/* Page-specific SVG patterns via CSS background-image */
#pg-mkt .ph::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%3E%3Cpolygon%20points%3D%2240%2C2%2078%2C40%2040%2C78%202%2C40%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.18%22%2F%3E%3Cpolygon%20points%3D%2240%2C14%2066%2C40%2040%2C66%2014%2C40%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.5%22%20opacity%3D%220.55%22%2F%3E%3Cpolygon%20points%3D%2240%2C26%2054%2C40%2040%2C54%2026%2C40%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.22%22%2F%3E%3Crect%20x%3D%2237%22%20y%3D%2237%22%20width%3D%226%22%20height%3D%226%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.7%22%2F%3E%3Cpolygon%20points%3D%2240%2C0%2043%2C12%2040%2C16%2037%2C12%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.65%22%2F%3E%3Cpolygon%20points%3D%2240%2C80%2043%2C68%2040%2C64%2037%2C68%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.65%22%2F%3E%3Cpolygon%20points%3D%220%2C40%2012%2C43%2016%2C40%2012%2C37%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.65%22%2F%3E%3Cpolygon%20points%3D%2280%2C40%2068%2C43%2064%2C40%2068%2C37%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.65%22%2F%3E%3C%2Fsvg%3E")}
#pg-artists .ph::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2272%22%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%2280%22%20height%3D%2272%22%20fill%3D%22none%22%2F%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%2280%22%20height%3D%2210%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.15%22%2F%3E%3Cpolyline%20points%3D%220%2C5%2010%2C1%2020%2C5%2030%2C1%2040%2C5%2050%2C1%2060%2C5%2070%2C1%2080%2C5%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.6%22%20opacity%3D%220.75%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2210%22%20x2%3D%2280%22%20y2%3D%2210%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221%22%20opacity%3D%220.5%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%2215%22%20width%3D%2213%22%20height%3D%2213%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.18%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%2217%22%20width%3D%229%22%20height%3D%229%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.22%22%2F%3E%3Crect%20x%3D%226%22%20y%3D%2219%22%20width%3D%225%22%20height%3D%225%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.45%22%2F%3E%3Crect%20x%3D%2222%22%20y%3D%2215%22%20width%3D%2213%22%20height%3D%2213%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.18%22%2F%3E%3Crect%20x%3D%2224%22%20y%3D%2217%22%20width%3D%229%22%20height%3D%229%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.22%22%2F%3E%3Crect%20x%3D%2226%22%20y%3D%2219%22%20width%3D%225%22%20height%3D%225%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.45%22%2F%3E%3Crect%20x%3D%2242%22%20y%3D%2215%22%20width%3D%2213%22%20height%3D%2213%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.18%22%2F%3E%3Crect%20x%3D%2244%22%20y%3D%2217%22%20width%3D%229%22%20height%3D%229%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.22%22%2F%3E%3Crect%20x%3D%2246%22%20y%3D%2219%22%20width%3D%225%22%20height%3D%225%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.45%22%2F%3E%3Crect%20x%3D%2262%22%20y%3D%2215%22%20width%3D%2213%22%20height%3D%2213%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.18%22%2F%3E%3Crect%20x%3D%2264%22%20y%3D%2217%22%20width%3D%229%22%20height%3D%229%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.22%22%2F%3E%3Crect%20x%3D%2266%22%20y%3D%2219%22%20width%3D%225%22%20height%3D%225%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.45%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2230%22%20x2%3D%2280%22%20y2%3D%2230%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221%22%20opacity%3D%220.5%22%2F%3E%3Cpolygon%20points%3D%228%2C34%2016%2C46%200%2C46%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.32%22%2F%3E%3Cpolygon%20points%3D%2228%2C34%2036%2C46%2020%2C46%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.32%22%2F%3E%3Cpolygon%20points%3D%2248%2C34%2056%2C46%2040%2C46%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.32%22%2F%3E%3Cpolygon%20points%3D%2268%2C34%2076%2C46%2060%2C46%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.32%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2248%22%20x2%3D%2280%22%20y2%3D%2248%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221%22%20opacity%3D%220.5%22%2F%3E%3Cpolyline%20points%3D%220%2C55%2010%2C51%2020%2C55%2030%2C51%2040%2C55%2050%2C51%2060%2C55%2070%2C51%2080%2C55%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.6%22%20opacity%3D%220.75%22%2F%3E%3Crect%20x%3D%220%22%20y%3D%2260%22%20width%3D%2280%22%20height%3D%2210%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.15%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2270%22%20x2%3D%2280%22%20y2%3D%2270%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221%22%20opacity%3D%220.5%22%2F%3E%3C%2Fsvg%3E")}
#pg-gallery .ph::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%22%20height%3D%22100%22%3E%3Cpolygon%20points%3D%2250%2C4%2096%2C50%2050%2C96%204%2C50%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.16%22%2F%3E%3Cpolygon%20points%3D%2250%2C14%2086%2C50%2050%2C86%2014%2C50%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%222%22%20opacity%3D%220.5%22%2F%3E%3Cpolygon%20points%3D%2250%2C24%2076%2C50%2050%2C76%2024%2C50%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.2%22%2F%3E%3Cpolygon%20points%3D%2250%2C34%2066%2C50%2050%2C66%2034%2C50%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.2%22%20opacity%3D%220.5%22%2F%3E%3Crect%20x%3D%2246%22%20y%3D%2246%22%20width%3D%228%22%20height%3D%228%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.7%22%2F%3E%3Cpolygon%20points%3D%2250%2C2%2054%2C14%2050%2C18%2046%2C14%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.7%22%2F%3E%3Cpolygon%20points%3D%2250%2C98%2054%2C86%2050%2C82%2046%2C86%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.7%22%2F%3E%3Cpolygon%20points%3D%222%2C50%2014%2C54%2018%2C50%2014%2C46%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.7%22%2F%3E%3Cpolygon%20points%3D%2298%2C50%2086%2C54%2082%2C50%2086%2C46%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.7%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%22100%22%20y2%3D%22100%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.4%22%20opacity%3D%220.2%22%2F%3E%3Cline%20x1%3D%22100%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%22100%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.4%22%20opacity%3D%220.2%22%2F%3E%3C%2Fsvg%3E")}
#pg-events .ph::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%22%20height%3D%22100%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2245%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.2%22%20opacity%3D%220.45%22%2F%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2233%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.08%22%2F%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2222%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221%22%20opacity%3D%220.45%22%2F%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2212%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.14%22%2F%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%224%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.65%22%2F%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%225%22%20r%3D%223.5%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.7%22%2F%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2295%22%20r%3D%223.5%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.7%22%2F%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2250%22%20r%3D%223.5%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.7%22%2F%3E%3Ccircle%20cx%3D%2295%22%20cy%3D%2250%22%20r%3D%223.5%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.7%22%2F%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2218%22%20r%3D%222.5%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.6%22%2F%3E%3Ccircle%20cx%3D%2282%22%20cy%3D%2218%22%20r%3D%222.5%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.6%22%2F%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2282%22%20r%3D%222.5%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.6%22%2F%3E%3Ccircle%20cx%3D%2282%22%20cy%3D%2282%22%20r%3D%222.5%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.6%22%2F%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2217%22%20r%3D%222%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.55%22%2F%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2283%22%20r%3D%222%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.55%22%2F%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%2250%22%20r%3D%222%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.55%22%2F%3E%3Ccircle%20cx%3D%2283%22%20cy%3D%2250%22%20r%3D%222%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.55%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%220%22%20r%3D%2245%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.5%22%20opacity%3D%220.25%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%220%22%20r%3D%2245%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.5%22%20opacity%3D%220.25%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22100%22%20r%3D%2245%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.5%22%20opacity%3D%220.25%22%2F%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%22100%22%20r%3D%2245%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.5%22%20opacity%3D%220.25%22%2F%3E%3C%2Fsvg%3E")}
#pg-blog .ph::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%3E%3Ccircle%20cx%3D%2240%22%20cy%3D%2240%22%20r%3D%2232%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221%22%20opacity%3D%220.5%22%2F%3E%3Ccircle%20cx%3D%2240%22%20cy%3D%2240%22%20r%3D%2220%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.1%22%2F%3E%3Ccircle%20cx%3D%2240%22%20cy%3D%2240%22%20r%3D%228%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.35%22%2F%3E%3Cpath%20d%3D%22M40%2C8%20C36%2C16%2033%2C27%2040%2C32%20C47%2C27%2044%2C16%2040%2C8Z%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.6%22%2F%3E%3Cpath%20d%3D%22M40%2C72%20C36%2C64%2033%2C53%2040%2C48%20C47%2C53%2044%2C64%2040%2C72Z%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.6%22%2F%3E%3Cpath%20d%3D%22M8%2C40%20C16%2C36%2027%2C33%2032%2C40%20C27%2C47%2016%2C44%208%2C40Z%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.6%22%2F%3E%3Cpath%20d%3D%22M72%2C40%20C64%2C36%2053%2C33%2048%2C40%20C53%2C47%2064%2C44%2072%2C40Z%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.6%22%2F%3E%3Cpath%20d%3D%22M18%2C18%20C23%2C26%2029%2C31%2035%2C27%20C33%2C19%2026%2C15%2018%2C18Z%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.45%22%2F%3E%3Cpath%20d%3D%22M62%2C18%20C57%2C26%2051%2C31%2045%2C27%20C47%2C19%2054%2C15%2062%2C18Z%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.45%22%2F%3E%3Cpath%20d%3D%22M18%2C62%20C23%2C54%2029%2C49%2035%2C53%20C33%2C61%2026%2C65%2018%2C62Z%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.45%22%2F%3E%3Cpath%20d%3D%22M62%2C62%20C57%2C54%2051%2C49%2045%2C53%20C47%2C61%2054%2C65%2062%2C62Z%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.45%22%2F%3E%3C%2Fsvg%3E")}
#pg-circle .circle-hero::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='60'%3E%3Cpolygon points='26,2 50,14 50,46 26,58 2,46 2,14' fill='none' stroke='%23B5451B' stroke-width='0.7'/%3E%3Cpolygon points='26,12 40,20 40,40 26,48 12,40 12,20' fill='none' stroke='%23B5451B' stroke-width='0.4'/%3E%3C/svg%3E")}
#pg-about .ph::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2290%22%20height%3D%2290%22%3E%3Ccircle%20cx%3D%2245%22%20cy%3D%2245%22%20r%3D%2238%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221%22%20opacity%3D%220.45%22%2F%3E%3Ccircle%20cx%3D%2245%22%20cy%3D%2245%22%20r%3D%2224%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.07%22%2F%3E%3Ccircle%20cx%3D%2245%22%20cy%3D%2245%22%20r%3D%2212%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.8%22%20opacity%3D%220.45%22%2F%3E%3Ccircle%20cx%3D%2245%22%20cy%3D%2245%22%20r%3D%224%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.7%22%2F%3E%3Cpolygon%20points%3D%2245%2C7%2049%2C33%2045%2C38%2041%2C33%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.6%22%2F%3E%3Cpolygon%20points%3D%2245%2C83%2049%2C57%2045%2C52%2041%2C57%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.6%22%2F%3E%3Cpolygon%20points%3D%227%2C45%2033%2C49%2038%2C45%2033%2C41%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.6%22%2F%3E%3Cpolygon%20points%3D%2283%2C45%2057%2C49%2052%2C45%2057%2C41%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.6%22%2F%3E%3Cline%20x1%3D%2218%22%20y1%3D%2218%22%20x2%3D%2229%22%20y2%3D%2229%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.2%22%20opacity%3D%220.45%22%2F%3E%3Cline%20x1%3D%2261%22%20y1%3D%2261%22%20x2%3D%2272%22%20y2%3D%2272%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.2%22%20opacity%3D%220.45%22%2F%3E%3Cline%20x1%3D%2272%22%20y1%3D%2218%22%20x2%3D%2261%22%20y2%3D%2229%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.2%22%20opacity%3D%220.45%22%2F%3E%3Cline%20x1%3D%2218%22%20y1%3D%2272%22%20x2%3D%2229%22%20y2%3D%2261%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.2%22%20opacity%3D%220.45%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%220%22%20r%3D%2238%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.4%22%20opacity%3D%220.25%22%2F%3E%3Ccircle%20cx%3D%2290%22%20cy%3D%220%22%20r%3D%2238%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.4%22%20opacity%3D%220.25%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%2290%22%20r%3D%2238%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.4%22%20opacity%3D%220.25%22%2F%3E%3Ccircle%20cx%3D%2290%22%20cy%3D%2290%22%20r%3D%2238%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.4%22%20opacity%3D%220.25%22%2F%3E%3C%2Fsvg%3E")}
#pg-press .ph::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2248%22%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.25%22%2F%3E%3Crect%20x%3D%2212%22%20y%3D%220%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.7%22%20opacity%3D%220.4%22%2F%3E%3Crect%20x%3D%2224%22%20y%3D%220%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.25%22%2F%3E%3Crect%20x%3D%2236%22%20y%3D%220%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.7%22%20opacity%3D%220.4%22%2F%3E%3Crect%20x%3D%220%22%20y%3D%2212%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.7%22%20opacity%3D%220.4%22%2F%3E%3Crect%20x%3D%2212%22%20y%3D%2212%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.25%22%2F%3E%3Crect%20x%3D%2224%22%20y%3D%2212%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.7%22%20opacity%3D%220.4%22%2F%3E%3Crect%20x%3D%2236%22%20y%3D%2212%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.25%22%2F%3E%3Crect%20x%3D%220%22%20y%3D%2224%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.25%22%2F%3E%3Crect%20x%3D%2212%22%20y%3D%2224%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.7%22%20opacity%3D%220.4%22%2F%3E%3Crect%20x%3D%2224%22%20y%3D%2224%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.25%22%2F%3E%3Crect%20x%3D%2236%22%20y%3D%2224%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.7%22%20opacity%3D%220.4%22%2F%3E%3Crect%20x%3D%220%22%20y%3D%2236%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.7%22%20opacity%3D%220.4%22%2F%3E%3Crect%20x%3D%2212%22%20y%3D%2236%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.25%22%2F%3E%3Crect%20x%3D%2224%22%20y%3D%2236%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.7%22%20opacity%3D%220.4%22%2F%3E%3Crect%20x%3D%2236%22%20y%3D%2236%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.25%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%2248%22%20y2%3D%220%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.8%22%20opacity%3D%220.45%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2212%22%20x2%3D%2248%22%20y2%3D%2212%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.8%22%20opacity%3D%220.45%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2224%22%20x2%3D%2248%22%20y2%3D%2224%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.8%22%20opacity%3D%220.45%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2236%22%20x2%3D%2248%22%20y2%3D%2236%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.8%22%20opacity%3D%220.45%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2248%22%20x2%3D%2248%22%20y2%3D%2248%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.8%22%20opacity%3D%220.45%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%2248%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.8%22%20opacity%3D%220.45%22%2F%3E%3Cline%20x1%3D%2212%22%20y1%3D%220%22%20x2%3D%2212%22%20y2%3D%2248%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.8%22%20opacity%3D%220.45%22%2F%3E%3Cline%20x1%3D%2224%22%20y1%3D%220%22%20x2%3D%2224%22%20y2%3D%2248%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.8%22%20opacity%3D%220.45%22%2F%3E%3Cline%20x1%3D%2236%22%20y1%3D%220%22%20x2%3D%2236%22%20y2%3D%2248%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.8%22%20opacity%3D%220.45%22%2F%3E%3Cline%20x1%3D%2248%22%20y1%3D%220%22%20x2%3D%2248%22%20y2%3D%2248%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.8%22%20opacity%3D%220.45%22%2F%3E%3C%2Fsvg%3E")}
#pg-contact .ph::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2240%22%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%2280%22%20height%3D%228%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.22%22%2F%3E%3Crect%20x%3D%220%22%20y%3D%2232%22%20width%3D%2280%22%20height%3D%228%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.22%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%228%22%20x2%3D%2280%22%20y2%3D%228%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.2%22%20opacity%3D%220.6%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2232%22%20x2%3D%2280%22%20y2%3D%2232%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.2%22%20opacity%3D%220.6%22%2F%3E%3Cpolyline%20points%3D%220%2C20%2010%2C13%2020%2C20%2030%2C13%2040%2C20%2050%2C13%2060%2C20%2070%2C13%2080%2C20%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.5%22%20opacity%3D%220.65%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2213%22%20r%3D%222.5%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.6%22%2F%3E%3Ccircle%20cx%3D%2230%22%20cy%3D%2213%22%20r%3D%222.5%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.6%22%2F%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2213%22%20r%3D%222.5%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.6%22%2F%3E%3Ccircle%20cx%3D%2270%22%20cy%3D%2213%22%20r%3D%222.5%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.6%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%2220%22%20r%3D%222%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.5%22%2F%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%222%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.5%22%2F%3E%3Ccircle%20cx%3D%2240%22%20cy%3D%2220%22%20r%3D%222%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.5%22%2F%3E%3Ccircle%20cx%3D%2260%22%20cy%3D%2220%22%20r%3D%222%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.5%22%2F%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%2220%22%20r%3D%222%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.5%22%2F%3E%3C%2Fsvg%3E")}
#pg-portal .ph::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2240%22%3E%3Crect%20x%3D%220%22%20y%3D%223%22%20width%3D%2280%22%20height%3D%227%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.27%22%2F%3E%3Crect%20x%3D%220%22%20y%3D%2230%22%20width%3D%2280%22%20height%3D%227%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.27%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%223%22%20x2%3D%2280%22%20y2%3D%223%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.2%22%20opacity%3D%220.6%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2210%22%20x2%3D%2280%22%20y2%3D%2210%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.2%22%20opacity%3D%220.6%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2230%22%20x2%3D%2280%22%20y2%3D%2230%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.2%22%20opacity%3D%220.6%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2237%22%20x2%3D%2280%22%20y2%3D%2237%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.2%22%20opacity%3D%220.6%22%2F%3E%3Cpolygon%20points%3D%2240%2C13%2044%2C20%2040%2C27%2036%2C20%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.5%22%2F%3E%3Ccircle%20cx%3D%2240%22%20cy%3D%2220%22%20r%3D%222.5%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.65%22%2F%3E%3Cpolygon%20points%3D%2210%2C13%2014%2C20%2010%2C27%206%2C20%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.7%22%20opacity%3D%220.4%22%2F%3E%3Cpolygon%20points%3D%2270%2C13%2074%2C20%2070%2C27%2066%2C20%22%20fill%3D%22none%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%220.7%22%20opacity%3D%220.4%22%2F%3E%3C%2Fsvg%3E")}
#pg-consult .ph::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2260%22%20height%3D%2260%22%3E%3Crect%20x%3D%2226%22%20y%3D%220%22%20width%3D%228%22%20height%3D%2260%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.17%22%2F%3E%3Crect%20x%3D%220%22%20y%3D%2226%22%20width%3D%2260%22%20height%3D%228%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.17%22%2F%3E%3Cline%20x1%3D%2230%22%20y1%3D%220%22%20x2%3D%2230%22%20y2%3D%2260%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.8%22%20opacity%3D%220.5%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2230%22%20x2%3D%2260%22%20y2%3D%2230%22%20stroke%3D%22%23B5451B%22%20stroke-width%3D%221.8%22%20opacity%3D%220.5%22%2F%3E%3Crect%20x%3D%2222%22%20y%3D%2222%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22none%22%20stroke%3D%22%23C09035%22%20stroke-width%3D%221.2%22%20opacity%3D%220.65%22%2F%3E%3Crect%20x%3D%2226%22%20y%3D%2226%22%20width%3D%228%22%20height%3D%228%22%20fill%3D%22%23C09035%22%20opacity%3D%220.35%22%2F%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%229%22%20height%3D%229%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.22%22%2F%3E%3Crect%20x%3D%2251%22%20y%3D%220%22%20width%3D%229%22%20height%3D%229%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.22%22%2F%3E%3Crect%20x%3D%220%22%20y%3D%2251%22%20width%3D%229%22%20height%3D%229%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.22%22%2F%3E%3Crect%20x%3D%2251%22%20y%3D%2251%22%20width%3D%229%22%20height%3D%229%22%20fill%3D%22%23B5451B%22%20opacity%3D%220.22%22%2F%3E%3C%2Fsvg%3E")}

.mq{background:var(--ww);border-top:1px solid var(--rl);border-bottom:1px solid var(--rl);padding:14px 0;overflow:hidden}
.mq-inner{display:flex;gap:48px;animation:mqs 26s linear infinite;white-space:nowrap}
.mq-item{font-family:var(--fd);font-style:italic;font-size:15px;color:var(--tr);flex-shrink:0}
.mq-dot{font-family:var(--fm);font-size:11px;color:var(--lg);flex-shrink:0}
@keyframes mqs{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

.bc{font-family:var(--fm);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--lg);display:flex;gap:8px;align-items:center;margin-bottom:32px}
.bc span{cursor:pointer;transition:color .2s}.bc span:hover{color:var(--tr)}
.bc-s{color:var(--rl)}

.nd{display:flex;align-items:center;gap:20px;margin:12px 0}
.nd::before,.nd::after{content:'';flex:1;height:1px;background:var(--rl)}
.nd-t{font-family:var(--fd);font-style:italic;font-size:13px;color:var(--tr);white-space:nowrap}

.svc{padding:32px 28px;border:1px solid var(--rl);background:var(--w);transition:border-color .2s}
.svc:hover{border-color:var(--tr)}
.svc-n{font-family:var(--fm);font-size:10px;color:var(--tr);letter-spacing:.1em;margin-bottom:12px}
.svc-t{font-family:var(--fd);font-style:italic;font-size:21px;color:var(--ink);margin-bottom:8px}
.svc-d{font-size:16px;color:var(--wg);line-height:1.7}

/* NAV */
#nav{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--rl)}
.nav-in{display:flex;justify-content:space-between;align-items:center;height:66px;max-width:1240px;margin:0 auto;padding:0 64px}
.logo{cursor:pointer;line-height:1}
.logo-name{font-family:var(--fd);font-style:italic;font-size:22px;color:var(--ink)}
.logo-sub{font-family:var(--fm);font-size:8px;letter-spacing:.24em;text-transform:uppercase;color:var(--tr);margin-top:1px;display:block}
.nl{display:flex;gap:28px}
.nl a{font-family:var(--fm);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--wg);cursor:pointer;transition:color .2s;padding-bottom:2px;border-bottom:1px solid transparent;text-decoration:none}
.nl a:hover,.nl a.on{color:var(--ink);border-bottom-color:var(--tr)}
.nr{display:flex;gap:12px;align-items:center}
.lang{font-family:var(--fm);font-size:9px;letter-spacing:.12em;padding:5px 10px;background:transparent;border:1px solid var(--rl);color:var(--wg);cursor:pointer;transition:all .2s}
.lang:hover{border-color:var(--gd);color:var(--gd)}
.nav-cta{font-family:var(--fm);font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:9px 18px;background:var(--tr);color:var(--w);border:none;cursor:pointer;transition:background .2s}
.nav-cta:hover{background:var(--trl)}
.mob-tog{display:none;background:none;border:none;font-size:22px;cursor:pointer;color:var(--ink)}

.mob-menu{display:none;position:fixed;inset:0;background:var(--w);z-index:1000;padding:24px 32px;flex-direction:column}
.mob-menu.open{display:flex}
.mob-close{font-family:var(--fm);font-size:9px;letter-spacing:.14em;align-self:flex-end;margin-bottom:20px;cursor:pointer;color:var(--wg)}
.mob-link{font-family:var(--fm);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:15px 0;border-bottom:1px solid var(--rl);color:var(--ch);cursor:pointer}

/* FOOTER — #2596be brand blue, high-contrast text */
footer{background:#b5441b;color:var(--w);padding:72px 0 36px;clear:both;position:relative;z-index:1}
.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px}
.ft-name{font-family:var(--fd);font-style:italic;font-size:32px;color:var(--w);margin-bottom:2px}
.ft-sub{font-family:var(--fm);font-size:8px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.8);margin-bottom:16px;display:block}
.ft-desc{font-size:15px;color:rgba(255,255,255,.92);line-height:1.7;max-width:260px}
.ft-col-t{font-family:var(--fm);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:18px;display:block}
.ft-lnk{display:block;font-family:var(--fb);font-size:15px;color:rgba(255,255,255,.92);margin-bottom:9px;cursor:pointer;transition:color .18s}
.ft-lnk:hover{color:var(--w)}
.ft-bot{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.28)}
.ft-copy{font-family:var(--fm);font-size:9px;letter-spacing:.1em;color:rgba(255,255,255,.8)}
.ft-soc{display:flex;gap:20px}
.ft-sl{font-family:var(--fm);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.8);cursor:pointer;transition:color .18s}
.ft-sl:hover{color:var(--w)}

/* IMAGE HALO */
.img-halo{position:relative;display:flex;justify-content:center;align-items:center}
.img-halo::before{content:'';position:absolute;inset:-32px;background:radial-gradient(ellipse at 60% 50%, rgba(181,69,27,.18) 0%, rgba(192,144,53,.06) 40%, transparent 72%);border-radius:50%;pointer-events:none;z-index:0}
.img-halo img{position:relative;z-index:1;box-shadow:0 28px 64px rgba(13,12,10,.22),0 8px 24px rgba(13,12,10,.12)}

@media(max-width:1024px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}.ft-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
  .wrap,.wrap-sm{padding:0 24px}
  .nl,.nr{display:none}.mob-tog{display:block}
  .g23,.g32,.g2{grid-template-columns:1fr}
  .g3{grid-template-columns:1fr}
  .g4{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(2){border-right:none}
  .stat:nth-child(3){border-top:1px solid var(--rl)}
  .pt{font-size:40px}
  .sec{padding:48px 0}.sec-lg{padding:64px 0}
  .ft-grid{grid-template-columns:1fr}
  .home-hero-grid{grid-template-columns:1fr!important}
}

/* ROOM CARD */
.room-card{background:#b5451b;padding:40px 36px;cursor:pointer;transition:background .3s,transform .2s,box-shadow .2s}
.room-card:hover{background:#9E3C14;transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.15)}
.room-n{font-family:var(--fm);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--tr);margin-bottom:12px}
.room-t{font-family:var(--fd);font-style:italic;font-size:28px;color:var(--w);line-height:1.15;margin-bottom:10px}
.room-d{font-size:13px;color:rgba(255,255,255,.45);line-height:1.65}

/* BENEFIT LIST */
.benefit-li{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--rl)}
.benefit-li:last-child{border-bottom:none}
.benefit-check{color:var(--tr);font-family:var(--fm);font-size:11px;flex-shrink:0;margin-top:2px}
.benefit-t{font-size:15px;color:var(--ch);line-height:1.6}

/* TIMELINE */
.timeline-item{display:grid;grid-template-columns:80px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--rl)}
.timeline-yr{font-family:var(--fd);font-style:italic;font-size:20px;color:var(--tr)}

/* EVENT CARD */
.ev-card{background:var(--w);border:1px solid var(--rl);padding:32px 36px;display:grid;grid-template-columns:90px 1fr auto;gap:24px;align-items:start;transition:border-color .2s;cursor:pointer}
.ev-card:hover{border-color:var(--tr)}
.ev-date-n{font-family:var(--fd);font-style:italic;font-size:48px;color:var(--ink);line-height:1}
.ev-date-m{font-family:var(--fm);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--tr)}
.ev-date-y{font-family:var(--fm);font-size:8px;letter-spacing:.12em;color:var(--wg)}

/* PRESS PUB */
.press-pub{font-family:var(--fd);font-style:italic;font-size:20px;color:var(--lg);cursor:pointer;transition:color .2s}
.press-pub:hover{color:var(--ink)}

/* SECTION DARK / TINTED */
.sec-dark{padding:100px 0;background:#b5451b;color:var(--w)}
.sec-iv{padding:80px 0;background:var(--iv);border-top:1px solid var(--rl);border-bottom:1px solid var(--rl)}

/* FRENCH TOGGLE */
body[data-lang='fr'] .fr-only{display:block!important}
body[data-lang='fr'] .en-only{display:none!important}
.fr-only{display:none}


/* ═══ WOW VISUAL EFFECTS ══════════════════════════════════════════ */

/* SCROLL REVEAL */
.rv{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:translateY(0)}
.rv1{transition-delay:.1s}.rv2{transition-delay:.2s}.rv3{transition-delay:.3s}
.rv4{transition-delay:.4s}.rv5{transition-delay:.5s}

/* FADE IN ONLY (no translate) */
.fade{opacity:0;transition:opacity .8s ease}
.fade.in{opacity:1}

/* ENHANCED ART CARD HOVER */
.art-card{transition:transform .28s cubic-bezier(.2,0,.2,1),box-shadow .28s ease,border-color .2s}
.art-card:hover{transform:translateY(-8px);box-shadow:0 28px 60px rgba(181,69,27,.16),0 8px 20px rgba(0,0,0,.06);border-color:rgba(181,69,27,.3)}
.art-img{overflow:hidden;position:relative}
.art-card:hover .art-img > span{opacity:.6}

/* BUTTON EFFECTS */
.btn{position:relative;overflow:hidden}
.btn::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.18);border-radius:50%;transform:translate(-50%,-50%);transition:width .5s ease,height .5s ease,opacity .4s ease;opacity:0}
.btn:active::before{width:200%;height:200%;opacity:0;transition:none}
.btn:active{transform:scale(.98)}

/* SERVICE CARD HOVER */
.svc{transition:border-color .25s,transform .25s,box-shadow .25s}
.svc:hover{border-color:var(--tr)!important;transform:translateY(-3px);box-shadow:0 12px 36px rgba(181,69,27,.1)}

/* TESTIMONIAL HOVER */
.testi{transition:transform .25s,box-shadow .25s}
.testi:hover{transform:translateX(4px);box-shadow:0 8px 28px rgba(0,0,0,.07)}

/* HERO PORTRAIT HOVER */
.img-halo img{transition:transform .6s cubic-bezier(.2,0,.2,1)}
.img-halo:hover img{transform:scale(1.03)}

/* FLOATING DECORATION */
@keyframes float-a{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-14px) rotate(3deg)}}
@keyframes float-b{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-8px) rotate(-2deg)}}
@keyframes float-c{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.05)}}
@keyframes pulse-ring{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.6);opacity:0}}
@keyframes spin-slow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes shimmer-bg{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes slide-in-left{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}
@keyframes gradient-shift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes glow-pulse{0%,100%{box-shadow:0 0 0 0 rgba(181,69,27,0)}50%{box-shadow:0 0 32px 8px rgba(181,69,27,.15)}}

/* HERO DECORATIVE ORBS */
.hero-orb{position:absolute;border-radius:50%;pointer-events:none;animation-timing-function:ease-in-out;animation-iteration-count:infinite}

/* GRADIENT HEADING */
.grad-h{background:linear-gradient(135deg,var(--tr) 0%,var(--gd) 60%,var(--tr) 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer-bg 4s linear infinite}

/* MARQUEE HOVER */
.mq-item{transition:color .3s}
.mq-item:hover{color:var(--gd)}

/* STAT NUMBER ANIMATION */
.stat-n{transition:color .3s}

/* FILTER BUTTON HOVER */
.fb{transition:all .18s cubic-bezier(.2,0,.2,1)}

/* NAV LINK ACTIVE BAR */
.nl a{position:relative}
.nl a::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:1px;background:var(--tr);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.nl a:hover::after,.nl a.on::after{transform:scaleX(1)}

/* TERRACOTTA CTA SECTIONS — decorative floating shapes */
.tr-deco{position:absolute;pointer-events:none;border-radius:50%}
.tr-deco-1{width:180px;height:180px;border:2px solid rgba(255,255,255,.12);top:-40px;right:-40px;animation:float-c 7s ease-in-out infinite}
.tr-deco-2{width:80px;height:80px;background:rgba(255,255,255,.07);bottom:40px;left:60px;animation:float-a 9s ease-in-out infinite}
.tr-deco-3{width:120px;height:120px;border:1px solid rgba(255,255,255,.08);bottom:-30px;right:200px;animation:float-b 11s ease-in-out infinite}

/* SECTION EYEBROW ANIMATION */
.eyebrow{animation:slide-in-left .5s ease both}

/* PRESS PUB HOVER */
.press-pub{transition:color .2s,letter-spacing .2s}
.press-pub:hover{color:var(--tr)!important;letter-spacing:-.01em}

/* BENEFIT LI hover */
.benefit-li{transition:background .2s,padding .2s}
.benefit-li:hover{background:rgba(181,69,27,.04);padding-left:6px}

/* TIMELINE hover */
.timeline-item{transition:background .2s}
.timeline-item:hover{background:var(--ww)}

/* ARTIST CARD hover */
div[onclick*="artist-world"]{transition:box-shadow .25s,transform .25s}

/* FEATURED EVENT hover shimmer */
.ev-card{transition:border-color .2s,transform .2s,box-shadow .2s}
.ev-card:hover{transform:translateX(3px);box-shadow:4px 0 0 var(--tr),0 8px 28px rgba(0,0,0,.06)}

/* TAG HOVER */
.tag{transition:background .2s,color .2s,border-color .2s}
.tag:hover{background:var(--ww)}

/* ART PRICE gradient on hover */
.art-card:hover .art-price{color:var(--tr)}
.art-price{transition:color .2s}

/* ROOM CARD enhancements */
.room-card{position:relative;overflow:hidden}
.room-card::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.04) 0%,transparent 50%);pointer-events:none}
.room-card .room-n{transition:letter-spacing .3s}
.room-card:hover .room-n{letter-spacing:.28em}

/* PHOTO FRAME GLOW */
.img-halo{animation:glow-pulse 4s ease-in-out infinite}

/* HERO QUOTE CARD subtle float */
div.hero-quote{animation:float-b 6s ease-in-out infinite}

/* STICKY NAV shadow on scroll */
#nav{transition:box-shadow .3s}


/* ══ TERRACOTTA SECTION READABILITY FIXES ══════════════════════════════════
   When sections use #b5451b background, all "dark-bg" colour tokens become
   invisible. .on-tr overrides every affected token to white/cream/gold. */

/* Mono labels */
.on-tr .mono-tr,
.on-tr span.mono-tr,
.on-tr div.mono-tr  { color: rgba(255,255,255,.8) !important; }
.on-tr .mono-wg     { color: rgba(255,255,255,.65) !important; }
.on-tr .mono-gd     { color: var(--gdl) !important; }

/* Eyebrow rule */
.on-tr .eyebrow::before { background: rgba(255,255,255,.4) !important; }
.on-tr .r-tr        { background: rgba(255,255,255,.4) !important; }

/* Tags */
.on-tr .tag         { border-color:rgba(255,255,255,.35)!important; color:rgba(255,255,255,.8)!important; }
.on-tr .tag-tr      { background:rgba(255,255,255,.15)!important; border-color:rgba(255,255,255,.4)!important; color:var(--w)!important; }
.on-tr .tag-gd      { border-color:var(--gdl)!important; color:var(--gdl)!important; }

/* Buttons: btn-tr on terracotta = same colour = invisible. Make dark overlay. */
.on-tr .btn-tr      { background:rgba(0,0,0,.3)!important; border:1px solid rgba(255,255,255,.2)!important; color:var(--w)!important; }
.on-tr .btn-tr:hover{ background:rgba(0,0,0,.45)!important; }
.on-tr .btn-ol      { border-color:rgba(255,255,255,.45)!important; color:rgba(255,255,255,.9)!important; }
.on-tr .btn-ol:hover{ background:rgba(255,255,255,.15)!important; }
.on-tr .btn-dark    { background:rgba(0,0,0,.3)!important; }

/* Room cards always sit on terracotta */
.room-n             { color: rgba(255,255,255,.75) !important; }
.room-d             { color: rgba(255,255,255,.72) !important; }
.room-t             { color: var(--w) !important; }

/* Filter buttons on sticky bar (not terracotta, but for safety) */
.on-tr .fb          { color:rgba(255,255,255,.65)!important; border-color:rgba(255,255,255,.25)!important; }
.on-tr .fb.on       { background:rgba(0,0,0,.3)!important; color:var(--w)!important; border-color:transparent!important; }

/* Testimonial attribution */
.on-tr .testi-a,
.on-tr .mono-wg[style]  { color:rgba(255,255,255,.65)!important; }

/* Inner dark-overlay boxes: make them visible against terracotta */
.tr-inner-box       { background:rgba(0,0,0,.22)!important; border:1px solid rgba(255,255,255,.15)!important; }

/* Event card date numbers on terracotta */
.on-tr .ev-date-n   { color:var(--w)!important; }
.on-tr .ev-date-m   { color:rgba(255,255,255,.8)!important; }
.on-tr .ev-date-y   { color:rgba(255,255,255,.6)!important; }

/* -- */

@keyframes ripple{to{transform:scale(1);opacity:0}}

/* ══ TERRACOTTA SECTION READABILITY FIXES ══════════════════════════════════
   When sections use #b5451b background, all "dark-bg" colour tokens become
   invisible. .on-tr overrides every affected token to white/cream/gold. */

/* Mono labels */
.on-tr .mono-tr,
.on-tr span.mono-tr,
.on-tr div.mono-tr  { color: rgba(255,255,255,.8) !important; }
.on-tr .mono-wg     { color: rgba(255,255,255,.65) !important; }
.on-tr .mono-gd     { color: var(--gdl) !important; }

/* Eyebrow rule */
.on-tr .eyebrow::before { background: rgba(255,255,255,.4) !important; }
.on-tr .r-tr        { background: rgba(255,255,255,.4) !important; }

/* Tags */
.on-tr .tag         { border-color:rgba(255,255,255,.35)!important; color:rgba(255,255,255,.8)!important; }
.on-tr .tag-tr      { background:rgba(255,255,255,.15)!important; border-color:rgba(255,255,255,.4)!important; color:var(--w)!important; }
.on-tr .tag-gd      { border-color:var(--gdl)!important; color:var(--gdl)!important; }

/* Buttons: btn-tr on terracotta = same colour = invisible. Make dark overlay. */
.on-tr .btn-tr      { background:rgba(0,0,0,.3)!important; border:1px solid rgba(255,255,255,.2)!important; color:var(--w)!important; }
.on-tr .btn-tr:hover{ background:rgba(0,0,0,.45)!important; }
.on-tr .btn-ol      { border-color:rgba(255,255,255,.45)!important; color:rgba(255,255,255,.9)!important; }
.on-tr .btn-ol:hover{ background:rgba(255,255,255,.15)!important; }
.on-tr .btn-dark    { background:rgba(0,0,0,.3)!important; }

/* Room cards always sit on terracotta */
.room-n             { color: rgba(255,255,255,.75) !important; }
.room-d             { color: rgba(255,255,255,.72) !important; }
.room-t             { color: var(--w) !important; }

/* Filter buttons on sticky bar (not terracotta, but for safety) */
.on-tr .fb          { color:rgba(255,255,255,.65)!important; border-color:rgba(255,255,255,.25)!important; }
.on-tr .fb.on       { background:rgba(0,0,0,.3)!important; color:var(--w)!important; border-color:transparent!important; }

/* Testimonial attribution */
.on-tr .testi-a,
.on-tr .mono-wg[style]  { color:rgba(255,255,255,.65)!important; }

/* Inner dark-overlay boxes: make them visible against terracotta */
.tr-inner-box       { background:rgba(0,0,0,.22)!important; border:1px solid rgba(255,255,255,.15)!important; }

/* Event card date numbers on terracotta */
.on-tr .ev-date-n   { color:var(--w)!important; }
.on-tr .ev-date-m   { color:rgba(255,255,255,.8)!important; }
.on-tr .ev-date-y   { color:rgba(255,255,255,.6)!important; }
/* ── Anchor normalization (added when pages became server-routed) ── */
.ak-nav a,
.nl a,
.logo,
.nav-cta,
.ft-lnk,
.ft-name,
.ft-sub,
.ft-sl,
.ak-lang-switcher a,
footer a,
.ft-col-t {
  text-decoration: none;
}
.ak-nav a:hover,
.nl a:hover,
.ft-lnk:hover,
.ft-sl:hover {
  text-decoration: none;
}
/* Language switcher buttons */
.ak-lang-switcher .lang { text-decoration: none; }

/* SHIP-UNDERLINE-FIX: buttons should never be underlined regardless of tag.
   The .btn family inherits browser-default <a> underline because no rule
   resets text-decoration. The [class*="btn-"] selector future-proofs this:
   any new button variant following the .btn-NAME convention is covered. */
.btn, .btn:hover, .btn:focus, .btn:active, .btn:visited,
[class*="btn-"], [class*="btn-"]:hover, [class*="btn-"]:focus, [class*="btn-"]:active, [class*="btn-"]:visited,
button, button:hover, button:focus, button:active,
a.btn, a[class*="btn-"] {
    text-decoration: none;
}


/* ============================================================
 * SHIP-27-1-MOBILE: responsive foundation
 *
 * Layered ON TOP of the existing @media(max-width:1024px) and
 * @media(max-width:768px) blocks. Adds:
 *   - global horizontal-scroll prevention
 *   - image/media containment
 *   - word-wrap safety for long URLs / unbroken strings
 *   - page-builder row column-collapse on mobile
 *   - .ak-wrap mobile padding reduction
 *   - touch-target minimums + iOS-no-auto-zoom for inputs
 * ============================================================ */

/* PATCH 2: global responsive base */
html, body { overflow-x: clip; } /* SHIP-F-STICKY-NAV: clip preserves position:sticky descendants where hidden breaks them */
img, video, iframe, svg { max-width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6, p, a, li, span, blockquote { overflow-wrap: anywhere; }

/* PATCH 3 + 4 + 5: mobile (<=767px) */
@media (max-width: 767px) {
  /* PATCH 3: page-builder row column-collapse to single column.
     The inline style on .ak-row-inner sets grid-template-columns to
     whatever the editor configured (e.g. 1fr 1fr 1fr). On mobile we
     override to single column with !important to defeat that inline. */
  .ak-row .ak-row-inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* PATCH 4: page-builder wrapper padding reduction.
     The desktop default is padding:0 20px (or whatever wrap_padding_x is
     set to). On mobile we want a tighter inset via !important to override
     the inline style. */
  .ak-row .ak-wrap {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* PATCH 5: touch-target minimums for primary action elements.
     44px is the WCAG / iOS HIG / Material Design recommended minimum. */
  .btn, .btn-sm, button[type="submit"], input[type="submit"], a.btn {
    min-height: 44px;
  }

  /* PATCH 5b: font-size 16px on form inputs prevents iOS Safari from
     auto-zooming when an input gains focus. Below 16px triggers zoom. */
  input[type="text"], input[type="email"], input[type="password"],
  input[type="search"], input[type="tel"], input[type="url"],
  input[type="number"], textarea, select {
    font-size: 16px;
  }
}


/* ============================================================
 * SHIP-27-2-MOBILE: targeted mobile fixes
 *   - centering + max-width for images on mobile
 *   - events page card stacking + header wrap
 * ============================================================ */

@media (max-width: 767px) {

  /* IMAGE CENTERING
     The page-builder image addon and text-block addons emit
     <img> tags that need to be centered when their parent column
     becomes full-width on mobile. Cap max-width so very tall
     portraits do not consume the entire viewport height. */
  .ak-addon-image,
  .ak-addon-image__img,
  .ak-addon-text-block img {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block;
    max-width: min(100%, 380px);
  }

  /* The img-halo wrapper used on consultancy/about hero needs the
     same centering applied to its container. Specificity needed to
     defeat any inline width or position. */
  .ak-addon-text-block .img-halo {
    margin-left: auto !important;
    margin-right: auto !important;
    width: min(72%, 280px) !important;
  }

  /* EVENTS PAGE
     #pg-events is the wrapper id emitted by com_events.php.
     Each event card uses .ev-card with internal grid layout for
     date | content | right-column. On mobile we want vertical
     stack (date on top, content middle, right-column bottom). */

  /* Stack the card itself */
  #pg-events .ev-card {
    display: block !important;
    grid-template-columns: 1fr !important;
  }

  /* Inner grids inside the card (com_events.php uses several
     grid-template-columns variants like 120px 1fr, 90px 1fr,
     repeat(auto-fill, minmax(320px,1fr))) collapse to single col */
  #pg-events .ev-card > div,
  #pg-events div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }

  /* Date column: align left instead of center, smaller, in-line
     with the rest of the card */
  #pg-events .ev-date {
    text-align: left !important;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--rl);
    padding-bottom: 12px;
    display: flex !important;
    align-items: baseline;
    gap: 12px;
  }
  #pg-events .ev-date-day {
    font-size: 36px !important;
  }

  /* Right column (tags + button) of card: align left + add space */
  #pg-events .ev-card > div:last-child {
    text-align: left !important;
    align-items: flex-start !important;
    margin-top: 14px;
  }

  /* Section header ("3 upcoming events" + sort dropdown) wraps */
  #pg-events .wrap > div[style*="justify-content:space-between"] {
    flex-wrap: wrap !important;
    gap: 16px;
  }

  /* Filter bar buttons + sort dropdown row */
  #pg-events .fb-wrap {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  /* Hero h1 already uses clamp() so it scales OK; section padding
     reduction only */
  #pg-events section.ph,
  #pg-events section.sec-lg {
    padding-top: 40px !important;
    padding-bottom: 32px !important;
  }

}

/* === SHIP-B-LEGIBILITY BEGIN === */
/* Body-text and accent legibility bump.
 * Original variables (in :root at top of file):
 *   --tr: #B5451B   (rust accent)
 *   --wg: #8A8078   (warm grey body text)
 * These read too light on cream/white backgrounds, especially at small
 * uppercase mono sizes. The redefinitions below preserve the warm palette
 * while restoring contrast for body copy, eyebrows, stats labels, etc. */
:root{
  --wg:#3F3935;   /* was #8A8078 - deep warm near-black for body */
  --tr:#7A2C0E;   /* was #B5451B - much deeper rust for small accents */
}
/* === SHIP-B-LEGIBILITY END === */

/* === SHIP-G-FR-NAV-GAP BEGIN === */
/* French nav labels are longer than English/Arabic equivalents.
 * Tighten the gap from 28px to 22px on French pages only so the
 * nav row stays within the 1240px container width. */
body.ak-lang-fr-FR .nl{gap:22px}
/* === SHIP-G-FR-NAV-GAP END === */

/* === SHIP-I-MOBILE-FIXES BEGIN === */
/* Ship I.3: portrait centering finally fixed via c002 padding zero-out */

@media (max-width: 767px) {
  /* 1. Hero c001 column - hide vertical separator on mobile */
  .ak-col[data-column-id="c001"] {
    border-inline-end: 0 !important;
    padding-inline-end: 0 !important;
  }

  /* 2. Hero c002 column (portrait column) - zero out the asymmetric
   * 36px left padding that shifts content right on mobile. */
  .ak-col[data-column-id="c002"] {
    padding-inline-start: 0 !important;
    padding-inline-end: 0 !important;
  }

  /* 3. Daffa Builds 4-feature grid (kept) */
  .ak-col[data-column-id="c008"] {
    grid-template-columns: 1fr !important;
  }

  /* 4. Portrait badge reposition inside frame */
  #ak-addon-a007 .ak-addon-image__badge {
    inset-inline-end: 8px !important;
    bottom: 8px !important;
  }

  /* 5. Stats row - 2-col on mobile */
  #ak-row-r007 .ak-row-inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
  }
  #ak-row-r007 .ak-col {
    border-inline-end: 0 !important;
    padding: 20px 12px !important;
  }
  #ak-row-r007 .ak-col:nth-child(odd) {
    border-inline-end: 1px solid #DDD8D0 !important;
  }
  #ak-row-r007 .ak-col:nth-child(-n+2) {
    border-bottom: 1px solid #DDD8D0;
  }
}

/* Footer chip style preserved unchanged from Ship I.1 */
footer .ft-soc {
  display: flex;
  gap: 10px;
  align-items: center;
}
footer .ft-sl {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 32px !important;
  height: 32px !important;
  background: var(--tr, #7A2C0E) !important;
  color: #FFFFFF !important;
  border-radius: 4px;
  opacity: 1 !important;
  transition: background 0.15s, transform 0.15s;
  text-decoration: none !important;
  letter-spacing: 0 !important;
}
footer .ft-sl:hover {
  background: var(--ink, #0D0C0A) !important;
  transform: translateY(-1px);
}
footer .ft-sl svg {
  width: 18px !important;
  height: 18px !important;
  display: block;
  fill: currentColor;
}
/* === SHIP-I-MOBILE-FIXES END === */

/* === SHIP-K-FILTER-BARS BEGIN === */
/* Ship K.1: 2-col filter bars + form centering for marketplace,
 * artists, events. Rebuilds the original Ship K block. */

@media (max-width: 767px) {
  /* MARKETPLACE + ARTISTS - form as 2-col grid, centered */
  form#market-filters,
  form#artists-filters {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    align-items: stretch !important;
    max-width: 360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  /* Search input wrapper spans both columns at top */
  form#market-filters > div:first-of-type,
  form#artists-filters > div:first-of-type {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
    flex: none !important;
  }
  /* Selects + search input fill cell width */
  form#market-filters select,
  form#artists-filters select,
  form#market-filters input[type="search"],
  form#artists-filters input[type="search"] {
    width: 100% !important;
    min-width: 0 !important;
  }
  /* Apply button: NOT forced full-width. Lets it sit alongside any
   * orphan select on the last row (cleaner when select count is odd). */
  form#market-filters button[type="submit"],
  form#artists-filters button[type="submit"] {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* EVENTS - fb-wrap layout. Outer wrapper goes back to natural flow
   * since the inner div is what needs the 2-col treatment. */
  #pg-events .fb-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    max-width: 360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-items: stretch !important;
  }
  /* The first inner div on events fb-wrap is the type/category buttons
   * row. Switch from flex-wrap to a clean 2-col grid. */
  #pg-events .fb-wrap > div:first-child {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    flex-wrap: unset !important;
  }
  /* Buttons inside take full cell width */
  #pg-events .fb-wrap > div:first-child > button,
  #pg-events .fb-wrap > div:first-child > a {
    width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
  }
  /* The sort row (typically 2nd child) - sort label + select */
  #pg-events .fb-wrap > div:nth-child(2) {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }
  #pg-events .fb-wrap > div:nth-child(2) select {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
}
/* === SHIP-K-FILTER-BARS END === */

/* === SHIP-L-MOB-MENU-SCROLL BEGIN === */
/* Ship L: mobile menu scrollable when content exceeds viewport height.
 * The original .mob-menu has position:fixed;inset:0 (full viewport)
 * but no overflow-y, so longer menu content gets clipped. Add scroll. */
.mob-menu {
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 80px !important;
}
/* === SHIP-L-MOB-MENU-SCROLL END === */

/* === SHIP-M-HERO BEGIN === */
/* Ship M + M.1: hero buttons 2-col on mobile + 40px content shift +
 * nowrap so labels don't break onto two lines. */

@media (max-width: 767px) {
  /* Hero buttons (a005, a006) - 2-col grid scoped to c001. */
  .ak-col[data-column-id="c001"] .ak-inline-group {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    align-items: stretch !important;
  }
  .ak-col[data-column-id="c001"] .ak-inline-group > .ak-addon {
    width: 100% !important;
  }
  /* Button link itself: full width of cell, centered, single line, tighter
   * side padding so 15-char labels fit comfortably without wrapping. */
  .ak-col[data-column-id="c001"] .ak-inline-group .ak-addon-button__link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    white-space: nowrap !important;
    box-sizing: border-box;
  }
  /* Hero content shifted down 40px on mobile only. */
  .ak-col[data-column-id="c001"] {
    padding-block-start: 84px !important;
  }
}
/* === SHIP-M-HERO END === */
