@font-face{font-family:'Figtree';src:url(/fonts/figtree.woff) format('woff');font-weight:300 900;font-style:normal;font-display:swap}@font-face{font-family:'Young Serif';src:url(/fonts/young-serif.woff) format('woff');font-weight:400;font-style:normal;font-display:swap}:root{--mosaic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20600%2046'%20width%3D'600'%20height%3D'46'%3E%3Crect%20width%3D'600'%20height%3D'46'%20fill%3D'%23cbbcab'%2F%3E%3Cpolygon%20points%3D%222.3%2C1.4%2010.4%2C0.4%2011.9%2C9.3%201.4%2C9.4%22%20fill%3D%22%23efe5da%22%2F%3E%3Cpolygon%20points%3D%220.2%2C17.7%2020.0%2C16.2%2021.2%2C26.3%200.8%2C25.1%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%221.6%2C33.1%2021.2%2C33.7%2021.8%2C48.6%201.5%2C50.8%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%2220.3%2C1.1%2036.1%2C2.0%2035.4%2C15.3%2018.6%2C17.4%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%2219.6%2C20.5%2031.8%2C19.6%2031.8%2C32.9%2018.3%2C31.6%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%2218.8%2C39.9%2029.1%2C40.3%2029.0%2C56.6%2017.5%2C55.5%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%2236.7%2C1.4%2047.6%2C0.1%2048.9%2C16.8%2036.8%2C18.9%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%2237.3%2C19.7%2054.5%2C19.3%2057.1%2C32.9%2035.8%2C32.8%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%2237.6%2C35.0%2056.0%2C35.3%2056.3%2C47.5%2035.5%2C48.0%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%2252.3%2C2.2%2066.2%2C1.8%2066.6%2C12.5%2049.8%2C14.6%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%2249.5%2C14.3%2062.5%2C14.5%2060.7%2C25.1%2049.8%2C25.2%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%2250.6%2C31.4%2061.8%2C30.6%2062.1%2C44.5%2050.6%2C45.2%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%2249.9%2C45.1%2072.5%2C44.4%2072.3%2C54.6%2049.7%2C57.1%22%20fill%3D%22%23efe5da%22%2F%3E%3Cpolygon%20points%3D%2267.1%2C0.7%2083.1%2C0.8%2084.1%2C16.1%2066.5%2C15.4%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%2267.4%2C19.9%2081.2%2C19.7%2080.9%2C30.1%2065.0%2C29.3%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%2267.1%2C38.0%2079.0%2C35.7%2079.6%2C47.0%2065.2%2C48.0%22%20fill%3D%22%23efe5da%22%2F%3E%3Cpolygon%20points%3D%2286.1%2C2.9%20104.6%2C0.9%20104.9%2C15.5%2086.1%2C15.6%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%2286.3%2C19.1%2099.0%2C20.0%2098.4%2C32.9%2086.2%2C32.4%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%2287.0%2C36.6%20103.7%2C37.6%20105.4%2C53.4%2086.2%2C52.6%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22103.4%2C1.6%20123.3%2C0.9%20121.7%2C18.0%20101.6%2C18.0%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22103.1%2C20.1%20117.4%2C21.1%20117.7%2C31.8%20102.0%2C33.7%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22101.7%2C32.3%20120.0%2C32.4%20121.6%2C45.8%20102.1%2C46.7%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%22101.4%2C44.4%20121.6%2C44.5%20120.0%2C57.2%20101.5%2C59.5%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22123.3%2C0.6%20143.9%2C0.4%20141.9%2C13.5%20124.1%2C14.0%22%20fill%3D%22%23efe5da%22%2F%3E%3Cpolygon%20points%3D%22123.0%2C19.8%20135.8%2C17.3%20136.4%2C34.4%20123.8%2C33.7%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22124.5%2C37.1%20142.7%2C36.4%20142.4%2C51.7%20123.9%2C52.5%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22144.1%2C0.4%20160.6%2C1.0%20159.4%2C10.9%20143.1%2C11.8%22%20fill%3D%22%23efe5da%22%2F%3E%3Cpolygon%20points%3D%22143.8%2C14.6%20159.1%2C13.6%20159.6%2C25.0%20142.9%2C25.2%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22143.1%2C28.9%20155.4%2C29.5%20156.4%2C36.8%20143.5%2C37.1%22%20fill%3D%22%23efe5da%22%2F%3E%3Cpolygon%20points%3D%22161.2%2C1.2%20175.0%2C2.0%20176.5%2C13.2%20159.9%2C14.1%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22161.2%2C20.3%20168.7%2C19.2%20169.5%2C30.6%20160.9%2C30.0%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22159.7%2C36.4%20178.9%2C35.2%20179.9%2C42.2%20161.2%2C43.1%22%20fill%3D%22%23efe5da%22%2F%3E%3Cpolygon%20points%3D%22175.2%2C0.5%20184.3%2C1.6%20185.5%2C13.6%20175.0%2C13.8%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22175.6%2C13.7%20191.6%2C13.9%20192.1%2C24.8%20175.5%2C24.8%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22175.0%2C27.8%20193.6%2C29.1%20194.7%2C40.4%20175.1%2C40.3%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22176.3%2C43.4%20186.2%2C42.2%20187.0%2C54.2%20176.3%2C55.5%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22189.5%2C2.6%20213.3%2C0.8%20212.4%2C13.7%20191.0%2C14.1%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22190.1%2C13.3%20201.2%2C13.5%20202.7%2C30.4%20191.4%2C31.3%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22190.3%2C32.3%20210.8%2C32.8%20212.7%2C41.3%20190.9%2C42.7%22%20fill%3D%22%23efe5da%22%2F%3E%3Cpolygon%20points%3D%22206.3%2C0.0%20218.7%2C1.2%20218.3%2C10.9%20206.1%2C10.4%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22204.9%2C14.5%20226.1%2C14.9%20227.9%2C22.2%20206.2%2C22.3%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22207.0%2C31.1%20224.1%2C31.4%20223.6%2C45.8%20205.9%2C47.1%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%22206.9%2C45.3%20224.4%2C46.2%20224.3%2C53.7%20205.7%2C55.3%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22224.8%2C1.3%20243.7%2C1.5%20245.2%2C13.6%20226.6%2C14.0%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22225.2%2C15.1%20240.9%2C16.5%20240.1%2C31.3%20224.8%2C31.8%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22227.2%2C29.0%20241.6%2C28.6%20241.4%2C37.2%20226.4%2C37.4%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22226.4%2C46.6%20239.7%2C46.4%20240.5%2C64.1%20224.8%2C64.0%22%20fill%3D%22%23efe5da%22%2F%3E%3Cpolygon%20points%3D%22241.3%2C2.0%20251.7%2C0.5%20252.9%2C17.2%20240.4%2C17.9%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22241.2%2C15.7%20253.7%2C17.0%20253.6%2C33.1%20241.6%2C33.4%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22239.9%2C36.3%20252.9%2C36.3%20252.1%2C48.8%20241.1%2C50.6%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22256.4%2C0.2%20265.1%2C1.9%20266.2%2C10.9%20254.3%2C10.1%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22255.3%2C16.6%20268.6%2C16.8%20268.3%2C30.5%20256.1%2C32.2%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%22255.9%2C34.6%20265.5%2C32.6%20265.4%2C48.4%20254.9%2C47.7%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22279.8%2C1.9%20291.1%2C1.9%20291.2%2C9.0%20277.9%2C10.3%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%22276.9%2C20.6%20298.3%2C19.8%20297.6%2C31.0%20277.9%2C29.4%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22278.9%2C35.8%20296.3%2C37.0%20296.2%2C52.9%20277.1%2C51.2%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%22298.7%2C2.3%20308.5%2C0.2%20309.5%2C7.5%20298.5%2C9.4%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22298.8%2C20.2%20318.2%2C19.0%20317.7%2C32.9%20297.2%2C33.6%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22298.3%2C38.1%20314.7%2C37.2%20315.5%2C45.4%20297.6%2C46.9%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22311.9%2C0.1%20322.9%2C0.2%20322.8%2C13.6%20312.2%2C14.0%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22312.9%2C20.3%20327.9%2C19.1%20328.2%2C30.9%20312.1%2C32.5%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22312.6%2C37.8%20325.6%2C35.8%20325.2%2C49.7%20312.8%2C50.7%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22328.0%2C2.0%20341.0%2C1.9%20340.5%2C16.4%20327.8%2C17.1%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22328.6%2C13.3%20342.0%2C13.2%20343.4%2C29.0%20327.9%2C28.5%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22329.0%2C29.1%20342.7%2C27.9%20341.3%2C35.7%20328.3%2C37.5%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22343.4%2C1.4%20355.7%2C1.8%20356.0%2C9.3%20344.2%2C10.0%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%22345.6%2C20.8%20365.2%2C19.7%20365.6%2C35.3%20344.0%2C36.0%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22344.1%2C35.2%20363.8%2C34.6%20364.5%2C46.9%20344.4%2C46.8%22%20fill%3D%22%23efe5da%22%2F%3E%3Cpolygon%20points%3D%22364.6%2C2.1%20382.3%2C0.7%20384.8%2C18.3%20365.2%2C18.6%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22366.7%2C18.4%20383.4%2C18.3%20385.1%2C34.9%20365.1%2C34.5%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22364.8%2C35.4%20375.7%2C34.5%20377.0%2C41.8%20365.6%2C43.4%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22387.2%2C1.5%20407.0%2C0.9%20407.5%2C12.1%20388.8%2C13.7%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%22388.2%2C13.6%20397.0%2C14.5%20399.5%2C32.2%20387.3%2C31.9%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22388.0%2C29.5%20404.2%2C29.3%20405.7%2C40.7%20388.9%2C41.3%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22389.3%2C44.7%20409.1%2C44.6%20407.8%2C59.9%20388.2%2C60.2%22%20fill%3D%22%23efe5da%22%2F%3E%3Cpolygon%20points%3D%22405.3%2C0.9%20418.8%2C1.7%20420.2%2C16.5%20406.0%2C16.9%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22405.6%2C15.9%20420.5%2C15.3%20421.8%2C28.4%20405.7%2C27.7%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%22407.2%2C34.8%20424.0%2C33.9%20424.2%2C41.7%20406.3%2C41.5%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%22423.2%2C1.7%20432.7%2C0.8%20433.5%2C9.9%20422.9%2C10.0%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22424.4%2C19.5%20437.8%2C16.8%20438.1%2C29.6%20424.1%2C29.6%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22425.1%2C31.5%20433.8%2C31.7%20435.8%2C43.7%20423.0%2C44.5%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22425.1%2C46.5%20441.2%2C45.5%20441.9%2C58.8%20423.6%2C58.6%22%20fill%3D%22%23efe5da%22%2F%3E%3Cpolygon%20points%3D%22443.8%2C0.4%20462.8%2C1.7%20462.1%2C11.8%20442.0%2C11.7%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22443.8%2C21.2%20460.6%2C19.9%20459.2%2C31.3%20441.3%2C30.2%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22443.0%2C37.4%20457.9%2C37.6%20460.2%2C54.6%20442.3%2C53.4%22%20fill%3D%22%23efe5da%22%2F%3E%3Cpolygon%20points%3D%22456.4%2C2.0%20469.8%2C0.1%20470.0%2C17.7%20456.2%2C18.2%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%22455.4%2C21.3%20477.8%2C20.3%20477.4%2C33.8%20456.7%2C34.7%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22456.0%2C37.9%20469.1%2C35.3%20468.7%2C51.9%20455.7%2C54.5%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22479.3%2C0.4%20496.1%2C1.0%20497.3%2C14.2%20480.0%2C15.5%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22480.1%2C19.8%20493.5%2C17.6%20492.8%2C29.3%20479.3%2C29.5%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22480.0%2C31.9%20490.0%2C30.9%20491.0%2C40.4%20479.2%2C40.8%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%22481.6%2C45.1%20497.9%2C44.2%20497.6%2C54.9%20480.5%2C55.7%22%20fill%3D%22%23efe5da%22%2F%3E%3Cpolygon%20points%3D%22497.6%2C2.3%20512.6%2C0.3%20512.2%2C8.4%20495.0%2C9.9%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%22496.1%2C21.8%20507.1%2C19.9%20507.3%2C31.0%20495.0%2C30.2%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22497.3%2C37.0%20513.2%2C37.9%20512.1%2C49.9%20496.1%2C49.7%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22513.1%2C0.1%20525.9%2C1.6%20527.9%2C10.0%20513.7%2C10.4%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%22513.1%2C15.0%20533.7%2C16.3%20533.7%2C26.9%20513.7%2C27.1%22%20fill%3D%22%23efe5da%22%2F%3E%3Cpolygon%20points%3D%22514.8%2C31.4%20526.0%2C29.9%20526.7%2C41.6%20513.3%2C40.7%22%20fill%3D%22%23efe5da%22%2F%3E%3Cpolygon%20points%3D%22528.1%2C0.4%20543.2%2C1.5%20543.7%2C10.0%20529.3%2C10.9%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%22527.8%2C17.8%20537.9%2C19.4%20540.2%2C35.8%20529.0%2C35.7%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22529.3%2C31.5%20541.2%2C32.9%20543.3%2C47.2%20527.5%2C45.3%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22551.4%2C0.7%20563.8%2C0.0%20563.6%2C15.9%20551.5%2C17.1%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22552.1%2C17.9%20565.2%2C17.4%20564.9%2C32.8%20550.2%2C34.7%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22550.8%2C30.1%20568.0%2C30.0%20568.2%2C43.7%20550.6%2C43.6%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%22552.2%2C47.4%20560.4%2C46.6%20561.3%2C55.3%20551.4%2C56.8%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22573.0%2C2.8%20588.0%2C0.8%20588.4%2C11.3%20573.6%2C10.0%22%20fill%3D%22%23f7efe6%22%2F%3E%3Cpolygon%20points%3D%22573.1%2C17.9%20592.0%2C16.3%20591.7%2C26.0%20572.4%2C27.0%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22573.6%2C32.8%20590.9%2C30.9%20592.0%2C47.1%20572.8%2C47.2%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22573.0%2C46.6%20591.6%2C45.6%20593.2%2C54.6%20572.4%2C54.9%22%20fill%3D%22%23e6dbcf%22%2F%3E%3Cpolygon%20points%3D%22593.8%2C1.8%20607.8%2C0.5%20609.0%2C16.2%20594.3%2C16.5%22%20fill%3D%22%23fbf6f0%22%2F%3E%3Cpolygon%20points%3D%22593.7%2C20.2%20613.3%2C20.4%20613.7%2C34.5%20594.6%2C35.3%22%20fill%3D%22%232a2420%22%2F%3E%3Cpolygon%20points%3D%22593.7%2C40.9%20613.8%2C39.5%20614.6%2C50.3%20594.2%2C50.8%22%20fill%3D%22%23e6dbcf%22%2F%3E%3C%2Fsvg%3E")}/* Sin Pena · a sunlit terrace that turns into a lamplit bar. Layout: one day, morning at the top of the page, night at its centre, the visit at the end. */
:root {
  --cream: #f3e5d8;
  --cream-2: #ead5c2;
  --paper: #faf2ea;
  --ink: #241d19;
  --ink-2: #5a4b41;
  --terra: #b4532a;
  --terra-d: #93411f;
  --lav: #6b4c9a;
  --lav-l: #b9a3dc;
  --fern: #4e6b35;
  --sun: #efc65a;
  --plum: #1e1426;
  --plum-2: #2e1f3a;
  --rattan: #c98b45;
  --line: rgba(36, 29, 25, 0.14);
  --line-2: rgba(36, 29, 25, 0.28);
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-io: cubic-bezier(0.77, 0, 0.175, 1);
  --f-display: 'Young Serif', 'Cooper', Georgia, serif;
  --f-body: 'Figtree', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --gutter: clamp(1rem, 4vw, 3.5rem);
  --max: 1280px;
  --header-h: 74px;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 1rem); }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--f-body); font-size: 1.0625rem; line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: clip; }
