:root{--ink:#252521;--muted:#77746d;--paper:#f7f5f0;--sand:#e9e5dc;--border:#dedad1;--dark:#23241f;--copper:#ad8b68}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}.shell{width:min(1170px,calc(100% - 48px));margin:0 auto}.site-header{height:87px;justify-content:space-between;padding:0 max(24px,calc((100vw - 1170px)/2));background:var(--paper);border-bottom:1px solid #e5e0d6;position:relative;z-index:10}.brand,.site-header{display:flex;align-items:center}.brand{gap:12px}.brand-mark{font-family:Georgia,serif;font-weight:700;letter-spacing:-5px;font-size:41px;line-height:1}.brand-caption{font-size:10px;letter-spacing:3px;font-weight:600;padding-left:5px}.site-header nav{display:flex;align-items:center;gap:28px;font-size:12px;text-transform:uppercase;letter-spacing:1.4px;font-weight:700}.site-header nav a:hover{color:#99744f}.hero{background:#292922;color:#f7f5f0;height:555px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 40%,#5b5347a4,transparent 42%),linear-gradient(100deg,#22231f,#2e2b26 50%,#645849 120%)}.hero-content{position:relative;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:10px;letter-spacing:2.7px;font-weight:700;color:#937657}.eyebrow.light{color:#c3a989}.hero h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(50px,6.1vw,84px);font-weight:400;line-height:1.08;letter-spacing:-2px;margin:25px 0}.hero h1 em{font-weight:400;color:#dac9b2}.hero p{font-size:17px;line-height:1.7;max-width:475px;color:#e1dcd2;margin:0 0 29px}.hero-bottom{position:absolute;bottom:29px;font-size:10px;letter-spacing:2px;color:#d5c5b1}.hero-graphic{position:absolute;font-family:Georgia,serif;font-size:min(45vw,650px);font-weight:700;letter-spacing:-40px;opacity:.075;right:0;bottom:-180px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn{border:0;display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:16px 24px;font-weight:700;letter-spacing:.4px;font-size:12px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-light{background:#f0ede6;color:#27251f}.btn-dark{background:#262723;color:#f7f5f0}.btn-outline{border:1px solid #ccc4b7;background:transparent;color:#282720}.btn:disabled{opacity:.55;cursor:wait}.section{padding-top:84px;padding-bottom:105px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:38px}.admin-create h2,.admin-uploader h2,.process h2,.section-title h2{font-family:Georgia,serif;font-size:clamp(31px,4vw,47px);font-weight:400;letter-spacing:-1px;margin:12px 0 0}.section-title p{color:var(--muted);font-size:14px;margin:0 0 6px}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:34px;gap:34px}.event-cover{height:310px;background:var(--sand);overflow:hidden;position:relative}.event-cover img{height:100%;transition:transform .5s;filter:saturate(.75)}.event-card:hover .event-cover img{transform:scale(1.045)}.cover-arrow{position:absolute;right:20px;bottom:20px;border-radius:100px;background:var(--paper);padding:13px}.event-info{padding:23px 0 12px}.event-info h3{font:400 27px Georgia,serif;line-height:1.3;margin:11px 0}.event-info p{color:var(--muted);font-size:13px}.event-info p span{margin:0 5px}.process{background:#ebe7de;padding:84px 0 100px}.process h2{margin-bottom:45px}.steps{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:28px;gap:28px}.steps>div{border-top:1px solid #c9c2b7;padding-top:20px;position:relative}.steps>div>span{position:absolute;top:23px;right:0;color:#a28e72;font:italic 19px Georgia}.steps svg{width:31px;height:31px;stroke-width:1.4;margin-top:25px}.steps h3{font:400 24px Georgia;margin:19px 0 10px}.steps p{font-size:14px;color:#6f6c64;line-height:1.7;max-width:295px}.footer{border-top:1px solid #d9d3c8;padding:30px 0}.footer-row{display:flex;justify-content:space-between;color:#888177;font-size:10px;letter-spacing:1px}.info-banner{background:#ebe4d7;border-left:3px solid #9d805c;padding:17px 20px;margin:22px 0;color:#665441;font-size:13px;line-height:1.5}.empty{padding:90px 20px;text-align:center;background:#eeeae2;color:#7e7668}.gallery-layout{min-height:75vh;padding:35px 0 95px}.back{font-size:12px;color:#736b60;display:inline-flex;align-items:center;gap:8px;margin:20px 0 45px}.gallery-head{margin-bottom:45px}.gallery-head h1{font:400 clamp(34px,5vw,58px) Georgia,serif;margin:15px 0}.gallery-head p{color:#77736a}.gallery-head b{color:#2a2b27}.gallery-top{border-block:1px solid var(--border);padding:16px 0;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#767168;margin-bottom:25px}.gallery-top span:last-child{display:flex;align-items:center;gap:8px;color:#222}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.photo-card{position:relative;aspect-ratio:4/5;overflow:hidden;background:#e9e4da;border:none;padding:0;text-align:left}.photo-card img{height:100%;filter:saturate(.77);transition:transform .3s}.photo-card:hover img{transform:scale(1.035)}.photo-card.selected{outline:4px solid #a78760;outline-offset:-4px}.photo-watermark{position:absolute;left:10%;width:80%;top:48%;transform:rotate(-20deg);text-align:center;font-size:clamp(8px,1vw,14px);font-weight:700;color:#fff9;letter-spacing:2px;text-shadow:1px 1px 5px #3339;pointer-events:none}.photo-id{position:absolute;bottom:0;left:0;right:0;padding:22px 12px 10px;background:linear-gradient(transparent,#181818ad);color:#fff;font-size:11px;letter-spacing:.7px}.photo-check{position:absolute;top:11px;right:11px;width:34px;height:34px;border-radius:50%;background:#eeeae8;display:flex;align-items:center;justify-content:center;color:#252521}.selected .photo-check{background:#b28e63;color:#fff}.load-more{text-align:center;margin-top:40px}.checkout-panel{background:#fff;border:1px solid #ddd7cb;padding:32px;margin-top:65px;box-shadow:0 7px 25px #21212108}.checkout-summary{display:flex;justify-content:space-between;align-items:start;gap:20px;border-bottom:1px solid var(--border);padding-bottom:25px}.checkout-summary h2{font:400 30px Georgia;margin:10px 0}.checkout-summary p{color:#898279;font-size:12px;max-width:600px;line-height:1.7}.checkout-summary strong{font:400 31px Georgia;white-space:nowrap}.checkout-panel form{padding-top:20px;max-width:720px}.checkout-panel form h3{font:400 25px Georgia;margin:8px 0 28px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:18px;gap:18px}label{display:flex;flex-direction:column;gap:9px;font-weight:700;font-size:12px}label.full{grid-column:1/-1}input,select{height:47px;width:100%;background:#fbfaf6;border:1px solid #d9d2c5;padding:12px;outline:none;border-radius:0}input:focus,select:focus{border-color:#9e8260}.disclaimer{font-size:12px;line-height:1.7;color:#847e73;margin-top:22px}.pay{margin-top:12px;min-width:270px}.safe{display:flex;align-items:center;gap:8px;color:#777;font-size:12px;margin-top:16px}.error{color:#9b2727;font-size:13px;font-weight:700}.help-note{padding-top:45px;font-size:13px;color:#7d766a}.help-note a{text-decoration:underline}.order-screen{min-height:75vh;display:flex;align-items:center;justify-content:center;padding:60px 0}.order-card{background:#fff;border:1px solid var(--border);padding:60px 30px;text-align:center;max-width:590px;width:100%}.order-card svg{margin:0 auto 22px}.order-card .ok{color:#607a5b}.order-card .pending{color:#a5865e}.order-card h1{font:400 42px Georgia;margin:20px 0}.order-card p{line-height:1.7;color:#716c65}.order-card .order-small{font-size:11px;color:#8a8378;margin:25px 0}.admin-login{min-height:73vh;display:grid;place-items:center;padding:45px 0}.admin-login-card{max-width:420px;width:100%;background:#fff;padding:39px;border:1px solid var(--border);display:flex;flex-direction:column;gap:16px}.admin-heading h1,.admin-login h1{font:400 47px Georgia;margin:0}.admin-login-card p{color:#716c65;font-size:13px;line-height:1.6}.admin-area{padding:60px 0 100px}.admin-heading{display:flex;align-items:center;justify-content:space-between}.admin-heading h1{margin:14px 0}.admin-tabs{border-bottom:1px solid var(--border);margin:36px 0 30px;display:flex;gap:10px}.admin-tabs button{border:0;background:none;padding:15px 20px;font-weight:700;color:#726a61;border-bottom:3px solid transparent}.admin-tabs button.active{border-bottom-color:#997e5c;color:#252521}.admin-tabs button span{margin-left:7px;background:#d7c7b0;padding:3px 7px;border-radius:20px}.order-row{padding:25px 30px;background:#fff;border:1px solid var(--border);margin-bottom:16px}.order-row-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#898075}.order-row h3{font:400 28px Georgia}.order-row h3 small{font:600 14px Arial;color:#8d785c}.pill{background:#eee8dd;color:#796e60;padding:7px 10px;font-size:11px}.pill.paid{background:#e1eddc;color:#436138}.pill.editing{background:#e7edf1;color:#386076}.pill.delivered{background:#dbeee5;color:#397055}.order-meta{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:11px;gap:11px;font-size:13px;color:#6b655c;margin:20px 0}.order-meta a{text-decoration:underline}.order-photos{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 22px}.order-photos a{background:#f1ede6;border:1px solid var(--border);padding:10px;font-size:11px}.order-actions{display:flex;gap:10px}.admin-gallery{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:20px;gap:20px}.admin-create,.admin-uploader{padding:30px;background:#fff;border:1px solid var(--border);display:flex;flex-direction:column;align-items:stretch;gap:18px}.admin-create h2,.admin-uploader h2{font-size:30px;margin:0}.admin-create .form-grid{display:block}.admin-create .form-grid label{margin:15px 0}.admin-uploader p{line-height:1.6;color:#777166;font-size:13px}.upload-zone{align-items:center;justify-content:center;border:2px dashed #d8cebd;padding:32px 15px;color:#766348;cursor:pointer;background:#f8f6f2}.upload-zone input{width:100%;height:auto;border:0;background:none;font-size:11px}.upload-zone.disabled{opacity:.5}.upload-zone span{font-weight:400;color:#857d72}.event-admin-row{border-top:1px solid #e9e5dd;padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.event-admin-row small{display:block;margin-top:6px;color:#938776}.event-admin-row a{color:#816b51;text-decoration:underline;font-size:12px}@media(max-width:800px){.hero{height:495px}.hero-graphic{font-size:50vw;bottom:-70px}.event-cover{height:270px}.photo-grid{grid-template-columns:repeat(3,1fr)}.admin-gallery{grid-template-columns:1fr}.footer-row{flex-wrap:wrap;gap:15px}}@media(max-width:580px){.shell{width:calc(100% - 34px)}.site-header{height:74px;padding:0 17px}.site-header nav{gap:14px}.brand-mark{font-size:34px}.brand-caption{font-size:8px;letter-spacing:2px}.hero{height:515px}.hero h1{font-size:49px;letter-spacing:-1px}.hero p{font-size:15px}.hero-graphic{bottom:-35px;right:5%;font-size:67vw;letter-spacing:-25px}.section{padding-top:58px;padding-bottom:65px}.section-title{align-items:start;flex-direction:column;gap:10px}.section-title p{margin:0}.event-grid{grid-template-columns:1fr;gap:21px}.event-cover{height:265px}.event-info h3{font-size:25px}.process{padding:65px 0}.steps{grid-template-columns:1fr}.steps>div{padding-bottom:15px}.footer-row{display:grid;grid-gap:14px;gap:14px}.gallery-layout{padding-bottom:65px}.gallery-head{margin-bottom:30px}.gallery-head h1{font-size:40px}.photo-grid{grid-template-columns:repeat(2,1fr);gap:9px}.photo-id{font-size:9px}.photo-watermark{font-size:10px;letter-spacing:1px}.checkout-panel{margin-top:44px;padding:20px 17px}.checkout-summary{display:block}.checkout-summary strong{font-size:28px}.form-grid{grid-template-columns:1fr}.order-card{padding:40px 18px}.order-card h1{font-size:34px}.admin-heading{align-items:start}.admin-heading h1{font-size:35px}.admin-tabs button{padding:12px 10px}.order-row{padding:20px 15px}.order-meta{grid-template-columns:1fr}.order-row h3{font-size:23px}.order-actions{flex-wrap:wrap}.admin-create,.admin-uploader{padding:21px}}.policy-page{padding:40px 0 90px;max-width:850px;min-height:75vh}.policy-page h1{font:400 clamp(34px,5vw,58px) Georgia,serif;margin:22px 0}.policy-page h2{font:400 27px Georgia,serif;margin:30px 0 12px}.policy-page p{font-size:15px;line-height:1.85;color:#635e56}.policy-page p a{text-decoration:underline}.policy-page .policy-note{font-size:12px;color:#938777}