*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f7f1;color:#19372b;font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit}header{background:#fffdf7;position:sticky;top:0;z-index:30;box-shadow:0 2px 12px #1534231c}.top{max-width:1120px;margin:auto;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{font-family:Georgia,serif;font-size:24px;font-weight:bold;color:#9d0b18;text-decoration:none;line-height:1}.brand small{display:block;font:700 11px system-ui;letter-spacing:2px;color:#13532e;margin-top:5px}.nav{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.nav a{font-size:13px;font-weight:750;text-decoration:none}.btn,.nav .nav-cta{background:#b20d1e;color:white;display:inline-block;border-radius:40px;padding:13px 22px;text-decoration:none;font-weight:800;box-shadow:0 5px 0 #770615;cursor:pointer;border:0;text-align:center}.nav .nav-cta{padding:10px 15px;box-shadow:none}.btn.gold{background:#f6d27a;color:#21432d;box-shadow:0 5px 0 #c39b44}.hero{background:radial-gradient(circle at 80% 15%,#e3f1e9 0,transparent 40%),linear-gradient(#f4faf8,#e4f0e9);position:relative;overflow:hidden;border-bottom:8px solid #a10a1b}.hero:before{content:'✦  ❄    ✧    ❄     ✦     ❄     ✧';position:absolute;top:8px;left:0;right:0;text-align:center;letter-spacing:25px;color:#a6c8c0;font-size:23px}.garland{background:#123e2b;color:#fff4d8;text-align:center;padding:9px 12px;letter-spacing:5px;font-size:17px}.wrap{max-width:1120px;margin:auto;padding:40px 20px}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;padding-top:55px;padding-bottom:65px}.eyebrow{color:#a20e20;text-transform:uppercase;letter-spacing:2px;font-size:13px;font-weight:900}.hero h1{font:700 clamp(44px,6vw,78px)/1.04 Georgia,serif;color:#aa0b1b;margin:15px 0}.hero h1 em{color:#165637;font-weight:600}.lead{font-size:19px;color:#365247;max-width:540px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:25px}.video-frame{border:9px solid white;border-radius:23px;box-shadow:0 18px 50px #12352235;overflow:hidden;background:#173d2d}.video-frame video{display:block;width:100%;max-height:460px;object-fit:contain;background:#111}.video-caption{background:#123e2b;color:white;padding:11px 15px;text-align:center;font-weight:700;font-size:13px}.section{padding:48px 0}.section h2{font:700 clamp(30px,4vw,48px)/1.12 Georgia,serif;margin:8px 0 17px;color:#165034}.center{text-align:center}.center p{max-width:670px;margin:0 auto 25px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px}.card{background:white;border-radius:19px;overflow:hidden;box-shadow:0 8px 28px #183c2c17;border:1px solid #e5e5d8}.card-art{min-height:140px;background:linear-gradient(140deg,#123e2b,#286343);display:flex;align-items:center;justify-content:center;font-size:60px;color:white}.card:nth-child(2) .card-art{background:linear-gradient(130deg,#9d0b1d,#d34b42)}.card:nth-child(3) .card-art{background:linear-gradient(130deg,#a98440,#e5c77f)}.card-body{padding:22px}.card h3{font:700 24px Georgia,serif;margin:0 0 8px}.card p{color:#4e6157;margin:0 0 16px}.card a{font-weight:800;color:#a30d1d}.cream{background:#fffdf5}.green{background:#123e2b;color:white}.green h2{color:#f6d27a}.green p{color:#e2efe7}.ribbon{background:#b20d1e;color:white;padding:30px 20px;text-align:center}.ribbon h2{font:700 32px Georgia,serif;margin:0 0 10px}.ribbon p{margin:0 0 20px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.step{padding:23px;background:white;border-radius:16px;border-top:5px solid #b20d1e}.step b{color:#ad1021;font-size:27px}.step h3{margin:6px 0}.source{background:#fff;border:1px solid #e7e2d4;border-radius:15px;padding:22px;margin:15px 0}.source a{color:#a20e20;font-weight:700;overflow-wrap:anywhere}.notice{background:#fff4d9;border-left:5px solid #c49840;padding:16px;border-radius:9px;margin:20px 0;color:#5b4b29}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:6px;font-weight:700}.field input,.field select,.field textarea{border:1px solid #b8c4b9;border-radius:10px;padding:13px;font:inherit;background:white}.field.wide{grid-column:1/-1}footer{background:#0d2e20;color:#d6e8d9;text-align:center;padding:28px 18px;font-size:13px}.sticky-nominate{display:none}.page-intro{background:linear-gradient(120deg,#164e35,#0d3324);color:white;text-align:center;padding:56px 18px}.page-intro h1{font:700 50px Georgia,serif;margin:5px 0;color:#f6d27a}.page-intro p{max-width:650px;margin:auto}.mobile-preview-bar{background:#8f0a19;color:white;text-align:center;font-weight:800;padding:8px}.photo-placeholder{background:#e7ede7;border:2px dashed #a6baaa;border-radius:12px;padding:30px;text-align:center;color:#44614e}.tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:15px;background:#fffdf7}.tabs a{padding:8px 13px;border-radius:25px;background:#e7eee7;text-decoration:none;font-weight:700;font-size:13px}@media(max-width:740px){.top{display:block;text-align:center;padding:12px}.brand{display:inline-block;font-size:23px}.nav{justify-content:center;margin-top:12px;gap:11px}.nav a{font-size:12px}.nav .nav-cta{display:none}.hero-grid{grid-template-columns:1fr;padding-top:40px;gap:24px}.hero h1{font-size:47px}.lead{font-size:17px}.wrap{padding:32px 17px}.cards,.steps{grid-template-columns:1fr}.card-art{min-height:105px}.section{padding:20px 0}.form-grid{grid-template-columns:1fr}.page-intro h1{font-size:38px}.sticky-nominate{display:block;position:fixed;bottom:0;left:0;right:0;z-index:50;background:#a40b1b;color:white;text-align:center;padding:13px;text-decoration:none;font-weight:900;box-shadow:0 -3px 16px #0003}footer{padding-bottom:82px}.hero:before{letter-spacing:8px}.video-frame video{max-height:370px}}
/* Production mobile accessibility adjustments */
html{scroll-behavior:smooth} a:focus-visible,button:focus-visible{outline:3px solid #e5b75a;outline-offset:3px}
@media(max-width:720px){body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.sticky-nominate{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.video-frame video{width:100%;height:auto;display:block}}

/* Christmas Memories gallery sizing */
.gallery-grid,
.memory-grid,
.memories-grid,
.photo-grid,
.gallery,
.memories {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.gallery-grid img,
.memory-grid img,
.memories-grid img,
.photo-grid img,
.gallery img,
.memories img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 190px;
    object-fit: cover;
    border-radius: 12px;
}

.gallery-grid video,
.memory-grid video,
.memories-grid video,
.photo-grid video,
.gallery video,
.memories video {
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 12px;
}

@media (max-width: 700px) {
    .gallery-grid,
    .memory-grid,
    .memories-grid,
    .photo-grid,
    .gallery,
    .memories {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .gallery-grid img,
    .memory-grid img,
    .memories-grid img,
    .photo-grid img,
    .gallery img,
    .memories img {
        height: 125px;
    }
}

/* Christmas Memories - compact photo gallery */
.memory-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    max-width: 1050px;
    margin: 24px auto 45px;
}

.memory-grid .memory-photo {
    display: block;
    min-width: 0;
    overflow: hidden;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 3px 12px rgba(0,0,0,0.12);
    text-decoration: none;
}

.memory-grid .memory-photo img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 165px;
    object-fit: cover;
    border-radius: 12px 12px 0 0;
}

.memory-grid .memory-photo span {
    display: block;
    padding: 9px;
    text-align: center;
    font-size: 12px;
    color: #244634;
}

.memory-videos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    max-width: 1050px;
    margin: 24px auto 45px;
}

.memory-videos .memory-video {
    min-width: 0;
    overflow: hidden;
}

.memory-videos video {
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    border-radius: 12px;
    background: #111;
}

@media (max-width: 700px) {
    .memory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .memory-grid .memory-photo img {
        height: 115px;
    }

    .memory-videos {
        grid-template-columns: 1fr;
        max-width: 420px;
    }
}