img, svg, canvas { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: 0.22em; text-decoration-thickness: 1px; text-decoration-color: var(--line-2); }
a:hover { text-decoration-color: currentColor; }
button { font: inherit; color: inherit; }
::selection { background: var(--lav-l); color: var(--ink); }
:focus-visible { outline: 2px solid var(--terra); outline-offset: 3px; border-radius: 3px; }
html { scrollbar-color: var(--cream-2) var(--cream); scrollbar-width: thin; }
h1, h2, h3 { font-family: var(--f-display); font-weight: 400; margin: 0; line-height: 1.05; letter-spacing: -0.01em; text-wrap: balance; }
p { margin: 0; text-wrap: pretty; }
.wrap { width: min(100% - 2 * var(--gutter), var(--max)); margin-inline: auto; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: fixed; left: 1rem; top: -4rem; z-index: 100; background: var(--ink); color: var(--cream); padding: 0.6rem 1rem; border-radius: 999px; transition: top 200ms var(--ease-out); }
.skip:focus { top: 1rem; }

/* Logo as recolourable masks (the client's own hand-drawn artwork) */
.wordmark, .mark { display: block; background: currentColor; -webkit-mask: var(--m) no-repeat center / contain; mask: var(--m) no-repeat center / contain; }
.wordmark { --m: url(data:image/png;base64,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); aspect-ratio: 334 / 141; }
.mark { --m: url(data:image/png;base64,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); aspect-ratio: 227 / 280; }

/* Buttons */
.btn { --bg: var(--terra); --fg: var(--paper); display: inline-flex; align-items: center; gap: 0.6em; padding: 0.9rem 1.45rem; border-radius: 999px; border: 1px solid transparent; background: var(--bg); color: var(--fg); font-weight: 600; font-size: 0.95rem; text-decoration: none; cursor: pointer; white-space: nowrap; transition: transform 160ms var(--ease-out), background-color 220ms ease, color 220ms ease, border-color 220ms ease, box-shadow 300ms var(--ease-out); }
.btn:active { transform: scale(0.97); }
.btn svg { width: 1.05em; height: 1.05em; flex: none; transition: transform 220ms var(--ease-out); }
.btn--ghost { --bg: transparent; --fg: currentColor; border-color: currentColor; color: inherit; }
.btn--small { padding: 0.6rem 1.05rem; font-size: 0.875rem; }
@media (hover: hover) and (pointer: fine) {
  .btn:hover { --bg: var(--terra-d); box-shadow: 0 10px 28px -12px rgba(147, 65, 31, 0.6); }
  .btn:hover svg { transform: translateX(3px); }
  .btn--ghost:hover { --bg: rgba(36, 29, 25, 0.06); box-shadow: none; }
  .night .btn--ghost:hover { --bg: rgba(250, 242, 234, 0.1); }
}

