:root{--bg:#141312;--paper:#f7f2e9;--gold:#c8a879;--muted:#b6aea3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--paper);font:16px/1.7 system-ui,sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{outline-offset:4px}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--gold)}[hidden]{display:none!important}header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:20px;border-bottom:1px solid #ffffff20}.logo{font:23px Georgia,serif;letter-spacing:.05em;white-space:nowrap}.logo em,h1 em{color:var(--gold);font-style:normal}nav{display:flex;gap:24px;font-size:13px}nav a:hover{color:var(--gold)}select{background:#221e1a;color:var(--paper);border:1px solid var(--gold);padding:8px;min-height:44px}.hero{min-height:650px;max-width:1300px;margin:auto;display:grid;grid-template-columns:1fr .85fr;gap:6%;align-items:center;padding:70px 5%}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:.2em;text-transform:uppercase}.hero h1{font:clamp(60px,9vw,130px)/.94 Georgia,serif;letter-spacing:-.06em;margin:24px 0}.intro{font:clamp(22px,2.7vw,34px)/1.35 Georgia,serif;max-width:590px}.btn,button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;min-height:50px;border:1px solid var(--gold);background:var(--gold);color:#141312;border-radius:3px;cursor:pointer;font-size:12px;letter-spacing:.07em;font-weight:700}.btn:hover,button:hover{background:var(--paper)}.secondary,.outline{background:transparent;color:var(--paper)}.photo-placeholder{min-height:520px;background:linear-gradient(145deg,#332d25,#171513 65%);border:1px solid #c8a87950;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.photo-placeholder span{font:clamp(50px,7vw,100px) Georgia,serif;color:#c8a87930}.photo-placeholder small{color:var(--muted)}.section{max-width:1180px;margin:auto;padding:100px 36px;border-top:1px solid #ffffff20}.section h2{font:clamp(36px,5vw,66px)/1.1 Georgia,serif;margin:20px 0 30px}.split{display:grid;grid-template-columns:1fr 1fr;gap:40px}.split p{color:var(--muted);font-size:18px;max-width:500px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards article{border:1px solid #c8a87950;padding:32px;background:#1e1b18}.cards article>span{color:var(--gold);font-size:12px}.cards h3{font:29px/1.2 Georgia,serif;margin:28px 0 16px}.cards p,.contact p,.gallery-pending p{color:var(--muted)}.gallery-pending{padding:70px 30px;border:1px dashed #c8a87960;text-align:center}.contact{text-align:center}.links{display:flex;gap:12px;justify-content:center;margin-top:30px}footer{display:flex;justify-content:space-between;gap:20px;padding:35px 5% 70px;color:var(--muted);font-size:12px;border-top:1px solid #ffffff20}.gate{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#080706ed;padding:20px}.gate-card{max-width:480px;padding:45px 35px;background:#211d19;border:1px solid var(--gold);text-align:center}.gate-card h2{font:38px/1.2 Georgia,serif}.gate-card p{color:var(--muted)}.gate-card button{display:flex;width:100%;margin-top:12px}#denied{padding:25vh 20px;text-align:center}@media(max-width:800px){header{height:auto;min-height:74px;padding:14px 20px;flex-wrap:wrap}nav{order:3;width:100%;justify-content:space-between;gap:10px}.hero{grid-template-columns:1fr;padding:60px 24px}.hero h1{font-size:clamp(64px,14vw,100px)}.photo-placeholder{min-height:300px}.section{padding:65px 24px}.split,.cards{grid-template-columns:1fr}.links{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Individual portrait and gallery */
.hero-photo{min-height:520px;overflow:hidden;border:1px solid #c8a87950;background:#1e1b18}.hero-photo img{display:block;width:100%;height:580px;object-fit:cover;object-position:center top}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-grid a{display:block;overflow:hidden;background:#211d19;border:1px solid #c8a87945;aspect-ratio:3/4}.gallery-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}.gallery-grid a:hover img{transform:scale(1.035)}@media(max-width:800px){.hero-photo{min-height:0}.hero-photo img{height:auto;max-height:650px;object-fit:contain}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media(max-width:420px){.gallery-grid{grid-template-columns:1fr}}

/* Fixed WhatsApp contact, mobile-safe and visible after age confirmation */
.whatsapp-float{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;background:#25d366;color:white;box-shadow:0 8px 26px #0008;border:2px solid #ffffff40;transition:transform .2s,background .2s}.whatsapp-float:hover{transform:translateY(-3px);background:#1eaf55}.whatsapp-float svg{width:34px;height:34px}.whatsapp-float:focus-visible{outline:3px solid #fff;outline-offset:3px}@media(max-width:600px){.whatsapp-float{width:56px;height:56px;right:16px;bottom:max(18px,env(safe-area-inset-bottom))}.whatsapp-float svg{width:31px;height:31px}}@media(prefers-reduced-motion:reduce){.whatsapp-float{transition:none}}
