<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600" width="800" height="600" role="img" aria-label="A lighthouse on a rocky outcrop in a storm, its beam cutting through wind-driven rain">
<rect width="800" height="600" fill="#16232d"/>
<!-- storm clouds -->
<g fill="#2b4150">
<path d="M-20 0 H820 V120 q-60 34 -130 12 q-70 34 -150 6 q-64 40 -140 8 q-70 36 -150 4 q-66 32 -130 4 q-56 22 -120 -6 Z"/>
<path d="M-20 0 H820 V70 q-90 40 -180 8 q-80 44 -170 6 q-90 42 -180 4 q-80 38 -160 2 q-60 24 -130 -4 Z" opacity="0.75"/>
<path d="M60 150 q70 -34 150 -6 q60 -30 120 8 q-70 30 -150 12 q-70 20 -120 -14 Z" opacity="0.6"/>
<path d="M470 132 q80 -30 160 0 q60 -20 110 12 q-80 30 -160 10 q-70 16 -110 -22 Z" opacity="0.6"/>
</g>
<!-- wind streaks in the sky -->
<g fill="none" stroke="#e6edf1" opacity="0.16" stroke-linecap="round">
<path d="M20 96 q120 -34 240 -6 q70 16 130 -6" stroke-width="2"/>
<path d="M60 190 q140 -42 280 -4 q80 20 150 -10" stroke-width="1.5"/>
<path d="M430 60 q130 -32 250 2 q60 14 110 -8" stroke-width="2"/>
<path d="M470 214 q120 -36 240 -2" stroke-width="1.5"/>
<path d="M-10 300 q130 -40 260 -6 q60 16 110 -4" stroke-width="1.5"/>
<path d="M500 330 q120 -34 240 -2" stroke-width="1.5"/>
<path d="M120 40 q90 -24 180 -2" stroke-width="1.5"/>
</g>
<!-- light beams -->
<g fill="#f2d47e">
<polygon points="400,157 -60,26 -60,306" opacity="0.10"/>
<polygon points="400,157 -60,70 -60,238" opacity="0.14"/>
<polygon points="400,157 -60,116 -60,190" opacity="0.20"/>
<polygon points="860,34 400,157 860,318" opacity="0.10"/>
<polygon points="860,78 400,157 860,250" opacity="0.14"/>
<polygon points="860,124 400,157 860,198" opacity="0.20"/>
<circle cx="400" cy="157" r="34" opacity="0.16"/>
<circle cx="400" cy="157" r="18" opacity="0.28"/>
</g>
<!-- distant rain behind -->
<path opacity="0.22" stroke="#e6edf1" stroke-width="1" stroke-linecap="round" fill="none"
d="M30 20 l-14 40 M95 90 l-14 40 M160 10 l-14 40 M210 160 l-14 40 M275 60 l-14 40 M330 220 l-14 40 M390 30 l-14 40 M450 130 l-14 40 M510 70 l-14 40 M575 190 l-14 40 M630 20 l-14 40 M690 110 l-14 40 M750 60 l-14 40 M795 180 l-14 40 M60 260 l-14 40 M140 330 l-14 40 M230 290 l-14 40 M300 400 l-14 40 M370 340 l-14 40 M440 420 l-14 40 M520 300 l-14 40 M600 380 l-14 40 M670 270 l-14 40 M740 350 l-14 40 M15 150 l-14 40 M85 420 l-14 40 M165 200 l-14 40 M245 120 l-14 40 M315 150 l-14 40 M395 240 l-14 40 M465 220 l-14 40 M545 420 l-14 40 M615 470 l-14 40 M695 400 l-14 40 M765 220 l-14 40"/>
<!-- sea -->
<path fill="#2b4150" d="M0 528 q50 -26 100 -8 q50 18 100 -4 q50 -22 100 6 q50 28 100 2 q50 -26 100 -6 q50 20 100 -2 q50 -22 100 8 q50 30 100 4 L800 600 L0 600 Z"/>
<path fill="#0b1319" opacity="0.55" d="M0 566 q60 -20 120 -4 q60 16 120 -6 q60 -22 120 8 q60 30 120 0 q60 -30 120 -4 q60 26 120 2 q60 -24 120 -2 L800 600 L0 600 Z"/>
<g fill="none" stroke="#e6edf1" opacity="0.42" stroke-width="2" stroke-linecap="round">
<path d="M20 534 q34 -16 66 -2"/>
<path d="M150 552 q40 -18 78 0"/>
<path d="M560 540 q40 -20 78 -2"/>
<path d="M680 566 q36 -16 70 0"/>
<path d="M300 578 q44 -18 84 2"/>
</g>
<!-- rocky outcrop -->
<path fill="#0b1319" d="M120 600 L186 522 L226 548 L268 486 L312 508 L346 462 L400 444 L452 468 L494 452 L536 494 L580 474 L622 526 L668 548 L706 600 Z"/>
<path fill="#16232d" opacity="0.9" d="M346 462 L400 444 L452 468 L494 452 L520 490 L430 520 L360 500 Z"/>
<path fill="#0b1319" d="M60 600 L110 556 L150 578 L196 546 L236 580 L280 600 Z"/>
<path fill="#0b1319" d="M540 600 L590 560 L638 584 L680 552 L730 600 Z"/>
<!-- spray -->
<g fill="none" stroke="#e6edf1" opacity="0.5" stroke-linecap="round">
<path d="M182 528 q-24 -46 -66 -60 q34 34 40 74" stroke-width="2.5"/>
<path d="M626 532 q28 -48 74 -62 q-38 34 -46 78" stroke-width="2.5"/>
<path d="M270 552 q-16 -30 -44 -42" stroke-width="2"/>
<path d="M540 556 q18 -32 50 -44" stroke-width="2"/>
</g>
<!-- lighthouse -->
<g>
<polygon points="378,190 422,190 450,470 350,470" fill="#e6edf1"/>
<polygon points="382,230 418,230 422,270 378,270" fill="#a8483c"/>
<polygon points="386,310 414,310 418,350 382,350" fill="#a8483c" transform="translate(0,0)"/>
<polygon points="374,310 426,310 430,350 370,350" fill="#a8483c"/>
<polygon points="366,390 434,390 438,430 362,430" fill="#a8483c"/>
<!-- shaded side -->
<polygon points="410,190 422,190 450,470 428,470" fill="#0b1319" opacity="0.22"/>
<!-- gallery -->
<rect x="362" y="176" width="76" height="16" fill="#16232d"/>
<rect x="366" y="170" width="68" height="8" fill="#0b1319"/>
<!-- lantern room -->
<rect x="378" y="136" width="44" height="36" fill="#16232d"/>
<rect x="382" y="140" width="36" height="28" fill="#f2d47e"/>
<g stroke="#16232d" stroke-width="2">
<line x1="394" y1="140" x2="394" y2="168"/>
<line x1="406" y1="140" x2="406" y2="168"/>
</g>
<!-- roof -->
<polygon points="400,110 428,138 372,138" fill="#a8483c"/>
<rect x="396" y="96" width="8" height="16" fill="#0b1319"/>
<!-- door -->
<path d="M390 470 v-30 a10 10 0 0 1 20 0 v30 z" fill="#0b1319"/>
<!-- base -->
<polygon points="344,470 456,470 466,490 334,490" fill="#16232d"/>
</g>
<!-- driving rain in front -->
<path opacity="0.4" stroke="#e6edf1" stroke-width="1.4" stroke-linecap="round" fill="none"
d="M70 0 l-24 66 M200 40 l-24 66 M330 -10 l-24 66 M470 60 l-24 66 M610 10 l-24 66 M740 50 l-24 66 M120 140 l-24 66 M260 180 l-24 66 M400 120 l-24 66 M540 200 l-24 66 M680 160 l-24 66 M790 120 l-24 66 M40 250 l-24 66 M180 300 l-24 66 M320 260 l-24 66 M460 320 l-24 66 M600 280 l-24 66 M730 330 l-24 66 M100 400 l-24 66 M240 440 l-24 66 M380 410 l-24 66 M520 460 l-24 66 M660 420 l-24 66 M780 470 l-24 66 M10 500 l-24 66 M150 520 l-24 66 M290 540 l-24 66 M430 505 l-24 66 M570 530 l-24 66 M710 515 l-24 66"/>
<path opacity="0.6" stroke="#e6edf1" stroke-width="2" stroke-linecap="round" fill="none"
d="M150 -20 l-34 96 M420 -10 l-34 96 M690 20 l-34 96 M60 180 l-34 96 M300 230 l-34 96 M560 150 l-34 96 M780 250 l-34 96 M190 360 l-34 96 M480 380 l-34 96 M700 400 l-34 96 M20 420 l-34 96 M350 470 l-34 96 M620 490 l-34 96"/>
<!-- gust lines sweeping across -->
<g fill="none" stroke="#e6edf1" opacity="0.22" stroke-linecap="round">
<path d="M0 240 q160 -46 320 -8 q90 22 180 -12" stroke-width="2"/>
<path d="M120 420 q170 -50 340 -8 q100 24 200 -14" stroke-width="2"/>
<path d="M240 500 q150 -40 300 -6" stroke-width="1.6"/>
</g>
</svg>