/* Header */
.site-header { position: fixed; inset: 0 0 auto 0; z-index: 50; height: var(--header-h); display: flex; align-items: center; color: var(--ink); transition: background-color 400ms ease, color 400ms ease, border-color 400ms ease; border-bottom: 1px solid transparent; }
.site-header.is-solid { background: rgba(243, 229, 216, 0.97); border-bottom-color: var(--line); }
.site-header.is-night, .site-header.on-hero { color: var(--paper); }
.site-header.on-hero .nav-main a { opacity: 0.92; text-shadow: 0 1px 10px rgba(30, 20, 38, 0.45); }
.on-hero .lang [aria-current='true'] { background: var(--paper); color: var(--plum); }
.site-header.is-night.is-solid { background: rgba(30, 20, 38, 0.72); border-bottom-color: rgba(250, 242, 234, 0.12); }
.site-header .wrap { display: flex; align-items: center; gap: 2rem; }
.brand { display: inline-flex; align-items: center; gap: 0.55rem; margin-right: auto; text-decoration: none; color: inherit; }
.brand .mark { width: 22px; }
.brand .wordmark { width: 96px; }
.nav-main { display: flex; gap: 1.8rem; }
.nav-main a { text-decoration: none; font-size: 0.93rem; opacity: 0.78; padding-block: 0.4rem; position: relative; transition: opacity 200ms ease; }
.nav-main a:hover, .nav-main a[aria-current='page'] { opacity: 1; }
.nav-main a[aria-current='page']::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; border-radius: 2px; background: var(--terra); }
.header-actions { display: flex; align-items: center; gap: 0.9rem; }
.lang { display: inline-flex; border: 1px solid currentColor; border-radius: 999px; padding: 3px; opacity: 0.9; }
.lang a, .lang button { text-decoration: none; display: inline-block; line-height: 1.2; background: none; border: 0; padding: 0.28rem 0.55rem; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; border-radius: 999px; cursor: pointer; color: inherit; opacity: 0.7; transition: background-color 200ms ease, color 200ms ease, opacity 200ms ease; }
.lang [aria-current='true'] { background: var(--ink); color: var(--cream); opacity: 1; }
.is-night .lang [aria-current='true'], .night .lang [aria-current='true'] { background: var(--paper); color: var(--plum); }
.nav-toggle { display: none; background: none; border: 1px solid currentColor; width: 44px; height: 44px; border-radius: 50%; cursor: pointer; align-items: center; justify-content: center; color: inherit; transition: transform 160ms var(--ease-out); }
.nav-toggle:active { transform: scale(0.95); }
.nav-toggle svg { width: 18px; height: 18px; }
.drawer { position: fixed; inset: 0; height: 100dvh; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; z-index: 60; background: var(--cream); color: var(--ink); display: grid; grid-template-rows: auto 1fr auto; padding: 1rem var(--gutter) calc(1.6rem + env(safe-area-inset-bottom, 0px)); gap: 1.4rem; opacity: 0; visibility: hidden; transform: translateY(-12px); transition: opacity 280ms var(--ease-out), transform 380ms var(--ease-out), visibility 0s linear 380ms; }
.drawer.is-open { opacity: 1; visibility: visible; transform: none; transition: opacity 280ms var(--ease-out), transform 380ms var(--ease-out), visibility 0s; }
.drawer-top { display: flex; align-items: center; justify-content: space-between; height: calc(var(--header-h) - 1rem); }
.drawer-nav { display: flex; flex-direction: column; justify-content: center; gap: 0.1rem; }
.drawer-nav a { font-family: var(--f-display); font-size: clamp(2.1rem, 10vw, 3.2rem); text-decoration: none; line-height: 1.18; }
.drawer-nav a[aria-current='page'] { color: var(--terra); }
.dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 4px; border-radius: 18px; background: var(--paper); border: 1px solid var(--line); }
.dl a { display: grid; justify-items: center; gap: 1px; padding: 0.55rem 0.2rem 0.5rem; border-radius: 14px; text-decoration: none; color: var(--ink-2); transition: background-color 200ms var(--ease-out), color 200ms var(--ease-out); }
.dl-code { font-family: var(--f-display); font-size: 1.05rem; line-height: 1.1; color: var(--ink); }
.dl-name { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.02em; }
.dl a[aria-current='true'] { background: var(--plum); color: rgba(250, 242, 234, 0.75); box-shadow: 0 6px 16px -8px rgba(40, 24, 48, 0.6); }
.dl a[aria-current='true'] .dl-code { color: var(--paper); }
.dl a:active { transform: scale(0.97); }
@media (max-width: 330px) { .dl { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.drawer-addr { display: grid; gap: 0.2rem; font-size: 0.92rem; }
.drawer-addr a { justify-self: start; font-weight: 600; color: var(--ink); }
.drawer-foot { display: grid; gap: 0.9rem; color: var(--ink-2); padding-top: 1.2rem; border-top: 1px solid var(--line); }
@media (max-width: 1180px) { .nav-main, .header-actions .btn, .header-actions .lang { display: none; } .nav-toggle { display: inline-flex; } :root { --header-h: 64px; } }

.concept-tag { position: fixed; right: 1rem; bottom: 1rem; z-index: 40; font-size: 0.72rem; color: #5a4b41; background: rgba(250, 242, 234, 0.85); border: 1px solid var(--line); border-radius: 999px; padding: 0.4rem 0.8rem; text-decoration: none; }
@media (max-width: 640px) { .concept-tag { font-size: 0.66rem; padding: 0.3rem 0.65rem; right: 0.6rem; bottom: 0.6rem; } }

/* Reveal grammar: things settle like a petal landing */
.js .rise { opacity: 0; transform: translateY(22px) rotate(-0.6deg); transition: opacity 800ms var(--ease-out), transform 1000ms var(--ease-out); transition-delay: var(--d, 0ms); }
.js .rise.is-in { opacity: 1; transform: none; }

/* ---------- The day (home hero) ---------- */
.day { position: relative; background: var(--cream); }
.day-stage { position: relative; overflow: hidden; }
.day-canvas { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.day-inner { position: relative; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 2rem 4rem; align-items: center; min-height: 100svh; padding-top: calc(var(--header-h) + clamp(6rem, 20vh, 11rem)); padding-bottom: 4rem; }
.day-copy { display: grid; gap: 1.3rem; justify-items: start; }
.day-copy h1 { width: clamp(200px, 25vw, 340px); }
.day-copy h1 .wordmark { width: 100%; }
.tag { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; opacity: 0.8; }
.clock { font-family: var(--f-display); font-size: clamp(3.4rem, 8vw, 6rem); line-height: 1; font-variant-numeric: tabular-nums lining-nums; letter-spacing: -0.02em; }
.phases { display: grid; }
.phase { display: grid; gap: 0.5rem; max-width: 34ch; }
.phase h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); }
.phase p { font-size: 1.08rem; opacity: 0.85; }
.phase .when { display: none; }
.day-actions { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 0.4rem; }
.now { display: inline-flex; align-items: center; gap: 0.55rem; font-size: 0.9rem; padding: 0.45rem 0.85rem 0.45rem 0.6rem; border-radius: 999px; background: rgba(250, 242, 234, 0.65); border: 1px solid var(--line); color: var(--ink); }
.now i { width: 9px; height: 9px; border-radius: 50%; background: var(--fern); box-shadow: 0 0 0 4px rgba(78, 107, 53, 0.18); }
.now.is-closed i { background: var(--ink-2); box-shadow: none; }
.day-photos { position: relative; aspect-ratio: 4 / 5; width: min(100%, 460px); justify-self: end; border-radius: 220px 220px 28px 28px; overflow: hidden; box-shadow: 0 30px 60px -30px rgba(36, 29, 25, 0.45); background: var(--cream-2); }
.day-photos img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.day-photos img + img { display: none; }
.day-rail { display: none; }
.day-cue { display: none; }
/* pinned version */
.js-scene .day { height: 430vh; }
.js-scene .day-stage { position: sticky; top: 0; height: 100vh; height: 100svh; }
.js-scene .day-inner { min-height: 0; height: 100%; padding-top: calc(var(--header-h) + clamp(5rem, 17vh, 9rem)); padding-bottom: 5.5rem; }
.js-scene .phase { grid-area: 1 / 1; opacity: 0; transform: translateY(14px); transition: opacity 500ms var(--ease-out), transform 700ms var(--ease-out); }
.js-scene .phase.on { opacity: 1; transform: none; }
.js-scene .day-photos img + img { display: block; }
.js-scene .day-photos img { opacity: 0; transform: scale(1.06); transition: opacity 700ms var(--ease-out), transform 1400ms var(--ease-out); }
.js-scene .day-photos img.on { opacity: 1; transform: none; }
.js-scene .day-rail { display: grid; grid-template-columns: repeat(4, 1fr); position: absolute; left: 0; right: 0; bottom: 1.6rem; }
.day-rail ol { list-style: none; margin: 0; padding: 0; display: contents; }
.day-rail li { font-size: 0.8rem; font-weight: 600; letter-spacing: 0.04em; padding-top: 0.7rem; border-top: 2px solid currentColor; opacity: 0.35; transition: opacity 300ms ease; }
.day-rail li.on { opacity: 1; }
.day-stage { color: var(--ink); }
.day-stage.is-dusk { color: var(--paper); }
.day-stage.is-dusk .now { background: rgba(30, 20, 38, 0.45); color: var(--paper); border-color: rgba(250, 242, 234, 0.2); }
@media (max-width: 860px) {
  .day-inner { grid-template-columns: 1fr; align-content: start; gap: 1.4rem; }
  .js-scene .day-inner { padding-top: calc(var(--header-h) + 15vh); padding-bottom: 4.5rem; }
  .day-photos { justify-self: start; width: min(64vw, 300px); border-radius: 160px 160px 22px 22px; }
  .js-scene .day-photos { display: none; }
  .js-scene .day-rail { bottom: 3.4rem; }
  .clock { font-size: 3.2rem; }
  .day-copy h1 { width: 180px; }
  .tag { font-size: 0.7rem; letter-spacing: 0.1em; }
  .phase p { font-size: 1rem; }
  .day-rail li { font-size: 0.7rem; }
}

/* ---------- Mosaic divider (from the trencadís bar) ---------- */
.mosaic { height: 46px; background: var(--mosaic) repeat-x center / auto 100%; }

/* ---------- Sections ---------- */
.section { padding-block: clamp(5rem, 11vw, 9rem); position: relative; }
.section-h { font-size: clamp(2.2rem, 4.8vw, 3.8rem); max-width: 18ch; }
.lede { font-size: clamp(1.08rem, 1.5vw, 1.25rem); color: var(--ink-2); max-width: 46ch; }
.night { background: var(--plum); color: var(--paper); }
.night .lede { color: rgba(250, 242, 234, 0.78); }

.name { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 2rem 4rem; align-items: end; }
.name h2 { font-size: clamp(2.6rem, 6vw, 5rem); }
.name .mark { width: clamp(120px, 16vw, 200px); color: var(--lav-l); justify-self: end; }
@media (max-width: 760px) { .name { grid-template-columns: 1fr; } .name .mark { justify-self: start; } }

.hours3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; margin-top: clamp(2.5rem, 5vw, 4rem); }
.hour { display: grid; gap: 1rem; text-decoration: none; align-content: start; }
.hour figure { margin: 0; aspect-ratio: 4 / 5; border-radius: 200px 200px 22px 22px; overflow: hidden; background: var(--cream-2); }
.hour img { width: 100%; height: 100%; object-fit: cover; transition: transform 1200ms var(--ease-out); }
.hour h3 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); display: flex; align-items: baseline; gap: 0.6rem; }
.hour h3 span { font-family: var(--f-body); font-size: 0.85rem; font-weight: 600; color: var(--ink-2); }
.hour p { color: var(--ink-2); max-width: 32ch; }
@media (hover: hover) and (pointer: fine) { .hour:hover img { transform: scale(1.05); } }
@media (max-width: 860px) { .hours3 { grid-template-columns: 1fr; } .hour { grid-template-columns: 120px 1fr; align-items: center; gap: 1.2rem; } .hour figure { border-radius: 90px 90px 14px 14px; } }

