:root {
    --c-highlight: #d6921d;
    --c-text: #171008;
}

button,
hr,
input {
    overflow: visible;
}
audio,
canvas,
progress,
video {
    display: inline-block;
}
progress,
sub,
sup {
    vertical-align: baseline;
}
html {
    font-family: sans-serif;
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
menu,
article,
aside,
details,
footer,
header,
nav,
section {
    display: block;
}
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}
figcaption,
figure,
main {
    display: block;
}
figure {
    margin: 1em 40px;
}
hr {
    box-sizing: content-box;
    height: 0;
}
code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}
a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
}
a:active,
a:hover {
    outline-width: 0;
}
abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}
b,
strong {
    font-weight: bolder;
}
dfn {
    font-style: italic;
}
mark {
    background-color: #ff0;
    color: #000;
}
small {
    font-size: 80%;
}
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
}
sub {
    bottom: -0.25em;
}
sup {
    top: -0.5em;
}
audio:not([controls]) {
    display: none;
    height: 0;
}
img {
    border-style: none;
    max-width: 100%;
    display: block;
}
svg:not(:root) {
    overflow: hidden;
}
button,
input,
optgroup,
select,
textarea {
    font-family: sans-serif;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}
button,
select {
    text-transform: none;
}
[type="submit"],
[type="reset"],
button,
html [type="button"] {
    -webkit-appearance: button;
}
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0;
}
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring,
button:-moz-focusring {
    outline: ButtonText dotted 1px;
}
fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}
legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}
progress {
}
textarea {
    overflow: auto;
}
[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}
[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}
summary {
    display: list-item;
}
[hidden],
template {
    display: none;
}

:root {
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
        Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

html {
    scroll-behavior: smooth;
}

body,
input,
textarea {
    font-size: 24px;
    line-height: 1.4;
    word-break: break-word;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    background: #fff;
}

body {
    color: var(--c-text);
    margin: 0;
}

main {
    width: 100%;
    margin: 0 auto;
}

section {
    margin: 0 auto;
}

section:nth-child(2n) {
    background-color: rgb(250, 250, 250);
}

.section-inner {
    padding: 1em 0 2em;
    max-width: 900px;
    margin: auto;
    border-bottom: 2px solid #888;
}

.standout {
    background-color: #fafafa;
    padding: 24px;
}

a,
a:visited {
    color: var(--c-highlight);
}

.logo {
    max-width: 200px;
}

h1,
.logo {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

h1 {
    margin-bottom: 1.5em;
    line-height: 1.2;
}

ul {
    margin-top: 0;
}

.centered {
    text-align: center;
}

.spaced,
p.spaced,
.galleries > p.spaced {
    margin-top: 2em;
    margin-bottom: 2em;
}

.button {
    color: #fff;
    background: var(--c-highlight);
    display: inline-block;
    text-decoration: none;
    text-align: center;
    border-radius: 1em;
    padding: 0.25em 1em;
    font-weight: bold;
}

.page-header {
    background-color: var(--c-text);
    padding-top: 2em;
    padding-bottom: 2em;
}

.page-header h1 {
    color: #fff;
    margin: 0 auto;
    line-height: 1.3;
}
.galleries > h4 {
    margin-bottom: 10px;
}

.galleries > p {
    margin-top: 0;
}

.gallery-item iframe {
    width: 100% !important;
}

.gallery-item img {
    width: 100%;
}

.legal {
    font-size: 0.75em;
}

h1 a,
h1 a:visited {
    text-decoration: none;
    color: white;
}

.photo-strip {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    position: relative;
}

.photo-container {
    display: flex;
    gap: 10px;
    padding: 10px 0 20px;
    min-width: max-content;
}

.photo-thumb {
    flex: 0 0 auto;
    width: 33vw;
    height: 33vw;
    max-width: 200px;
    max-height: 200px;
    background-size: cover;
    background-position: center;
    scroll-snap-align: start;
    display: block;
}

.arrow-indicator {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2em;
    background: rgba(255, 255, 255, 0.7);
    border: none;
    padding: 0.2em 0.4em;
    cursor: pointer;
    z-index: 10;
    border-radius: 0.3em 0 0 0.3em;
    box-shadow: -2px 0 4px rgba(0, 0, 0, 0.2);
}

.newsletter-form {
    width: 100%;
    margin-top: 2em;
    background: var(--c-highlight);
    padding: 1em 1.5em;
}

.newsletter-form label {
    display: block;
    margin-bottom: 0.5em;
    font-weight: bold;
}

.newsletter-row {
    display: flex;
    gap: 0.5em;
}

.newsletter-row input {
    flex: 1;
    padding: 0.6em;
    font-size: 1em;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.newsletter-row button {
    padding: 0.6em 1em;
    font-size: 1em;
    background-color: #333;
    color: #fff;
    border: none;
    border-radius: 4px;
    white-space: nowrap;
}

.success-message,
.error-message {
    margin-top: 1em;
    font-size: 0.9em;
}

.success-message {
    color: green;
}
.error-message {
    color: red;
}

.instagram {
    margin: 2em 0;
    text-align: center;
}

.instagram a {
    display: inline-flex;
    align-items: center;
    gap: 0.6em;
    padding: 0.8em 1.2em;
    background-color: #fdfdfd;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.3em;
    color: #000;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    transition: all 0.2s ease-in-out;
}

.instagram a:hover {
    background-color: #f0f0f0;
    border-color: #888;
}

.instagram img {
    height: 32px;
    width: 32px;
}

@keyframes pulse {
    0%, 100% { opacity: 0.3; transform: translateY(-50%) translateX(0); }
    50% { opacity: 1; transform: translateY(-50%) translateX(5px); }
}

@media (max-width: 600px) {
    body {
        font-size: 20px;
    }
    .gallery {
        grid-template-columns: repeat(1, 1fr);
    }
    .newsletter-row {
        flex-direction: column;
    }

    .newsletter-row input,
    .newsletter-row button {
        width: 100%;
    }
}

@media (max-width: 940px) {
    .section-inner {
        padding: 1em 20px 2em;
    }
}
