.dh-stage{position:relative;width:100%;height:100vh;height:100dvh;box-sizing:border-box;padding:2vh 20px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse 60% 40% at 50% 92%,rgba(230,137,47,.35),transparent 70%),linear-gradient(180deg,#131b33,#4a2f52 55%,#e6892f);background-size:cover;background-position:center}.dh-stage.has-photo-bg{background-image:linear-gradient(180deg,#131b33b8,#4a2f528c 55%,#e6892f59),var(--dh-page-bg, none)}.dh-stars{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1.5px 1.5px at 12% 18%,#fff7e0 100%,transparent),radial-gradient(1px 1px at 26% 10%,#fff7e0 100%,transparent),radial-gradient(1.5px 1.5px at 40% 24%,#fff7e0 100%,transparent),radial-gradient(1px 1px at 64% 8%,#fff7e0 100%,transparent),radial-gradient(1.5px 1.5px at 78% 20%,#fff7e0 100%,transparent),radial-gradient(1px 1px at 88% 12%,#fff7e0 100%,transparent),radial-gradient(1px 1px at 55% 30%,#fff7e0 100%,transparent),radial-gradient(1.5px 1.5px at 8% 34%,#fff7e0 100%,transparent);opacity:.8}.dh-content{position:relative;z-index:1;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(20px,4vw,56px)}.dh-left,.dh-right{display:flex;flex-direction:column}.dh-left,.dh-right{align-items:flex-start;text-align:left}.dh-center{display:flex;justify-content:center}.dh-plaque{margin-bottom:0}.dh-title{display:block;font-family:Fraunces,serif;font-weight:600;font-size:clamp(28px,3.4vw,44px);line-height:1.05;color:orange;text-shadow:0 2px 10px rgba(0,0,0,.5)}.dh-subtitle{color:#fff}.dh-quote{display:block;font-family:Fraunces,serif;font-style:italic;font-weight:400;font-size:clamp(14px,1.5vw,16.5px);line-height:1.55;color:#fff;max-width:34ch;margin-top:14px;opacity:.92}.dh-archwrap{width:clamp(180px,min(42vw,67.9vh),480px);margin:0 auto;filter:drop-shadow(0 20px 45px rgba(0,0,0,.55))}.dh-frame{position:relative;width:100%;aspect-ratio:5 / 7}.dh-scene{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:44% 44% 4px 4px/28% 28% 3px 3px;overflow:hidden;background:#3e2f2a}.dh-scene-hills{position:absolute;bottom:14%;left:-10%;width:120%;height:38%;background:radial-gradient(ellipse 30% 100% at 15% 100%,#2c3f2a 0%,transparent 70%),radial-gradient(ellipse 40% 100% at 55% 100%,#23331f 0%,transparent 70%),radial-gradient(ellipse 35% 100% at 90% 100%,#2c3f2a 0%,transparent 70%)}.dh-scene-river{position:absolute;bottom:6%;left:0;width:100%;height:9%;background:linear-gradient(90deg,#f0a94f0d,#f0a94f8c,#f0a94f0d);filter:blur(1px)}.dh-scene-horse{position:absolute;bottom:15%;left:36%;width:22%;opacity:.85}.dh-hole{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:44% 44% 4px 4px/28% 28% 3px 3px;overflow:hidden;display:flex}.dh-door{position:relative;width:50%;height:100%;transform-style:preserve-3d;transition:transform 1.3s cubic-bezier(.16,.84,.28,1.14),filter 1.3s ease;cursor:pointer}.dh-door-left{transform-origin:left center}.dh-door-right{transform-origin:right center}.dh-door-left.is-open{transform:rotateY(-112deg);filter:brightness(.55)}.dh-door-right.is-open{transform:rotateY(112deg);filter:brightness(.55)}.dh-panel{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,#ffa15c 0,#ffa15c 2px,#e35d12 2px,#e35d12 9px,#f3813a 9px,#f3813a 11px),linear-gradient(180deg,#f3813a,#e35d12 60%,#6b2708);box-shadow:inset 0 0 0 3px #6b2708,inset 0 2px 4px #ffffff26}.dh-lattice{position:absolute;top:8%;left:14%;right:14%;height:26%;border-radius:4px;background:repeating-linear-gradient(45deg,transparent 0 8px,rgba(212,164,65,.55) 8px 9.5px,transparent 9.5px 17px),repeating-linear-gradient(-45deg,transparent 0 8px,rgba(212,164,65,.55) 8px 9.5px,transparent 9.5px 17px),#6b2708;box-shadow:inset 0 0 0 2px #8a6423,inset 0 0 10px #00000080}.dh-lower-panel{position:absolute;left:12%;right:12%;bottom:8%;top:40%;border-radius:3px;background:linear-gradient(180deg,#e35d12,#6b2708);box-shadow:inset 0 0 0 2px #6b2708,inset 0 3px 6px #0006,inset 0 0 0 5px #d4a44126}.dh-studs{position:absolute;left:6%;right:6%;height:10px;background:radial-gradient(circle,#f0c876 0%,#d4a441 45%,#8a6423 65%,transparent 68%);background-repeat:repeat-x;background-size:18px 10px;opacity:.95}.dh-studs.top{top:35%}.dh-studs.bottom{bottom:4%}.dh-handle{position:absolute;top:50%;width:22%;max-width:30px;aspect-ratio:1;border-radius:50%;transform:translateY(-50%);background:radial-gradient(circle at 35% 30%,#f0c876,#d4a441 55%,#8a6423);box-shadow:0 2px 6px #00000080,inset 0 0 0 3px #6b2708}.dh-handle:after{content:"";position:absolute;top:28%;right:28%;bottom:28%;left:28%;border-radius:50%;background:#6b2708;box-shadow:inset 0 0 0 2px #8a6423}.dh-door-left .dh-handle{right:10%}.dh-door-right .dh-handle{left:10%}.dh-services{position:absolute;z-index:5;top:30%;left:6%;right:6%;bottom:6%;display:flex;flex-wrap:wrap;align-content:flex-end;justify-content:center;gap:8px;pointer-events:none}.dh-service-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;width:30%;min-width:74px;aspect-ratio:3 / 4;padding:10px 6px;overflow:hidden;border-radius:8px;border:1px solid rgba(212,164,65,.5);text-decoration:none;color:#f4e8d3;opacity:0;pointer-events:none;transform:translateY(-170px) scale(.3) rotate(-8deg);transition:transform .75s cubic-bezier(.34,1.56,.64,1),opacity .4s ease,border-color .2s ease;box-shadow:0 6px 16px #00000073}.dh-service-photo{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;transition:transform .4s ease}.dh-service-card:hover .dh-service-photo{transform:scale(1.08)}.dh-service-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(to top,#140a05e0,#140a0559 55%,#140a050d);opacity:0;transition:opacity .35s ease}.dh-service-body{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:4px;opacity:0;transform:translateY(140%);transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s ease}.dh-service-body svg{width:18px;height:18px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}@media (hover: hover) and (pointer: fine){.dh-service-card:hover .dh-service-overlay{opacity:1}.dh-service-card:hover .dh-service-body{opacity:1;transform:translateY(0)}}@media not all and (hover: hover){.dh-service-overlay{opacity:1}.dh-service-body{opacity:1;transform:translateY(0)}}.dh-photo-events{background:linear-gradient(160deg,#2b2050,#4a2f7a 45%,#b5762e)}.dh-photo-weddings{background:linear-gradient(160deg,#6e2b3a,#b8546b 45%,#e9b7a0)}.dh-photo-birthdays{background:linear-gradient(160deg,#1f6e6a,#e0a52e 55%,#d9542e)}.dh-photo-cutlery{background:linear-gradient(160deg,#4a2f10,#a8632a,#e8c58a)}.dh-photo-farm-house{background:linear-gradient(160deg,#1b3a2a,#3f6b3f 45%,#e6892f)}.dh-service-card:nth-child(1){transform:translate(90px,-170px) scale(.3) rotate(-14deg)}.dh-service-card:nth-child(2){transform:translate(45px,-170px) scale(.3) rotate(-8deg)}.dh-service-card:nth-child(3){transform:translateY(-170px) scale(.3) rotate(0)}.dh-service-card:nth-child(4){transform:translate(-45px,-170px) scale(.3) rotate(8deg)}.dh-service-card:nth-child(5){transform:translate(-90px,-170px) scale(.3) rotate(14deg)}.dh-services.is-open .dh-service-card{opacity:1;pointer-events:auto;transform:translate(0) scale(1) rotate(0);animation:dh-bob 3.6s ease-in-out infinite;animation-play-state:running}.dh-services.is-open .dh-service-card:nth-child(1){transition-delay:.55s;animation-delay:1.4s}.dh-services.is-open .dh-service-card:nth-child(2){transition-delay:.66s;animation-delay:1.5s}.dh-services.is-open .dh-service-card:nth-child(3){transition-delay:.77s;animation-delay:1.6s}.dh-services.is-open .dh-service-card:nth-child(4){transition-delay:.88s;animation-delay:1.7s}.dh-services.is-open .dh-service-card:nth-child(5){transition-delay:.99s;animation-delay:1.8s}@keyframes dh-bob{0%,to{transform:translate(0) scale(1) rotate(0)}50%{transform:translateY(-6px) scale(1) rotate(0)}}.dh-services.is-open .dh-service-card:hover{border-color:#f0c876;animation-play-state:paused;transform:translateY(-3px) scale(1) rotate(0)}.dh-service-name{font-family:Space Mono,monospace;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:#f7ecd6;text-shadow:0 1px 3px rgba(0,0,0,.6)}.dh-tagline{font-family:Fraunces,serif;font-style:italic;font-size:clamp(15px,1.8vw,19px);line-height:1.55;color:#f4e8d3;max-width:34ch;margin:0;opacity:.92}.dh-cta{margin-top:22px;font-family:Space Mono,monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#2a1608;background:#d4a441;border:none;padding:13px 28px;border-radius:2px;cursor:pointer;box-shadow:0 6px 16px #00000059;transition:background .2s ease,transform .15s ease}.dh-cta:hover{background:#f0c876}.dh-cta:active{transform:scale(.97)}.dh-cta:focus-visible{outline:2px solid #f0c876;outline-offset:3px}@media (max-width: 860px){.dh-content{grid-template-columns:1fr;justify-items:center;text-align:center}.dh-left,.dh-right{align-items:center;text-align:center}.dh-tagline{max-width:46ch;margin:0 auto}.dh-right{order:3;margin-top:8px}.dh-center{order:2}.dh-left{order:1}.dh-archwrap{width:clamp(160px,min(70vw,46vh),340px)}}@media (prefers-reduced-motion: reduce){.dh-door,.dh-services,.dh-tagline,.dh-service-card{transition:none!important;animation:none!important}}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:#fffdf90f;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid transparent;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease}.site-header.is-scrolled{background:#fffdf9e6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(228,217,198,.7);box-shadow:0 6px 24px #00000014}.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 6vw;max-width:1400px;margin:0 auto}.site-logo{display:flex;align-items:center;gap:10px;font-family:Fraunces,serif;font-weight:600;font-size:20px;text-decoration:none;color:var(--ink);white-space:nowrap;transition:color .35s ease}.site-logo span{color:var(--orange)}.site-logo-mark{width:22px;height:26px;border-radius:40% 40% 3px 3px/25% 25% 3px 3px;background:linear-gradient(160deg,#ffa15c,#e35d12 60%,#6b2708);box-shadow:inset 0 0 0 1.5px #6b2708;flex-shrink:0}.site-nav{display:flex;align-items:center;gap:30px;font-size:14px;flex:1;justify-content:center}.site-nav a{position:relative;text-decoration:none;color:var(--ink-soft);padding:6px 0;transition:color .2s ease}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--orange);transition:right .25s ease}.site-nav a:hover{color:var(--ink)}.site-nav a:hover:after{right:0}.site-nav a.active{color:var(--orange);font-weight:600}.site-nav a.active:after{right:0}.site-header-cta{white-space:nowrap;padding:10px 20px}.site-menu-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;background:none;border:none;cursor:pointer;padding:0}.site-menu-btn span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s ease,opacity .25s ease,background .35s ease}.site-menu-btn.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.site-menu-btn.is-open span:nth-child(2){opacity:0}.site-menu-btn.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-header:not(.is-scrolled) .site-logo,.site-header:not(.is-scrolled) .site-nav a:not(.active){color:#f7ecd6}.site-header:not(.is-scrolled) .site-nav a:hover{color:#fff}.site-header:not(.is-scrolled) .site-menu-btn span{background:#f7ecd6}.site-header:not(.is-scrolled) .site-logo-mark{box-shadow:inset 0 0 0 1.5px #ffffff73}.site-nav-mobile{display:none;flex-direction:column;gap:2px;padding:0 6vw;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;background:var(--paper);border-top:1px solid var(--line)}.site-nav-mobile.is-open{max-height:400px;padding:14px 6vw 20px}.site-nav-mobile a{text-decoration:none;color:var(--ink-soft);padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}.site-nav-mobile a.active{color:var(--orange);font-weight:600}.site-nav-mobile a.btn{border-bottom:none;text-align:center;margin-top:12px}@media (max-width: 900px){.site-nav,.site-header-cta{display:none}.site-menu-btn,.site-nav-mobile{display:flex}}.service-page{background:var(--cream);min-height:100vh}.sp-hero{position:relative;height:100vh;height:100dvh;display:flex;align-items:flex-start;background-size:cover;background-position:center;background-color:#b5762e;scroll-snap-align:start}.sp-hero.has-photo:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(200deg,#140a05c7,#140a0573 35%,#140a051a 65%,#140a0500 85%)}.sp-hero:not(.has-photo){background-image:linear-gradient(160deg,#e35d1259,#a8420ca6),repeating-linear-gradient(115deg,#d8b088 0,#d8b088 3px,#c89a6e 3px,#c89a6e 6px)}.sp-hero-content{position:relative;z-index:1;width:100%;max-width:1400px;margin:0 auto;padding:140px 6vw 0;color:#fff}.sp-hero .eyebrow{color:#f0c876}.sp-hero h1{font-family:Fraunces,serif;font-weight:500;font-size:clamp(28px,4.2vw,48px);line-height:1.08;margin:12px 0 14px;max-width:20ch;text-shadow:0 4px 18px rgba(0,0,0,.4)}.sp-hero p{font-size:clamp(14px,1.4vw,17px);line-height:1.65;color:#ffffffe6;max-width:46ch;margin:0 0 22px}.sp-packages{padding:24px 6vw 64px;scroll-margin-top:90px;scroll-snap-align:start}.sp-section-title{font-family:Fraunces,serif;font-weight:500;font-size:28px;margin-bottom:6px}.sp-section-sub{color:var(--ink-soft);font-size:15px;margin-bottom:32px}.sp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}.sp-card{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:26px 22px}.sp-card h3{font-family:Fraunces,serif;font-weight:500;font-size:21px;margin:10px 0}.sp-card p{font-size:14px;line-height:1.65;color:var(--ink-soft);margin:0 0 16px}.sp-price{font-family:Space Mono,monospace;font-size:15px;color:var(--ink)}.sp-band{background:var(--ink);color:var(--cream);padding:56px 6vw;text-align:center;scroll-snap-align:start}.sp-band h2{font-family:Fraunces,serif;font-weight:500;font-size:26px;margin:0 0 10px}.sp-band p{color:#cbb9a3;margin:0 0 22px;font-size:15px}@media (max-width: 480px){.sp-hero-content{padding-top:110px}}.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.admin-sidebar{background:var(--ink);color:#efe7d8;padding:26px 18px}.admin-logo{font-family:Fraunces,serif;font-weight:600;font-size:18px;margin-bottom:30px}.admin-logo span{color:var(--orange)}.admin-sidebar nav a{display:block;padding:10px 12px;border-radius:6px;color:#cbbfa9;text-decoration:none;font-size:14px;margin-bottom:2px}.admin-sidebar nav a.active{background:#e35d122e;color:#f2a976}.admin-shell main{padding:32px 40px;max-width:900px}.admin-top-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:4px}.admin-session{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--ink-soft);white-space:nowrap}.admin-page-title{font-family:Fraunces,serif;font-weight:500;font-size:24px;margin:0 0 4px}.admin-page-sub{color:var(--ink-soft);font-size:14px;margin:0 0 28px}.admin-panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:26px 28px;margin-bottom:24px}.admin-panel h2{font-family:Fraunces,serif;font-weight:500;font-size:17px;margin:0 0 18px}.admin-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.admin-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.admin-field.full{grid-column:1 / -1}.admin-field label,.admin-field-row label{font-size:12.5px;color:var(--ink-soft);font-weight:600}.admin-panel input,.admin-panel select,.admin-panel textarea{font-family:Manrope,sans-serif;font-size:14px;padding:10px 12px;border:1px solid var(--line);border-radius:5px;background:#fbfaf7;color:var(--ink);width:100%}.admin-panel textarea{resize:vertical;min-height:80px}.admin-panel input:focus,.admin-panel select:focus,.admin-panel textarea:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:var(--orange)}.admin-dropzone{display:block;border:1.5px dashed var(--line);border-radius:6px;padding:26px;text-align:center;color:var(--ink-soft);font-size:13px;background:#fbfaf7;cursor:pointer}.admin-dropzone strong{color:var(--orange);font-weight:600}.admin-filename{display:block;margin-top:8px;font-size:12.5px;color:var(--ink)}.admin-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.admin-btn{font-family:Space Mono,monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:11px 20px;border-radius:5px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}.admin-btn.primary{background:var(--orange);border-color:var(--orange);color:#fff}.admin-panel table{width:100%;border-collapse:collapse;font-size:13.5px}.admin-panel th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:8px 10px;border-bottom:1px solid var(--line)}.admin-panel td{padding:12px 10px;border-bottom:1px solid var(--line)}.admin-badge{font-family:Space Mono,monospace;font-size:10.5px;padding:3px 8px;border-radius:20px;background:#e35d121f;color:var(--orange)}.admin-row-actions a{font-size:12.5px;color:var(--ink-soft);text-decoration:none;margin-right:12px}.admin-row-actions a.danger{color:#a83a2a}@media (max-width: 720px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{display:flex;align-items:center;gap:16px;padding:16px 18px}.admin-sidebar nav{display:flex;gap:4px;overflow-x:auto}.admin-field-row{grid-template-columns:1fr}}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--cream);padding:20px}.login-card{width:100%;max-width:340px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:30px 28px;display:flex;flex-direction:column;gap:4px}.login-logo{font-family:Fraunces,serif;font-weight:600;font-size:20px;color:var(--ink)}.login-logo span{color:var(--orange)}.login-sub{color:var(--ink-soft);font-size:13px;margin:0 0 18px}.login-card label{font-size:12.5px;color:var(--ink-soft);font-weight:600;margin-top:10px}.login-card input{font-family:Manrope,sans-serif;font-size:14px;padding:10px 12px;border:1px solid var(--line);border-radius:5px;background:#fbfaf7;color:var(--ink);margin-top:6px}.login-card input:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:var(--orange)}.login-error{margin-top:12px;font-size:13px;color:#a83a2a;background:#a83a2a14;border-radius:5px;padding:8px 10px}.login-card button{margin-top:18px;width:100%;text-align:center}:root{--orange: #e35d12;--orange-dark: #a8420c;--brass: #d4a441;--brass-light: #f0c876;--brass-dark: #8a6423;--cream: #f7f1e6;--paper: #fffdf9;--ink: #241407;--ink-soft: #5a4a3a;--line: #e4d9c6}html{scroll-behavior:smooth;scroll-snap-type:y proximity}*{box-sizing:border-box}html,body,#root{margin:0;padding:0}body{background:var(--cream);color:var(--ink);font-family:Manrope,sans-serif}a{color:inherit}.eyebrow{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-dark)}.btn{display:inline-block;font-family:Space Mono,monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:13px 26px;border-radius:3px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;text-decoration:none;transition:background .2s ease,transform .15s ease}.btn.primary{background:var(--orange);border-color:var(--orange);color:#fff}.btn:hover{background:var(--cream)}.btn.primary:hover{background:#f17226}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