.proof { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 2rem 4rem; align-items: center; }
.proof blockquote { margin: 0; font-family: var(--f-display); font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1.08; }
.proof-meta { display: grid; gap: 0.3rem; color: var(--ink-2); }
.proof-meta strong { font-family: var(--f-display); font-weight: 400; font-size: 2rem; color: var(--ink); }
.stars { display: flex; gap: 3px; color: var(--sun); margin-bottom: 0.3rem; }
.stars svg { width: 18px; height: 18px; }
@media (max-width: 760px) { .proof { grid-template-columns: 1fr; } }

.terrace { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1rem; margin-top: clamp(2rem, 5vw, 3.5rem); }
.terrace figure { margin: 0; border-radius: 22px; overflow: hidden; background: var(--cream-2); position: relative; }
.terrace img { width: 100%; height: 100%; object-fit: cover; }
.terrace figure:nth-child(1) { grid-column: span 7; aspect-ratio: 4 / 3; }
.terrace figure:nth-child(2) { grid-column: span 5; grid-row: span 2; }
.terrace figure:nth-child(3) { grid-column: span 3; aspect-ratio: 3 / 4; }
.terrace figure:nth-child(4) { grid-column: span 4; aspect-ratio: 1; }
.terrace-head { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 1.5rem 4rem; align-items: end; }
@media (max-width: 760px) { .terrace { grid-template-columns: 1fr 1fr; } .terrace figure:nth-child(n) { grid-column: span 1; grid-row: auto; aspect-ratio: 3 / 4; } .terrace figure:nth-child(1) { grid-column: span 2; aspect-ratio: 4 / 3; } .terrace-head { grid-template-columns: 1fr; } }

.visit { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 3rem 4rem; align-items: start; }
.facts { display: grid; gap: 1.2rem; margin: 0; }
.facts div { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--line); }
.facts dt { color: var(--ink-2); font-size: 0.85rem; padding-top: 0.2rem; }
.facts dd { margin: 0; font-size: 1.08rem; }
.facts dd a { text-decoration: none; }
.facts dd a:hover { text-decoration: underline; }
.actions { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 2rem; }
@media (max-width: 860px) { .visit { grid-template-columns: 1fr; } .facts div { grid-template-columns: 1fr; gap: 0.2rem; } }

/* ---------- Inner page head ---------- */
.page-head { position: relative; padding-top: calc(var(--header-h) + clamp(7rem, 16vw, 11rem)); padding-bottom: clamp(2.5rem, 6vw, 5rem); overflow: hidden; isolation: isolate; }
.page-head canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.page-head.night-head { color: var(--paper); }
.page-title { font-size: clamp(3.2rem, 9vw, 6rem); line-height: 0.98; max-width: 14ch; }
.page-head .lede { margin-top: 1.3rem; color: inherit; opacity: 0.85; }
.note { display: flex; gap: 0.7rem; align-items: flex-start; margin-top: 1.8rem; padding: 0.85rem 1.05rem; border: 1px dashed var(--line-2); border-radius: 14px; color: var(--ink-2); font-size: 0.9rem; max-width: 64ch; background: rgba(250, 242, 234, 0.5); }
.note svg { width: 18px; height: 18px; flex: none; margin-top: 0.15rem; color: var(--terra); }
.night-head .note, .night .note, .bar-body .note { color: rgba(250, 242, 234, 0.8); border-color: rgba(250, 242, 234, 0.3); background: rgba(30, 20, 38, 0.35); }

/* Menu */
.tabs { position: sticky; top: var(--header-h); z-index: 20; background: rgba(243, 229, 216, 0.98); border-block: 1px solid var(--line); }
.tabs .wrap { display: flex; gap: 0.35rem; overflow-x: auto; scrollbar-width: none; padding-block: 0.65rem; }
.tabs .wrap::-webkit-scrollbar { display: none; }
.tab { flex: none; background: none; border: 1px solid transparent; border-radius: 999px; padding: 0.48rem 0.95rem; color: var(--ink-2); font-size: 0.9rem; cursor: pointer; transition: color 200ms ease, border-color 200ms ease, background-color 200ms ease, transform 160ms var(--ease-out); }
.tab:active { transform: scale(0.97); }
.tab[aria-pressed='true'] { background: var(--ink); color: var(--cream); }
@media (hover: hover) and (pointer: fine) { .tab:not([aria-pressed='true']):hover { color: var(--ink); border-color: var(--line-2); } }
.menu-cat { padding-block: clamp(2.8rem, 5vw, 4.5rem); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 1.5rem 4rem; }
.menu-cat[hidden] { display: none; }
.cat-side { position: sticky; top: calc(var(--header-h) + 5rem); align-self: start; display: grid; gap: 0.9rem; }
.cat-side h2 { font-size: clamp(2rem, 3.4vw, 2.8rem); }
.cat-side p { color: var(--ink-2); font-size: 0.95rem; max-width: 34ch; }
.cat-side img { width: 100%; height: auto; max-width: 260px; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 140px 140px 18px 18px; margin-top: 0.4rem; }
.dishes { list-style: none; margin: 0; padding: 0; }
.dish { display: grid; grid-template-columns: 1fr auto; gap: 0.25rem 1.5rem; padding-block: 1.15rem; border-top: 1px solid var(--line); }
.dish:first-child { border-top: 0; padding-top: 0; }
.dish-name { font-family: var(--f-display); font-size: clamp(1.25rem, 1.9vw, 1.5rem); line-height: 1.2; }
.dish-name .share { font-family: var(--f-body); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--fern); margin-left: 0.5rem; vertical-align: middle; }
.dish-price { font-variant-numeric: tabular-nums lining-nums; font-weight: 600; white-space: nowrap; }
.dish-desc { grid-column: 1 / -1; color: var(--ink-2); font-size: 0.98rem; max-width: 58ch; }
@media (max-width: 860px) { .menu-cat { grid-template-columns: 1fr; } .cat-side { position: static; } .cat-side img { display: none; } }

/* Cocktails page */
.bar-body { background: var(--plum); color: var(--paper); }
.sig { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 3rem 5rem; align-items: center; }
.sig figure { position: relative; margin: 0; aspect-ratio: 4 / 5; border-radius: 240px 240px 28px 28px; overflow: hidden; }
.sig img { width: 100%; height: 100%; object-fit: cover; }
.sig figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 3rem 1.2rem 1rem; font-size: 0.9rem; background: linear-gradient(transparent, rgba(30, 20, 38, 0.75)); }
.sig h2 { font-size: clamp(2.6rem, 6vw, 4.6rem); }
.sig p { opacity: 0.85; margin-top: 1.2rem; max-width: 40ch; font-size: 1.1rem; }
.sig .price { font-family: var(--f-display); font-size: 1.8rem; margin-top: 1.4rem; color: var(--sun); }
@media (max-width: 860px) { .sig { grid-template-columns: 1fr; } .sig figure { max-width: 380px; } }
.sig .sig-photo { aspect-ratio: 1 / 1; border-radius: 28px; }
.cocktail-list { list-style: none; margin: 2.5rem 0 0; padding: 0; columns: 2; column-gap: 4rem; }
.cocktail-list li { break-inside: avoid; font-family: var(--f-display); font-size: clamp(1.4rem, 2.4vw, 2rem); padding-block: 0.7rem; border-bottom: 1px solid rgba(250, 242, 234, 0.14); display: flex; align-items: center; gap: 0.9rem; }
.cocktail-list li::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--lav-l); flex: none; }
@media (max-width: 760px) { .cocktail-list { columns: 1; } }
.bar-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; margin-top: 4rem; }
.bar-cols h3 { font-size: 1.7rem; margin-bottom: 1rem; }
.bar-cols p, .bar-cols li { opacity: 0.85; }
.bar-cols ul:not(.drink-list) { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; font-size: 1.15rem; }
@media (max-width: 760px) { .bar-cols { grid-template-columns: 1fr; } }

