[hidden] { display: none !important; }
.order-site { background: #090807; color: var(--cream); }
.order-header { background: rgba(9,8,7,.94); border-bottom-color: var(--line); }
.order-nav { display: flex; gap: 26px; align-items: center; font-size: .82rem; }
.order-nav > a:not(.nav-cta) { color: var(--cream-muted); }
.order-nav > a:hover { color: var(--gold-light); }
.order-site h1,.order-site h2,.order-site h3,.portal h1,.admin-page h1 { font-family: var(--display); font-weight: 600; }
.order-hero { max-width: 1500px; margin: auto; padding: 145px max(30px,calc((100vw - 1240px)/2)) 90px; min-height: 78vh; display: grid; grid-template-columns: 1.15fr .85fr; gap: 7%; align-items: center; background: radial-gradient(circle at 66% 40%,rgba(146,87,24,.15),transparent 48%); }
.order-hero h1 { font-size: clamp(3.4rem,6vw,6.5rem); line-height: .94; margin: 0 0 30px; letter-spacing: -.04em; }
.order-hero h1 em { color: var(--gold-light); font-style: normal; }
.order-hero p:not(.eyebrow) { color: var(--cream-muted); line-height: 1.8; max-width: 600px; margin-bottom: 32px; }
.order-hero-photo { border: 1px solid var(--line); padding: 12px; box-shadow: 0 40px 100px #000a; transform: rotate(1deg); }
.order-hero-photo img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 58% 25%; }
.order-section { max-width: 1240px; margin: auto; padding: 85px 28px; border-top: 1px solid var(--line); }
.order-section h2 { font-size: clamp(2.7rem,4vw,4.6rem); line-height: 1; margin: 0 0 28px; }
.order-section > p:not(.eyebrow),.wizard-step > p { color: var(--cream-muted); line-height: 1.7; }
.order-steps,.package-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.order-steps article,.package-card { border: 1px solid var(--line); background: linear-gradient(140deg,#18130e,#0b0a09); padding: 32px; }
.order-steps b { color: var(--gold); font-family: var(--display); font-size: 2rem; }
.order-steps h3,.package-card h3 { font-size: 2rem; margin: 14px 0; }
.order-steps p,.package-card p,.package-card li { color: var(--cream-muted); line-height: 1.65; }
.occasion-list { display: flex; flex-wrap: wrap; gap: 12px; }
.occasion-list span { border: 1px solid var(--line); padding: 13px 20px; color: var(--gold-light); background: #15110c; }
.package-grid { grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); }
.package-card { display:flex; flex-direction:column; }
.package-card.featured { border-color: var(--gold); }
.package-card > small { color: var(--gold-light); letter-spacing:.15em; text-transform:uppercase; }
.package-card ul { padding-left: 18px; flex: 1; }
.package-card li { margin-bottom: 8px; }
.package-price { font-family: var(--display); color: var(--gold-light); font-size: 3rem; }
.package-price span { font: 700 .75rem var(--sans); letter-spacing:.12em; }
.package-card .button { margin-top: 20px; }
.order-unavailable { border: 1px solid var(--line); padding: 28px; }
.order-unavailable a { color: var(--gold-light); text-decoration:underline; }
.wizard-wrap { border: 1px solid rgba(240,208,137,.32); background:linear-gradient(130deg,#17130f,#0d0b09); padding: clamp(20px,4vw,48px); max-width: 940px; }
.wizard-progress { display:flex; align-items:center; gap:20px; color:var(--gold-light); font-size:.8rem; margin-bottom:34px; }
.wizard-progress > div { flex:1; height:4px; background:#403227; }
.wizard-progress i { display:block; width:14.2%; height:100%; background:var(--gold-light); transition:width .3s; }
.wizard-step { border:0; padding:0; margin:0; min-width:0; }
.wizard-step legend { font-family:var(--display); font-size:clamp(2rem,4vw,3.3rem); margin-bottom:22px; }
.form-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:22px; }
.form-grid label { display:flex; flex-direction:column; gap:9px; color:var(--cream); font-size:.82rem; }
.form-grid .wide { grid-column:1 / -1; }
.form-grid input,.form-grid select,.form-grid textarea,.admin-page input,.admin-page textarea,.admin-page select,.portal textarea { width:100%; border:1px solid rgba(240,208,137,.26); background:#0c0b09; color:var(--cream); border-radius:0; font:inherit; padding:15px 16px; outline:none; }
.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.portal textarea:focus { border-color:var(--gold-light); }
.form-grid textarea,.portal textarea { resize:vertical; }
.form-grid input::placeholder,.form-grid textarea::placeholder { color:#81796d; }
.package-options { display:grid; gap:12px; }
.package-option { display:flex; align-items:center; gap:14px; border:1px solid var(--line); padding:18px; cursor:pointer; }
.package-option:has(input:checked) { border-color:var(--gold-light); background:#241a0d; }
.package-option input { accent-color:var(--gold); width:20px; height:20px; flex:none; }
.package-option span { flex:1; display:grid; gap:5px; }
.package-option small { color:var(--cream-muted); }
.package-option b { white-space:nowrap; color:var(--gold-light); }
.order-review { border:1px solid var(--line); padding:24px; line-height:1.8; margin-bottom:22px; }
.order-review p { margin:4px 0; }
.consents { display:grid; gap:14px; margin:25px 0; }
.consents label { display:flex; gap:12px; align-items:flex-start; font-size:.83rem; line-height:1.5; cursor:pointer; }
.consents input { accent-color:var(--gold); width:19px; height:19px; flex:none; }
.consents a { color:var(--gold-light); text-decoration:underline; }
.wizard-actions { display:flex; justify-content:space-between; gap:12px; margin-top:35px; }
.wizard-actions .button { min-width:160px; }
.form-error { color:#ffb6a7 !important; border:1px solid #a94b3d; background:#3b1712; padding:14px; }
.trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.faq details { border-bottom:1px solid var(--line); padding:20px 0; }
.faq summary { cursor:pointer; font-size:1rem; font-weight:600; }
.faq details p { color:var(--cream-muted); line-height:1.7; }
.order-footer { position:relative; }
.portal,.admin-page { min-height:100vh; padding:120px max(24px,calc((100vw - 1100px)/2)) 65px; background:radial-gradient(circle at 80% 0,#34220f,#090807 42%); }
.portal h1,.admin-page h1 { font-size:clamp(3rem,5vw,5rem); margin:10px 0; }
.portal p,.admin-page p { color:var(--cream-muted); line-height:1.65; }
.portal-card,.admin-card { border:1px solid var(--line); background:#14110e; padding:clamp(20px,3vw,35px); margin:22px 0; }
.portal-grid,.admin-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:15px; }
.portal-card h2,.admin-card h2 { font-family:var(--display); font-size:2.1rem; margin:0 0 15px; }
.portal audio { width:100%; margin:15px 0; }
.portal .button { margin:8px 8px 8px 0; }
.admin-page table { width:100%; border-collapse:collapse; font-size:.82rem; }
.admin-page th,.admin-page td { padding:10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.admin-page a { color:var(--gold-light); }
.admin-page form { margin:12px 0; }
.admin-page label { display:block; margin:10px 0; }
.admin-page input[type=checkbox] { width:auto; }
.admin-page .button { margin-top:10px; }
.admin-nav { display:flex; flex-wrap:wrap; gap:22px; align-items:center; }
.admin-page pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:.8rem; color:var(--cream-muted); }
.admin-page select { max-width:300px; }
.admin-page textarea { min-height:100px; }
@media(max-width:850px) { .order-hero { grid-template-columns:1fr; padding:120px 24px 60px; }.order-hero-photo { max-width:560px; }.order-steps { grid-template-columns:1fr; }.order-nav { gap:12px; font-size:.72rem; }.order-nav a:nth-child(2),.order-nav a:nth-child(3) { display:none; } }
@media(max-width:580px) { .order-header { height:70px; padding:0 18px; }.order-header .brand-logo { width:50px;height:50px; }.order-nav .nav-cta { padding:10px; }.order-nav a:nth-child(4) { display:none; }.order-hero h1 { font-size:clamp(2.75rem,11vw,3.2rem); line-height:.98; }.order-section { padding:60px 18px; }.form-grid { grid-template-columns:1fr; }.form-grid .wide { grid-column:auto; }.wizard-wrap { padding:20px; }.package-option { align-items:flex-start; flex-wrap:wrap; }.package-option b { margin-left:33px; }.wizard-actions .button { min-width:0; flex:1; padding:0 10px; font-size:.65rem; }.portal,.admin-page { padding:95px 18px 35px; }.admin-page table { display:block; overflow-x:auto; } }
