@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--forest:#153b32;--deep:#0d2923;--burgundy:#842d36;--gold:#d6b779;--antique:#ad8950;--cream:#f8f4eb;--ivory:#fffdf8;--ink:#253a31;--muted:#6b7169}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.75}h1,h2,h3,h4,.navbar-brand{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.08}h2{font-size:clamp(2.4rem,4.3vw,4.2rem)}h2 em,h1 em{color:var(--antique);font-weight:500}a{color:var(--burgundy)}a:hover{color:var(--forest)}.announcement{background:var(--burgundy);color:#fff5e2;text-align:center;font-size:10px;letter-spacing:.22em;text-transform:uppercase;padding:7px 10px}.ornament{color:var(--gold);padding:0 14px}.navbar{background:var(--deep);border-bottom:1px solid #d6b77940;min-height:86px;box-shadow:0 5px 20px #071c1833}.navbar-brand{display:flex;align-items:center;gap:12px;color:#f4e1ad!important;font-size:29px;font-weight:700;letter-spacing:.08em;line-height:.8}.brand-star{font-size:41px;color:var(--gold)}.brand-words{display:flex;flex-direction:column;gap:10px}.brand-words small{font:500 8px 'DM Sans',sans-serif;letter-spacing:.28em;color:#e4c88f}.navbar .nav-link{color:#e9e5d9!important;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:12px 12px!important}.navbar .nav-link:hover{color:var(--gold)!important}.navbar .admin-link{border:1px solid #d6b77977;border-radius:2px;padding:9px 14px!important;margin-left:7px}.navbar-toggler{border-color:#c5a46977}.eyebrow{font-size:10px;letter-spacing:.27em;font-weight:700;color:var(--antique);text-transform:uppercase;display:inline-block}.eyebrow.light{color:#e8c98d}.page-heading{text-align:center;margin:12px auto 50px}.page-title{font-size:clamp(3.3rem,6vw,5.8rem);font-weight:600;color:var(--forest);margin:10px 0}.heading-rule{display:flex;align-items:center;gap:18px;justify-content:center;color:var(--antique);font-size:20px}.heading-rule:before,.heading-rule:after{content:'';width:68px;height:1px;background:#bda878}.christmas-hero{background:radial-gradient(ellipse at 20% 30%,#2b5448 0%,var(--deep) 62%);color:#fff;overflow:hidden;position:relative}.christmas-hero:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#ebcf8b66 1px,transparent 1px);background-size:39px 39px;opacity:.16}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:60px;min-height:670px;padding-top:60px;padding-bottom:70px;position:relative}.hero-copy{z-index:2}.hero-copy h1{font-size:clamp(4rem,6.7vw,7.4rem);font-weight:600;letter-spacing:-.035em;line-height:.99;margin:28px 0}.hero-copy h1 em{color:#e9c88c}.gold-rule{width:74px;height:2px;background:var(--gold);margin:30px 0}.hero-copy>p{color:#e3e9df;max-width:530px;font-size:16px;line-height:1.95}.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:34px}.btn-gold{background:var(--gold);color:#17382e;border:1px solid var(--gold);padding:14px 27px;border-radius:2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.btn-gold:hover{background:#f0d89e;color:#17382e}.text-link{color:#f7e7c7;text-decoration:none;border-bottom:1px solid #e9c88c;padding-bottom:5px;font-size:12px;letter-spacing:.06em}.hero-signature{font:italic 19px 'Cormorant Garamond',serif;color:#d6bd8c;margin-top:58px}.hero-signature span{margin-left:12px}.hero-visual{position:relative;padding:22px 22px 0 0}.hero-frame{border:1px solid #d6b7798c;padding:13px;aspect-ratio:4/5;max-height:540px}.hero-frame img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block;filter:saturate(.92)}.hero-seal{position:absolute;bottom:0;left:-55px;transform:translateY(18%);background:var(--burgundy);border:5px double #dfb979;width:168px;height:168px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#f8e6c2;font-size:8px;letter-spacing:.12em;line-height:1.4;box-shadow:0 10px 25px #0004}.hero-seal span{color:#e7c788}.hero-seal strong{font:600 19px/1.05 'Cormorant Garamond',serif;letter-spacing:.02em;margin-top:9px}.hero-sparkle{position:absolute;color:#e9cc8d4d;font-size:65px}.sparkle-one{left:3%;top:9%}.sparkle-two{right:2%;bottom:8%}.intro-section{text-align:center;padding-top:110px;padding-bottom:110px;max-width:830px}.intro-section h2{margin:17px 0 25px}.intro-section p{max-width:680px;margin:auto;color:var(--muted);line-height:2}.small-divider{font-size:27px;color:var(--antique);margin-top:30px}.experience-section{background:#ede7db;padding:95px 0 110px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:44px}.section-heading h2{margin:12px 0 0}.section-heading>p{max-width:330px;color:var(--muted)}.experience-card{background:var(--ivory);height:100%;box-shadow:0 8px 30px #1c35240b}.experience-image{height:320px;overflow:hidden}.experience-image img{width:100%;height:100%;object-fit:cover;object-position:center 24%;transition:transform .4s}.experience-card:hover img{transform:scale(1.045)}.experience-content{padding:27px 30px 32px}.experience-content>span{font-size:10px;letter-spacing:.2em;color:var(--antique);font-weight:700}.experience-content h3{font-size:33px;margin:10px 0}.experience-content p{color:var(--muted);min-height:60px}.experience-content a{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}.experience-content a b{margin-left:12px}.story-section{padding-top:110px;padding-bottom:110px}.story-image{padding:13px;border:1px solid #bca77c;position:relative;max-width:480px;margin:auto}.story-image:before{content:'✧';position:absolute;right:-16px;top:-26px;color:var(--antique);font-size:52px}.story-image img{display:block;width:100%;height:550px;object-fit:cover;object-position:center 18%}.story-copy{padding-left:45px}.story-copy h2{margin:18px 0 25px}.story-copy p{color:var(--muted);max-width:570px;line-height:2}.btn-forest{background:var(--forest);color:#fff;border-radius:2px;padding:14px 27px;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.btn-forest:hover{background:#28594b;color:#fff}.closing-banner{text-align:center;background:linear-gradient(#123a32e8,#123a32e8),url('../uploads/gallery/santa-marc-curated-005.webp') center 35%/cover;padding:95px 15px;color:white}.closing-banner h2{font-size:clamp(3.5rem,6vw,6rem);margin:12px 0}.closing-banner p{color:#e6e3d8;margin-bottom:28px}.site-footer{text-align:center;background:var(--deep);color:#e7e5da;padding:62px 0 0}.footer-mark{font-size:45px;color:var(--gold)}.site-footer h2{font-size:44px;color:#fff4da}.site-footer p{color:#c5d2c9}.footer-cta{color:#e7c88c;display:inline-block;margin:15px 0 50px;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;font-size:11px}.footer-bottom{border-top:1px solid #ffffff22;display:flex;justify-content:space-between;gap:12px;padding:20px 0;font-size:10px;letter-spacing:.06em;color:#a9bbb0}.footer-bottom a{color:#d9c9a6}.about-feature{padding:20px 0 80px}.about-feature h2{margin:20px 0}.about-feature p{line-height:2;color:var(--muted)}.about-feature .lead{color:var(--forest);font-family:'Cormorant Garamond',serif;font-size:25px}.about-photo img{height:620px}.values-panel{background:#efe8db;padding:60px 30px;margin-bottom:40px}.values-panel h3{font-size:29px}.values-panel p{color:var(--muted)}.value-icon{color:var(--antique);font-size:35px}.gallery-intro{text-align:center;max-width:580px;margin:-20px auto 35px;color:var(--muted)}.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:40px}.gallery-filter{border:1px solid #c7b898;background:transparent;padding:10px 17px;color:var(--forest);font-size:11px;letter-spacing:.07em}.gallery-filter.active,.gallery-filter:hover{background:var(--forest);color:#fff}.gallery-tile[hidden]{display:none!important}.gallery-figure{margin:0;background:#fff;padding:9px;box-shadow:0 8px 25px #0000000b;height:100%}.gallery-figure img{width:100%;height:370px;object-fit:cover;object-position:center 22%;display:block}.gallery-figure figcaption{padding:15px 11px 9px}.gallery-figure figcaption span{display:block;color:var(--antique);font-size:9px;letter-spacing:.2em;text-transform:uppercase}.gallery-figure figcaption strong{font:600 25px 'Cormorant Garamond',serif}.card{border:1px solid #e6dfd1;border-radius:5px;box-shadow:0 7px 25px #0d292309}.btn-primary{background:var(--burgundy);border-color:var(--burgundy)}.btn-primary:hover{background:#6a202b;border-color:#6a202b}.btn-outline-primary{color:var(--burgundy);border-color:var(--burgundy)}.btn-outline-primary:hover{background:var(--burgundy);border-color:var(--burgundy)}.stat{font-size:2rem;font-weight:700;color:var(--forest)}.table-responsive{background:white;border-radius:5px}.form-control,.form-select{border-radius:3px}.form-control:focus,.form-select:focus{border-color:var(--antique);box-shadow:0 0 0 .2rem #d6b77940}.admin-site .page-title{font-size:clamp(2.6rem,4vw,4rem)}.admin-site .page-heading{margin-bottom:30px}
@media(max-width:1199px){.navbar .nav-link{padding:10px!important}.navbar .admin-link{margin:8px 0}.hero-grid{gap:30px}.hero-seal{left:-24px}}@media(max-width:991px){.hero-grid{grid-template-columns:1fr;gap:50px;padding-top:80px}.hero-copy{text-align:center}.hero-copy>p{margin:auto}.hero-actions{justify-content:center}.gold-rule{margin:30px auto}.hero-visual{max-width:510px;margin:auto;width:100%}.hero-signature{margin-top:35px}.section-heading{display:block}.section-heading>p{margin-top:25px}.story-copy{padding-left:12px;text-align:center}.story-copy p{margin:auto}.story-image img{height:480px}}@media(max-width:575px){.announcement{font-size:8px;letter-spacing:.12em}.ornament{padding:0 5px}.navbar{min-height:73px}.navbar-brand{font-size:23px}.brand-star{font-size:33px}.brand-words small{font-size:7px}.hero-grid{padding-top:57px;padding-bottom:95px}.hero-copy h1{font-size:clamp(3.7rem,13vw,5.4rem)}.hero-copy>p{font-size:14px}.hero-visual{padding:10px 15px 0 20px}.hero-seal{width:115px;height:115px;left:-7px;font-size:6px}.hero-seal strong{font-size:15px}.intro-section,.story-section{padding-top:75px;padding-bottom:75px}.experience-section{padding:70px 0}.experience-image{height:280px}.gallery-figure img{height:260px}.footer-bottom{flex-direction:column;align-items:center}.page-heading{margin-bottom:32px}.page-title{font-size:3.2rem}.form-control,.form-select{min-height:44px}}