/* Story */
.story { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 2rem 5rem; }
.story-body { display: grid; gap: 1.4rem; font-size: 1.15rem; line-height: 1.7; max-width: 62ch; }
.story .mark { width: 140px; color: var(--lav); }
@media (max-width: 860px) { .story { grid-template-columns: 1fr; } }
.topics { list-style: none; margin: 2.2rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.2rem 2.2rem; }
.topics li { font-family: var(--f-display); font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1.1; }
.topics li:nth-child(1) { color: var(--terra); } .topics li:nth-child(2) { color: var(--fern); } .topics li:nth-child(3) { color: var(--lav); } .topics li:nth-child(4) { color: var(--rattan); }
.gallery { columns: 3 260px; column-gap: 1rem; margin-top: 2.5rem; }
.gallery figure { margin: 0 0 1rem; break-inside: avoid; border-radius: 20px; overflow: hidden; position: relative; background: var(--cream-2); }
.gallery img { width: 100%; height: auto; }
.gallery figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 2.4rem 1rem 0.85rem; font-size: 0.9rem; color: var(--paper); background: linear-gradient(transparent, rgba(30, 20, 38, 0.7)); }

/* Booking */
.book { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 3rem 5rem; align-items: start; }
@media (max-width: 960px) { .book { grid-template-columns: 1fr; } }
.form { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.5rem 1.3rem; }
.field { display: grid; gap: 0.45rem; grid-column: span 2; }
.field.half { grid-column: span 3; } .field.full { grid-column: 1 / -1; }
@media (max-width: 640px) { .field, .field.half { grid-column: 1 / -1; } }
.field label { font-size: 0.85rem; color: var(--ink-2); font-weight: 600; }
.field input, .field select, .field textarea { width: 100%; font: inherit; color: var(--ink); background: var(--paper); border: 1px solid var(--line-2); border-radius: 14px; padding: 0.85rem 1rem; min-height: 52px; transition: border-color 200ms ease, box-shadow 200ms ease; -webkit-appearance: none; appearance: none; caret-color: var(--terra); }
.field textarea { min-height: 116px; resize: vertical; }
.field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a4b41' stroke-width='1.6'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.9rem center; background-size: 18px; padding-right: 2.6rem; }
.field input::placeholder, .field textarea::placeholder { color: #8b7b70; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--terra); box-shadow: 0 0 0 3px rgba(180, 83, 42, 0.16); }
.field input[aria-invalid='true'] { border-color: #b3261e; }
.field .err { color: #b3261e; font-size: 0.85rem; }
.field .err:empty { display: none; }
.guests { display: flex; align-items: center; border: 1px solid var(--line-2); border-radius: 14px; min-height: 52px; background: var(--paper); }
.guests button { width: 48px; height: 50px; border: 0; background: none; cursor: pointer; display: grid; place-items: center; transition: transform 160ms var(--ease-out); }
.guests button:active { transform: scale(0.9); }
.guests button svg { width: 16px; height: 16px; }
.guests output { flex: 1; text-align: center; font-variant-numeric: tabular-nums; font-size: 1.1rem; font-weight: 600; }
.form-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; align-items: center; margin-top: 0.4rem; }
.aside { display: grid; gap: 1.1rem; padding: 2rem; border-radius: 24px; background: var(--plum); color: var(--paper); }
.aside h2 { font-size: 1.9rem; }
.aside p { opacity: 0.85; }
.aside ul { list-style: none; margin: 0; padding: 0; }
.aside li { font-family: var(--f-display); font-size: 1.3rem; padding-block: 0.5rem; border-top: 1px solid rgba(250, 242, 234, 0.15); }
.aside .btn--ghost { color: var(--paper); }

/* Contact */
.contact { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 3rem 4rem; align-items: start; }
@media (max-width: 960px) { .contact { grid-template-columns: 1fr; } }
.map { border-radius: 26px; overflow: hidden; border: 1px solid var(--line); background: var(--paper); aspect-ratio: 5 / 4; }
.map svg { width: 100%; height: 100%; }
.map-pin { transform-box: fill-box; transform-origin: center; animation: pulse 3s var(--ease-out) infinite; }
@keyframes pulse { 0% { opacity: 0.8; transform: scale(0.5); } 100% { opacity: 0; transform: scale(2.6); } }

/* Footer */
.site-footer { background: var(--plum); color: rgba(250, 242, 234, 0.78); padding: clamp(4rem, 8vw, 6rem) 0 6rem; font-size: 0.95rem; }
.foot-grid { display: grid; grid-template-columns: minmax(0, 5fr) repeat(3, minmax(0, 2.4fr)); gap: 2.5rem; }
.foot-brand { color: var(--paper); display: grid; gap: 1rem; justify-items: start; }
.foot-brand .wordmark { width: min(260px, 70%); }
.site-footer h2 { font-family: var(--f-body); font-size: 0.76rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--lav-l); margin-bottom: 0.9rem; }
.site-footer a { text-decoration: none; } .site-footer a:hover { color: var(--paper); }
.foot-lang { display: flex; gap: 0.8rem; }
.foot-lang a, .foot-lang button { text-decoration: none; background: none; border: 0; padding: 0; cursor: pointer; color: inherit; }
.foot-lang [aria-current='true'] { color: var(--paper); text-decoration: underline; text-underline-offset: 0.3em; }
.foot-base { margin-top: 3.2rem; padding-top: 1.4rem; border-top: 1px solid rgba(250, 242, 234, 0.12); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; font-size: 0.85rem; }
.social { display: flex; gap: 0.6rem; }
.social a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(250, 242, 234, 0.3); display: grid; place-items: center; transition: background-color 200ms ease, color 200ms ease; }
.social a:hover { background: var(--paper); color: var(--plum); }
.social svg { width: 16px; height: 16px; }
.contact .social a { border-color: var(--line-2); }
.contact .social a:hover { background: var(--ink); color: var(--cream); }
@media (max-width: 860px) { .foot-grid { grid-template-columns: 1fr 1fr; } .foot-brand { grid-column: 1 / -1; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
  .js .rise { transform: none; transition: opacity 300ms ease; }
}

/* =========================================================
   Home journey: page colour follows the day, a vine grows down it
   ========================================================= */
body[data-page='home'] { background: var(--sky, var(--cream)); color: var(--ink); transition: color 450ms ease; }
.is-late body[data-page='home'] { color: var(--paper); --ink-2: rgba(250, 242, 234, 0.78); --line: rgba(250, 242, 234, 0.16); --line-2: rgba(250, 242, 234, 0.34); }
html:not(.js) .late { background: var(--plum); color: var(--paper); --ink-2: rgba(250, 242, 234, 0.78); --line: rgba(250, 242, 234, 0.16); }
body[data-page='home'] .site-header { color: inherit; }
body[data-page='home'] .site-header.is-solid { background: color-mix(in srgb, var(--sky, var(--cream)) 84%, transparent); border-bottom-color: var(--line); }
body[data-page='home'] .site-header.on-hero { color: var(--paper); }
body[data-page='home'] .lang [aria-current='true'] { background: var(--ink); color: var(--cream); }
.is-late body[data-page='home'] .lang [aria-current='true'] { background: var(--paper); color: var(--plum); }
body[data-page='home'] .site-header.on-hero .lang [aria-current='true'] { background: var(--paper); color: var(--plum); }

.journey { position: relative; }
.journey > section, .journey > main { position: relative; z-index: 1; }
.vine { position: absolute; left: 0; top: 0; z-index: 3; pointer-events: none; overflow: visible; }
.v-stem { fill: none; stroke: #4e6b35; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: stroke 600ms ease; }
.v-glow { fill: none; stroke: #b9a3dc; stroke-width: 9; stroke-linecap: round; stroke-linejoin: round; opacity: 0; transition: opacity 600ms ease; }
.is-late .v-stem { stroke: #7f9e5d; }
.is-late .v-glow { opacity: 0.16; }
.v-in { transform: scale(0.15) rotate(-20deg); opacity: 0; transform-box: fill-box; transform-origin: left center; transition: transform 800ms cubic-bezier(0.34, 1.5, 0.64, 1), opacity 400ms ease; }
.v-leaf .v-in { transition-duration: 600ms, 300ms; }
.v-item.on .v-in { transform: none; opacity: 1; }
.l1 { fill: #5c7c3c; } .l2 { fill: #7c9c56; }
.f0 { fill: #8f6cc4; } .f1 { fill: #b49ee0; } .f2 { fill: #6b4c9a; }
.rose { fill: #fbf6f0; } .rose-2 { fill: #eee0d3; } .rose-3 { fill: #d8c0ae; }
.is-late .v-bloom.late.on .v-in { filter: drop-shadow(0 0 5px rgba(196, 172, 236, 0.9)); }
.v-bud { fill: #b49ee0; stroke: rgba(180, 158, 224, 0.35); stroke-width: 7; transition: opacity 300ms ease; }

/* Hero: flower wall on top, logo and one line on the left, one photo on the right */
.hero { position: relative; padding-top: calc(var(--header-h) + clamp(5.5rem, 14vh, 9rem)); padding-bottom: clamp(3.5rem, 9vh, 7rem); }
.hero-wall { position: absolute; left: 0; top: 0; width: 100%; height: clamp(230px, 32vh, 320px); pointer-events: auto; }
.hero-inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem 5rem; align-items: center; }
.hero-copy { display: grid; gap: 1.35rem; justify-items: start; max-width: 34rem; }
.hero-copy h1 { width: clamp(220px, 27vw, 380px); }
.hero-copy h1 .wordmark { width: 100%; }
.hero-copy .lede { max-width: 30ch; font-size: clamp(1.15rem, 1.6vw, 1.35rem); color: var(--ink-2); }
.hero-copy .actions { margin-top: 0.3rem; }
.arch { margin: 0; aspect-ratio: 4 / 5; border-radius: 260px 260px 28px 28px; overflow: hidden; background: var(--cream-2); box-shadow: 0 34px 70px -34px rgba(36, 29, 25, 0.5); will-change: transform; }
.arch img { width: 100%; height: 100%; object-fit: cover; }
.hero-photo { width: min(430px, 33vw, calc((100svh - 300px) * 0.8)); min-width: 240px; }
@media (max-width: 860px) {
  .hero { padding-top: calc(var(--header-h) + 6.5rem); }
  .hero-wall { height: 190px; }
  .hero-inner { grid-template-columns: 1fr; gap: 2.4rem; }
  .hero-copy h1 { width: 210px; }
  .hero-photo { width: min(74vw, 330px); min-width: 0; justify-self: end; }
}

.hour h3 .hour-name { font-family: var(--f-display); font-size: inherit; font-weight: 400; color: inherit; }
.proof .cite { font-size: 0.85rem; }
.name .lede { margin-top: 1.4rem; }
.late .name .mark { color: var(--lav-l); }

/* Night: the lamps are lit */
.night-sec { overflow: hidden; }
.night-lamps { position: absolute; inset: 0; width: 100%; height: 100%; }
.night-inner { position: relative; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 3rem 5rem; align-items: end; padding-top: clamp(6rem, 14vw, 10rem); }
.night-inner .tag { margin-bottom: 1rem; color: var(--sun); opacity: 1; }
.night-inner .lede { margin-top: 1.2rem; }
.mini-list { list-style: none; margin: 1.8rem 0 0; padding: 0; display: grid; gap: 0.1rem; }
.mini-list li { font-family: var(--f-display); font-size: clamp(1.35rem, 2.2vw, 1.8rem); padding-block: 0.45rem; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 0.8rem; }
.mini-list li::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--lav-l); flex: none; }
.night-photo { width: min(100%, 430px); justify-self: end; }
@media (max-width: 860px) { .night-inner { grid-template-columns: 1fr; padding-top: 8rem; } .night-photo { width: min(80vw, 340px); justify-self: start; } }

.visit .lede { margin-top: 1.2rem; }

/* Pinned logo: the vine becomes the rose, the hand and the name draw themselves */
.logo-sec { position: relative; }
.js-pin .logo-sec { height: 300vh; }
.logo-stage { position: relative; min-height: 100svh; display: grid; align-items: center; overflow: hidden; }
.js-pin .logo-stage { position: sticky; top: 0; height: 100svh; height: 100dvh; }
.stage-vine { position: absolute; left: 0; top: 0; z-index: 2; pointer-events: none; overflow: visible; }
.logo-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 2rem 4rem; align-items: center; padding-block: calc(var(--header-h) + 1rem) 2rem; }
.logo-copy h2 { font-size: clamp(2.6rem, 5.6vw, 4.8rem); }
.logo-copy .lede { margin-top: 1.4rem; }
.js-pin .logo-copy { opacity: 0; transform: translateY(18px); transition: opacity 700ms var(--ease-out), transform 900ms var(--ease-out); }
.js-pin .copy-on .logo-copy { opacity: 1; transform: none; }
.logo-draw { width: auto; height: min(68svh, 560px); max-width: 100%; justify-self: center; overflow: visible; }
.logo-draw path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.lg-mark path { stroke: var(--paper); stroke-width: 2.2; transition: stroke-width 700ms var(--ease-out); }
.lg-mark path[data-role='rose'] { stroke: #cdbaf0; }
.lg-mark path[data-role='stem'] { stroke: #7f9e5d; }
.mark-done .lg-mark path { stroke-width: 4; }
.lg-word path { stroke: var(--paper); stroke-width: 3.6; transition: stroke-width 700ms var(--ease-out); }
.word-done .lg-word path { stroke-width: 7.2; }
@media (max-width: 860px) {
  .js-pin .logo-sec { height: 260vh; }
  .logo-inner { grid-template-columns: 1fr; gap: 1.4rem; align-content: center; }
  .logo-copy h2 { font-size: 2.3rem; }
  .logo-draw { height: min(44svh, 380px); }
}

/* ---------- Dish panel: tap a dish for photo, allergens and nutrition ---------- */
.dish-btn { display: inline-flex; align-items: baseline; gap: 0.45rem; padding: 0; border: 0; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; text-decoration: underline; text-decoration-color: var(--line-2); text-decoration-thickness: 1px; text-underline-offset: 0.2em; transition: text-decoration-color 200ms ease, color 200ms ease; }
.dish-btn svg { width: 0.72em; height: 0.72em; flex: none; color: var(--terra); transform: translateY(0.05em); transition: transform 220ms var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .dish-btn:hover { color: var(--terra-d); text-decoration-color: currentColor; } .dish-btn:hover svg { transform: translateY(0.05em) scale(1.15); } }
.dish-btn:active { transform: scale(0.99); }
.tap-hint { display: flex; gap: 0.6rem; align-items: center; margin-top: 0.9rem; font-size: 0.92rem; color: var(--ink-2); }
.tap-hint svg { width: 18px; height: 18px; flex: none; color: var(--terra); }

.dish-layer { position: fixed; inset: 0; z-index: 90; }
.dish-scrim { position: absolute; inset: 0; background: rgba(30, 20, 38, 0.55); opacity: 0; transition: opacity 280ms ease; }
.dish-layer.is-in .dish-scrim { opacity: 1; }
.dish-panel { position: absolute; left: 0; right: 0; bottom: 0; display: block; max-height: 90vh; max-height: min(90svh, 860px); background: var(--paper); color: var(--ink); border-radius: 26px 26px 0 0; box-shadow: 0 -20px 60px -20px rgba(30, 20, 38, 0.45); overflow: hidden; outline: none; -webkit-transform: translateY(105%); transform: translateY(105%); transition: transform 380ms var(--ease-out); }
.dish-layer.is-in .dish-panel { -webkit-transform: none; transform: none; }
@media (min-width: 900px) {
  .dish-panel { top: 0; left: auto; width: 460px; max-height: none; border-radius: 26px 0 0 26px; box-shadow: -20px 0 60px -20px rgba(30, 20, 38, 0.45); -webkit-transform: translateX(105%); transform: translateX(105%); }
}
.dp { position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; height: 100%; max-height: inherit; }
.dp-photo { position: relative; margin: 0; aspect-ratio: 16 / 10; background: var(--cream-2); overflow: hidden; }
.dp-photo img { width: 100%; height: 100%; object-fit: cover; }
.dp-soon { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 0.7rem; color: var(--ink-2); background: radial-gradient(120% 90% at 50% 20%, var(--paper), var(--cream-2)); }
.dp-soon svg { width: 96px; color: var(--terra); opacity: 0.7; }
.dp-soon span { font-size: 0.85rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.dp-close { position: absolute; top: 0.9rem; right: 0.9rem; z-index: 2; width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(250, 242, 234, 0.92); color: var(--ink); cursor: pointer; box-shadow: 0 4px 14px -6px rgba(30, 20, 38, 0.45); transition: transform 160ms var(--ease-out); }
.dp-close svg { width: 18px; height: 18px; }
.dp-close:active { transform: scale(0.94); }
.dp::before { content: ''; position: absolute; top: 8px; left: 50%; z-index: 2; width: 42px; height: 4px; margin-left: -21px; border-radius: 4px; background: rgba(250, 242, 234, 0.85); }
@media (min-width: 900px) { .dp::before { display: none; } }
.dp-body { overflow-y: auto; overscroll-behavior: contain; padding: 1.4rem max(1.4rem, env(safe-area-inset-right, 0px)) 1.6rem max(1.4rem, env(safe-area-inset-left, 0px)); display: grid; gap: 0.9rem; align-content: start; }
.dp-cat { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--terra); }
.dp-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.dp-head h2 { font-size: clamp(1.7rem, 4.5vw, 2.1rem); line-height: 1.1; }
.dp-price { font-weight: 600; font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
.dp-desc { color: var(--ink-2); font-size: 1.02rem; }
.dp-flag { font-size: 0.9rem; padding: 0.6rem 0.8rem; border-radius: 12px; background: var(--cream); }
.dp-sec { display: grid; gap: 0.6rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.dp-sec h3 { font-size: 1.15rem; }
.allergy-note { display: flex; gap: 0.8rem; align-items: flex-start; padding: 1rem 1.1rem; border-radius: 16px; background: color-mix(in srgb, var(--terra) 9%, var(--paper)); border: 1px solid color-mix(in srgb, var(--terra) 30%, transparent); color: var(--ink); }
.allergy-note > svg { width: 22px; height: 22px; flex: none; margin-top: 0.1rem; color: var(--terra); }
.allergy-note .allergy-h { font-family: var(--f-body); font-size: 1rem; font-weight: 700; line-height: 1.35; margin: 0 0 0.2rem; }
.allergy-note p { margin: 0; font-size: 0.95rem; color: var(--ink-2); }
.allergy-note--menu { margin-top: 3rem; max-width: 46rem; padding: 1.3rem 1.4rem; }
.allergy-note--menu .allergy-h { font-size: 1.15rem; }
.dp-small { font-size: 0.82rem; color: var(--ink-2); }
.dp-macros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; margin: 0; }
.dp-macros div { display: grid; gap: 0.15rem; padding: 0.7rem 0.6rem; border-radius: 14px; background: var(--cream); }
.dp-macros dt { font-size: 0.72rem; color: var(--ink-2); font-weight: 600; }
.dp-macros dd { margin: 0; font-family: var(--f-display); font-size: 1.35rem; line-height: 1.1; font-variant-numeric: tabular-nums lining-nums; }
.dp-macros dd small { font-family: var(--f-body); font-size: 0.72rem; color: var(--ink-2); }
.dp-macros .m-p dt::before, .dp-macros .m-c dt::before, .dp-macros .m-f dt::before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 0.35rem; border-radius: 50%; vertical-align: 1px; }
.dp-macros .m-p dt::before { background: var(--terra); } .dp-macros .m-c dt::before { background: var(--sun); } .dp-macros .m-f dt::before { background: var(--fern); }
.dp-bar { display: flex; height: 8px; border-radius: 8px; overflow: hidden; gap: 2px; }
.dp-bar i { flex: 1 1 0; min-width: 2px; transition: flex-grow 500ms var(--ease-out); }
.dp-bar .b-p { background: var(--terra); } .dp-bar .b-c { background: var(--sun); } .dp-bar .b-f { background: var(--fern); }
@media (max-width: 420px) { .dp-macros { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.dp-nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.7rem max(1rem, env(safe-area-inset-right, 0px)) calc(0.7rem + env(safe-area-inset-bottom, 0px)) max(1rem, env(safe-area-inset-left, 0px)); border-top: 1px solid var(--line); background: var(--paper); }
.dp-step { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--line-2); border-radius: 50%; background: none; color: var(--ink); cursor: pointer; transition: transform 160ms var(--ease-out), background-color 200ms ease; }
.dp-step svg { width: 20px; height: 20px; }
.dp-step:active { transform: scale(0.94); }
@media (hover: hover) and (pointer: fine) { .dp-step:hover { background: var(--cream); } }
.dp-count { font-size: 0.85rem; color: var(--ink-2); font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) { .dish-panel, .dish-scrim { transition: none; } }

/* Small dish photos on the menu (tap = same card as the name) */
.dish { grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 1.1rem; align-items: start; }
.dish-thumb { grid-row: span 2; width: 76px; height: 76px; padding: 0; border: 0; border-radius: 14px; overflow: hidden; background: var(--cream-2); color: var(--terra); cursor: pointer; display: grid; place-items: center; transition: transform 160ms var(--ease-out), box-shadow 250ms ease; }
.dish-thumb img { width: 100%; height: 100%; object-fit: cover; }
.dish-thumb .plate { width: 44px; height: 44px; opacity: 0.75; }
.dish-thumb:active { transform: scale(0.96); }
@media (hover: hover) and (pointer: fine) { .dish-thumb:hover { box-shadow: 0 8px 20px -10px rgba(36, 29, 25, 0.5); } }
.dish-name, .dish-price { align-self: center; }
.dish-desc { grid-column: 2 / -1; }
@media (max-width: 520px) { .dish-thumb { width: 64px; height: 64px; border-radius: 12px; } .dish-thumb .plate { width: 36px; height: 36px; } .dish { column-gap: 0.9rem; } }

/* Link to ЯTD (the team behind the bar) */
.btn-rtd { gap: 0.4rem; font-family: var(--f-display); font-weight: 400; letter-spacing: 0.04em; white-space: nowrap; }
.btn-rtd .rtd-r { color: #b4532a; }
.site-header.is-night .btn-rtd .rtd-r, .site-header.on-hero .btn-rtd .rtd-r { color: #d6b06c; }
.btn-rtd svg { width: 15px; height: 15px; transform: rotate(-45deg); }
@media (max-width: 1180px) { .header-actions .btn-rtd { display: inline-flex; } }
@media (max-width: 360px) { .header-actions .btn-rtd svg { display: none; } }

/* ---------- Events page (DJ nights, live music, brunch parties) ---------- */
.ev-page { min-height: 60vh; }
.ev-filters { display: flex; gap: 0.35rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.ev-filters .tab { color: rgba(250, 242, 234, 0.75); border-color: rgba(250, 242, 234, 0.22); }
.ev-filters .tab[aria-pressed='true'] { background: var(--paper); color: var(--plum); border-color: var(--paper); }
.ev-page .note { margin: 0 0 1.5rem; }
.ev-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.ev { display: grid; grid-template-columns: auto 1fr; gap: 1.1rem 1.4rem; align-items: start; padding: 1.3rem; border-radius: 22px; background: var(--plum-2); border: 1px solid rgba(250, 242, 234, 0.1); animation: ev-in 520ms var(--ease-out) both; animation-delay: var(--d, 0ms); }
.ev-ph { grid-column: 1 / -1; margin: -1.3rem -1.3rem 0; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 22px 22px 0 0; }
.ev-ph img { width: 100%; height: 100%; object-fit: cover; }
.ev-date { display: grid; place-items: center; width: 4.4rem; padding: 0.7rem 0 0.6rem; border-radius: 16px; background: var(--terra); color: var(--paper); line-height: 1; }
.ev-date b { font-family: var(--f-display); font-weight: 400; font-size: 2rem; }
.ev-date span { margin-top: 0.3rem; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.ev-meta { display: flex; gap: 0.4rem; flex-wrap: wrap; margin: 0 0 0.45rem; }
.ev-type { padding: 0.22rem 0.65rem; border-radius: 999px; background: rgba(185, 163, 220, 0.18); color: var(--lav-l); font-size: 0.76rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.ev-type--mute { background: transparent; border: 1px dashed rgba(250, 242, 234, 0.3); color: rgba(250, 242, 234, 0.65); }
.ev-title { font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.1; }
.ev-when { margin: 0.5rem 0 0; color: rgba(250, 242, 234, 0.78); font-size: 0.95rem; }
.ev-when time::first-letter { text-transform: uppercase; }
.ev-desc { margin: 0.7rem 0 0; max-width: 60ch; color: rgba(250, 242, 234, 0.85); }
.ev-act { display: flex; gap: 0.6rem; flex-wrap: wrap; margin-top: 1.1rem; }
.ev-act .btn--ghost { color: var(--paper); border-color: rgba(250, 242, 234, 0.4); }
.ev-empty { padding: 2.5rem 1.5rem; border: 1px dashed rgba(250, 242, 234, 0.25); border-radius: 22px; text-align: center; }
.ev-empty h2 { font-size: 1.8rem; margin-bottom: 0.5rem; }
.ev-empty p { margin: 0; color: rgba(250, 242, 234, 0.75); }
.ev-loading { min-height: 10rem; border-style: solid; border-color: rgba(250, 242, 234, 0.08); background: linear-gradient(90deg, rgba(250, 242, 234, 0.03), rgba(250, 242, 234, 0.08), rgba(250, 242, 234, 0.03)); background-size: 200% 100%; animation: ev-shimmer 1.4s linear infinite; }
.ev-foot { display: flex; gap: 0.7rem; flex-wrap: wrap; margin-top: 2rem; }
.ev-foot .btn--ghost { color: var(--paper); border-color: rgba(250, 242, 234, 0.4); }
.ev-rtd { display: flex; justify-content: space-between; align-items: center; gap: 1.2rem 2rem; flex-wrap: wrap; margin-top: 4rem; padding: 1.8rem; border-radius: 24px; border: 1px solid rgba(250, 242, 234, 0.16); }
.ev-rtd h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); }
.ev-rtd p { margin: 0.5rem 0 0; max-width: 48ch; color: rgba(250, 242, 234, 0.8); }
.ev-rtd .btn { color: var(--paper); border-color: rgba(250, 242, 234, 0.4); }
@keyframes ev-in { from { opacity: 0; transform: translateY(14px); } }
@keyframes ev-shimmer { to { background-position: -200% 0; } }
@media (hover: hover) and (pointer: fine) { .ev-act .btn--ghost:hover, .ev-foot .btn--ghost:hover, .ev-rtd .btn:hover { border-color: var(--paper); } }
@media (max-width: 560px) { .ev { grid-template-columns: 1fr; } .ev-date { grid-auto-flow: column; gap: 0.5rem; width: auto; justify-self: start; padding: 0.5rem 0.9rem; } .ev-date b { font-size: 1.4rem; } .ev-date span { margin: 0; } .ev-act .btn { flex: 1 1 auto; justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .ev, .ev-loading { animation: none; } }

/* ---------- Cocktails list: every drink opens the photo + ingredients popup ---------- */
.tap-hint--night { color: rgba(250, 242, 234, 0.75); margin-top: 0.8rem; }
.drink-list { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 3rem; }
.drink-list--one { grid-template-columns: 1fr; margin-top: 0; }
.drink { border-bottom: 1px solid rgba(250, 242, 234, 0.14); }
.drink-btn { width: 100%; display: grid; grid-template-columns: 56px 1fr auto; gap: 1rem; align-items: center; padding: 0.8rem 0; background: none; border: 0; color: inherit; text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.drink-thumb { width: 56px; height: 56px; border-radius: 14px; overflow: hidden; display: grid; place-items: center; background: rgba(250, 242, 234, 0.06); border: 1px solid rgba(250, 242, 234, 0.12); color: var(--lav-l); transition: transform 220ms var(--ease-out); }
.drink-thumb img { width: 100%; height: 100%; object-fit: cover; }
.drink-thumb .plate { width: 30px; height: 30px; }
.drink-txt { display: grid; gap: 0.15rem; min-width: 0; }
.drink-name { font-family: var(--f-display); font-size: clamp(1.25rem, 2.2vw, 1.6rem); line-height: 1.15; }
.drink-desc { font-size: 0.9rem; color: rgba(250, 242, 234, 0.68); }
.drink-plus { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(250, 242, 234, 0.25); color: var(--lav-l); transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease; }
.drink-plus svg { width: 16px; height: 16px; }
.drink-btn:active .drink-thumb { transform: scale(0.96); }
@media (hover: hover) and (pointer: fine) { .drink-btn:hover .drink-plus { background: var(--paper); color: var(--plum); border-color: var(--paper); } .drink-btn:hover .drink-name { color: var(--lav-l); } }
@media (max-width: 760px) { .drink-list { grid-template-columns: 1fr; } }
.dp-ing-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.dp-ing-list li { padding: 0.38rem 0.8rem; border-radius: 999px; background: var(--ink); color: var(--paper); font-size: 0.9rem; font-weight: 600; }

.dp-soon .soon-glass { display: none; }
.is-drink .dp-soon svg:first-child { display: none; }
.is-drink .dp-soon .soon-glass { display: block; }

/* Weekly events (fixed) */
.week { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.week-card { padding: 1.4rem; border-radius: 22px; background: var(--plum-2); border: 1px solid rgba(250, 242, 234, 0.1); display: grid; gap: 0.55rem; align-content: start; }
.week-card h3 { font-size: 1.7rem; margin: 0; }
.week-card p { margin: 0; color: rgba(250, 242, 234, 0.8); }
.week-card .week-time { display: flex; align-items: center; gap: 0.45rem; font-weight: 600; color: var(--lav-l); }
.week-card .week-time svg { width: 1.1rem; height: 1.1rem; flex: none; }
.week-card .btn { justify-self: start; margin-top: 0.4rem; }
.ev-page [data-events] .section-h { margin-bottom: 1.2rem; }

/* Mocktail tag on cocktail rows */
.drink-txt .drink-mock { display: inline-block; margin: 0.15rem 0 0.1rem; color: var(--lav-l); font-family: var(--f-body); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }

/* Legal page */
.legal > * { max-width: 46rem; }
.legal-sec + .legal-sec { margin-top: 2.6rem; }
.legal-sec h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin-bottom: 0.8rem; }
.legal-sec p { margin: 0 0 0.9rem; line-height: 1.65; color: var(--ink-2); overflow-wrap: anywhere; }
.ev-page .week { margin-top: 1.2rem; }
.drink-btn { grid-template-columns: 56px 1fr auto auto; }
.drink-price { font-family: var(--f-display); font-size: 1.05rem; color: var(--lav-l); white-space: nowrap; }
/* Home cards: tappable, with an arrow */
.hour h3 .hour-go { display: inline-flex; width: 1.4rem; height: 1.4rem; color: var(--terra); transition: transform 300ms var(--ease-out); }
.hour h3 .hour-go svg { width: 100%; height: 100%; }
@media (hover: hover) and (pointer: fine) { .hour:hover .hour-go { transform: translateX(4px); } }
.tab--group { font-weight: 700; }

/* Home: four cards */
.hours3 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) and (min-width: 861px) { .hours3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) { .hours3 { grid-template-columns: 1fr; } }

/* Menu: link from the cocktails section to the full page */
.cat-more { margin: 1.2rem 0 0; }

/* Taco builder */
.taco-builder { display: grid; gap: 1.4rem; padding: clamp(1.2rem, 3vw, 2rem); border-radius: 26px; background: var(--paper); border: 1px solid var(--line); }
.tb-h { font-size: clamp(1.7rem, 3vw, 2.3rem); }
.tb-lede { margin: -0.8rem 0 0; color: var(--ink-2); }
.tb-step { border: 0; margin: 0; padding: 0; min-width: 0; }
.tb-step legend { display: flex; align-items: center; gap: 0.6rem; padding: 0; margin-bottom: 0.75rem; font-weight: 700; font-size: 1rem; }
.tb-num { display: inline-grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--terra); color: var(--paper); font-family: var(--f-display); font-weight: 400; font-size: 1rem; }
.tb-opts { display: grid; gap: 0.6rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 170px), 1fr)); }
.tb-opts--sauce { grid-template-columns: repeat(auto-fill, minmax(min(100%, 130px), 1fr)); }
.tb-opt { position: relative; display: block; cursor: pointer; }
.tb-opt input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.tb-card { display: grid; gap: 0.2rem; min-height: 44px; height: 100%; box-sizing: border-box; padding: 0.75rem 0.95rem; border-radius: 16px; border: 1.5px solid var(--line-2); background: var(--cream); transition: border-color 200ms var(--ease-out), background-color 200ms var(--ease-out), transform 160ms var(--ease-out); }
.tb-name { font-family: var(--f-display); font-size: 1.15rem; line-height: 1.2; }
.tb-card--pic { grid-template-columns: 3.6rem 1fr; grid-template-rows: auto 1fr; column-gap: 0.75rem; align-items: start; padding: 0.6rem 0.8rem 0.6rem 0.6rem; }
.tb-pic { grid-row: 1 / 3; width: 3.6rem; height: 3.6rem; border-radius: 12px; object-fit: cover; display: block; }
.tb-sub { font-size: 0.88rem; color: var(--ink-2); line-height: 1.35; }
.tb-opt input:checked + .tb-card { border-color: var(--terra); background: #f6dccb; }
.tb-opt input:focus-visible + .tb-card { outline: 3px solid var(--lav); outline-offset: 2px; }
.tb-opt:active .tb-card { transform: scale(0.98); }
@media (hover: hover) and (pointer: fine) { .tb-opt:hover .tb-card { border-color: var(--terra); } }
.tb-gf { display: inline-flex; align-items: center; gap: 0.6rem; min-height: 44px; cursor: pointer; font-weight: 600; justify-self: start; }
.tb-gf input { width: 1.25rem; height: 1.25rem; accent-color: var(--terra); }
.tb-result { display: grid; grid-template-columns: 1fr auto; gap: 0.25rem 1rem; align-items: baseline; padding: 1rem 1.2rem; border-radius: 18px; background: var(--plum); color: var(--paper); }
.tb-yours { margin: 0; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--lav-l); }
.tb-summary { margin: 0; font-family: var(--f-display); font-size: 1.25rem; line-height: 1.3; }
.tb-price { margin: 0; font-family: var(--f-display); font-size: 1.5rem; color: var(--sun); white-space: nowrap; }
.tb-show { margin: 0; font-size: 0.9rem; color: rgba(250, 242, 234, 0.75); }
.tb-reset { justify-self: end; color: var(--paper); border-color: rgba(250, 242, 234, 0.4); }
.taco-builder:not(.is-done) .tb-show { visibility: hidden; }
@media (prefers-reduced-motion: reduce) { .tb-card { transition: none; } }

@media (max-width: 560px) { .tb-opts--fill, .tb-opts--style { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tb-card--pic { grid-template-columns: 1fr; grid-template-rows: auto; align-content: start; padding: 0.5rem 0.6rem 0.75rem; }
  .tb-pic { grid-row: auto; width: 100%; height: auto; aspect-ratio: 4 / 3; margin-bottom: 0.35rem; }
  .tb-card--pic .tb-name { overflow-wrap: anywhere; } }
.tb-summary { grid-column: 1 / -1; grid-row: 2; }
.tb-price { grid-column: 2; grid-row: 1; }
.tb-yours { grid-column: 1; grid-row: 1; }
.tb-card { align-content: start; }
.tb-price { justify-self: end; }
/* Menu photos are square: show the whole photo in the popup (slight crop only on very short screens) */
/* Menu photos are square: always fill the full width; on short screens trim at most ~5% top and bottom (the dish stays whole) */
.dp { container-type: inline-size; }
.dp-photo { aspect-ratio: auto; width: 100%; height: max(min(100cqw, 54svh), 90cqw); }
.dp-photo img { object-position: 50% 50%; }
.dp-in-r .dp-photo img, .dp-in-r .dp-body { animation: dp-in-r 260ms var(--ease-out); }
.dp-in-l .dp-photo img, .dp-in-l .dp-body { animation: dp-in-l 260ms var(--ease-out); }
@keyframes dp-in-r { from { opacity: 0.2; transform: translateX(28px); } to { opacity: 1; transform: none; } }
@keyframes dp-in-l { from { opacity: 0.2; transform: translateX(-28px); } to { opacity: 1; transform: none; } }
.dish-panel { touch-action: pan-y; }

/* Launch check: footer links get a comfortable tap area on phones (24px+) */
.site-footer a { display: inline-block; padding-block: 3px; }
.foot-lang a { padding-inline: 4px; min-width: 24px; text-align: center; }

/* former inline styles */
.s-d7db16{display:inline-flex}.s-6b3bd7{--d:0ms}.s-621dd8{--d:80ms}.s-5b00eb{--d:160ms}.s-17b9df{--d:240ms}.s-8d7ea1{--d:60ms}.s-bdd397{--d:120ms}.s-7c317f{--d:180ms}.s-8a93ff{font-style:normal}.s-86a6e6{margin-top:.7rem}.s-ed0501{margin-top:1.1rem}.s-e46d4a{display:flex;gap:1.2rem;flex-wrap:wrap}.s-0b5b34{--d:140ms}.s-c8a2ad{margin:2rem 0 6rem}.s-f32ef6{padding-top:2rem}.s-773d55{--d:100ms}.s-a79b3b{margin-top:1.6rem}.s-811a13{padding-top:0}.s-34a41a{margin-top:3.5rem}.s-0ce396{padding-top:1.5rem}.s-9977b7{max-width:16ch}.s-d63756{margin-top:2.5rem}.s-54b873{padding-top:1rem}.s-dee711{color:var(--ink-2);font-size:.92rem}.s-cc6c10{margin-top:2rem}.d-0{--d:0ms}.d-60{--d:60ms}.d-120{--d:120ms}.d-180{--d:180ms}.d-240{--d:240ms}.d-300{--d:300ms}.d-360{--d:360ms}