*{box-sizing:border-box}
:root{--navy:#0c1923;--navy2:#132633;--cream:#f2ede4;--tan:#b77a3d;--wood:#7b5437;--ink:#1a252d}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
img{display:block;max-width:100%}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:20;background:#f8f5ef;padding:18px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #ddd6cb}
.brand{text-decoration:none;line-height:.85}.brand .script{display:block;font:italic 32px Georgia,serif}.brand .caps{display:block;font:18px Arial,sans-serif;letter-spacing:2.5px;margin-top:7px}
nav{display:flex;gap:22px;flex-wrap:wrap}nav a{text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.5px}
.hero{min-height:620px;background:linear-gradient(100deg,#081520 0%,#13222d 52%,#3d302a 100%);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;color:white;padding:70px 8%;gap:55px}
.hero-copy{max-width:650px}.eyebrow{letter-spacing:3px;font-size:12px;font-weight:800;color:#8a4f1d;margin:0 0 14px}
h1,h2{font-family:Georgia,serif;line-height:1.08}h1{font-size:62px;margin:0 0 18px}h2{font-size:42px;margin:0 0 20px}.hero-text{font-size:18px;max-width:620px;color:#e7e7e7}
.buttons{margin-top:28px}.btn{display:inline-block;padding:14px 20px;margin:0 9px 10px 0;text-decoration:none;font-weight:800;font-size:12px;letter-spacing:.2px}.primary{background:#6b3a16;color:white}.secondary{border:1px solid #ddd;color:white}
.hero-art{display:flex;justify-content:center}.hero-art img{width:min(480px,100%);max-height:520px;object-fit:contain;filter:drop-shadow(0 14px 28px rgba(0,0,0,.45));border-radius:6px}
.feature-strip{background:var(--navy);color:white;display:flex;justify-content:space-around;gap:22px;flex-wrap:wrap;padding:20px 5%;font-size:11px;font-weight:800}
.intro,.process{padding:40px 10%;text-align:center}.intro p:not(.eyebrow){max-width:900px;margin:0 auto;font-size:17px}
.gallery-section{background:var(--navy);color:white;padding:75px 7%}.gallery-section>p,.gallery-section>h2{text-align:center}.gallery-grid{max-width:1400px;margin:35px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
figure{margin:0;background:#172b38;border:1px solid rgba(255,255,255,.08);overflow:hidden}figure img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#080d10}figcaption{padding:18px 18px 22px}figcaption strong{display:block;font:24px Georgia,serif;margin-bottom:7px}figcaption span{color:#cfd6da;font-size:14px}
.steps{max-width:1100px;margin:35px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.steps div{background:white;padding:25px 18px;border:1px solid #ddd4c8}.steps b{display:block;font:30px Georgia,serif;color:var(--tan)}.steps span{font-weight:700}
.story{background:#dfd1bd;padding:70px 9%;display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}.story-copy p:not(.eyebrow){font-size:17px}.story-image img{width:100%;max-height:420px;object-fit:contain;border-radius:4px}
footer{background:#07131b;color:white;text-align:center;padding:65px 8%}footer h2{margin-bottom:24px}footer p{margin:8px 0}footer a{color:#f2d1aa}.copyright{margin-top:30px!important;color:#9cadb7;font-size:12px}
@media(max-width:900px){.hero,.story{grid-template-columns:1fr}.hero{padding-top:55px}.hero-art{order:-1}.gallery-grid{grid-template-columns:repeat(2,1fr)}h1{font-size:48px}.site-header{position:static}}
@media(max-width:640px){.site-header{justify-content:center;text-align:center}nav{justify-content:center;gap:12px}.hero{padding:48px 7%}.hero-art img{max-height:360px}h1{font-size:40px}h2{font-size:34px}.gallery-grid,.steps{grid-template-columns:1fr}.feature-strip{font-size:10px}.intro,.process{padding:55px 7%}}

.order-section{
  background:var(--cream);
  padding:80px 24px;
}

.order-container{
  max-width:850px;
  margin:0 auto;
}

.order-container h2{
  font-family:Georgia,serif;
  font-size:46px;
  margin:8px 0 12px;
  color:var(--ink);
  text-align:center;
}

.order-container > p{
  max-width:700px;
  margin:0 auto 32px;
  text-align:center;
}

.order-container .eyebrow{
  text-align:center;
  color:var(--accent);
  font-weight:700;
  letter-spacing:2px;
  font-size:13px;
}

.order-form{
  background:white;
  padding:34px;
  border:1px solid #ddd4c8;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  display:grid;
  gap:10px;
}

.order-form label{
  font-weight:700;
  margin-top:8px;
}

.order-form input,
.order-form select,
.order-form textarea{
  width:100%;
  padding:13px 14px;
  border:1px solid #bfb7ad;
  background:#fff;
  color:var(--ink);
  font:inherit;
  border-radius:3px;
}

.order-form textarea{
  resize:vertical;
}

.order-form input:focus,
.order-form select:focus,
.order-form textarea:focus{
  outline:2px solid var(--accent);
  outline-offset:1px;
}

.order-form small{
  color:#666;
  margin-bottom:10px;
}

.order-form button{
  margin-top:18px;
  border:0;
  cursor:pointer;
  justify-self:start;
}

@media(max-width:600px){
  .order-section{
    padding:55px 18px;
  }

  .order-container h2{
    font-size:36px;
  }

  .order-form{
    padding:22px;
  }

  .order-form button{
    width:100%;
  }
}
/* Owners / Our Story image */
.owners-story {
    padding: 0;
    margin: 0 auto;
    background: #f2ede4;
    text-align: center;
    position: relative;
}

.owners-story img {
  display: block;
  width: 100%;
  max-width: 1400px;
  height: auto;
  margin: 0 auto;
}

@media (max-width: 700px) {
  .owners-story img {
    width: 100%;
    height: auto;
  }
}
.owners-story-link {
  display: block;
}
.owners-story {
  position: relative;
}

.our-story-button {
  position: absolute;
  left: 3%;
  bottom: 7%;
  width: 18%;
  height: 8%;
  display: block;
  cursor: pointer;
  z-index: 5;
}

/* ACCESSIBLE PRIMARY BUTTONS */
.btn.primary,
button.btn.primary {
    background: #5a2f10;
    color: #ffffff;
}

/* FULL IMAGE GALLERY - DO NOT CROP */
.gallery-grid figure {
    display: flex;
    flex-direction: column;
    background: #132633;
    overflow: hidden;
}

.gallery-grid figure img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
    background: #071820;
    display: block;
}

.gallery-grid figcaption {
    padding: 12px;
    margin-top: auto;
}/* ===== POLISHED FULL-IMAGE GALLERY ===== */

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    align-items: stretch;
}

.gallery-grid figure {
    margin: 0;
    background: #071820;
    border: 1px solid #243842;
    display: flex;
    flex-direction: column;
    min-height: 360px;
}

.gallery-grid figure img {
    width: 100%;
    height: 310px;
    object-fit: contain;
    object-position: center;
    display: block;
    padding: 8px;
    box-sizing: border-box;
}

.gallery-grid figcaption {
    margin-top: auto;
    padding: 10px;
    min-height: 24px;
    background: #132d3a;
    color: #ffffff;
    font-size: 16px;
}

/* Tablet */
@media (max-width: 900px) {
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Phone */
@media (max-width: 600px) {
    .gallery-grid {
        grid-template-columns: 1fr;
    }

    .gallery-grid figure img {
        height: auto;
        max-height: 400px;
    }
}/* ACCESSIBLE EYEBROW COLORS */
.intro .eyebrow,
.process .eyebrow,
.story .eyebrow {
    color: #70431f;
}

.hero .eyebrow,
.gallery-section .eyebrow,
footer .eyebrow {
    color: #e0a867;
}/* ACCESSIBLE PRIMARY BUTTONS */
.btn.primary,
button.btn.primary {
    background: #4a260d;
    color: #ffffff;
}

/* GALLERY LIGHTBOX */
.gallery-lightbox {
    display: none;
    position: fixed;
    z-index: 1000;
    inset: 0;
    background: rgba(0, 0, 0, 0.92);
    align-items: center;
    justify-content: center;
    padding: 30px;
}

.gallery-lightbox.active {
    display: flex;
}

.gallery-lightbox img {
    max-width: 90vw;
    max-height: 88vh;
    width: auto;
    height: auto;
    object-fit: contain;
}

.lightbox-close {
    position: absolute;
    top: 20px;
    right: 25px;
    background: transparent;
    border: 0;
    color: #ffffff;
    font-size: 46px;
    line-height: 1;
    cursor: pointer;
    css
}


/* GALLERY FILTER BUTTONS */
.gallery-filters {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 1100px;
    margin: 25px auto 35px;
}

.gallery-filter {
    background: transparent;
    color: #ffffff;
    border: 1px solid #e0a867;
    padding: 10px 16px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    cursor: pointer;
}

.gallery-filter:hover,
.gallery-filter.active {
    background: #e0a867;
    color: #07131b;
    css
}/* HEADER LOGO SIZE */
.header-logo {
    width: 220px;
    height: auto;
    display: block;
}

.brand {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

@media (max-width: 600px) {
    .header-logo {
        width: 170px;
    }
}/* GALLERY HOVER ANIMATION */
.gallery-grid figure {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-grid figure:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
}

.gallery-grid figure img {
    transition: transform 0.35s ease;
}

.gallery-grid figure:hover img {
    transform: scale(1.03);
}/* SCROLL REVEAL ANIMATION */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}/* HERO ENTRANCE ANIMATION */
.hero-copy {
    animation: heroSlideIn 0.8s ease-out both;
}

.hero-art {
    animation: heroImageIn 0.9s ease-out 0.15s both;
}

@keyframes heroSlideIn {
    from {
        opacity: 0;
        transform: translateX(-35px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes heroImageIn {
    from {
        opacity: 0;
        transform: translateX(35px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}/* MOBILE REVEAL FIX */
@media (max-width: 600px) {
    .reveal {
        opacity: 1 !important;
        transform: none !important;
    }
    
    /* BUY NOW BUTTON */
.buy-now-btn {
    display: inline-block;
    margin-top: 8px;
    padding: 9px 14px;
    background: #e0a867;
    color: #07131b;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: 0.5px;
    border-radius: 3px;
    transition: transform 0.2s ease, background 0.2s ease;
}

.buy-now-btn:hover {
    background: #e0a867;
    transform: translateY(-2px);
}
}