@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Manrope:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#111110;--card:#20201e;--gold:#d5b487;--muted:#a4a39b;--line:#ffffff16;--serif:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}body{margin:0;background:#0b0b0b;color:#f3f0e9;font:14px/1.55 Manrope,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{color:inherit}a{color:inherit;text-decoration:none}svg{width:22px;height:22px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:500;line-height:1.08}h1{font-size:44px}h2{font-size:32px}h3{font-size:16px;font-weight:600}.ambient{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 0,#4c3f292b,transparent 60%);z-index:-1}.shell{max-width:480px;min-height:100svh;margin:auto;background:var(--bg);border-left:1px solid var(--line);border-right:1px solid var(--line);padding-bottom:100px;position:relative}.top{height:76px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font:20px var(--serif);letter-spacing:2.2px}.language{display:flex;gap:3px}.language button{padding:7px 5px;border:0;background:none;color:#888;font-size:11px}.language .on{color:var(--gold)}main{padding:24px}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:9px;color:var(--gold);margin-bottom:12px}.muted,small{color:var(--muted)}.hero{position:relative;height:435px;margin:-24px -24px 26px;padding:25px 24px;background:linear-gradient(0deg,#111110 3%,#11111024 85%),radial-gradient(ellipse at 85% 10%,#736045,#24241e 45%,#111 80%);overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 30%;opacity:.55}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#111110 0%,#11111055 60%,#11111066)}.hero-content{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;align-items:flex-start}.welcome{font-size:12px}.hero h1{margin-top:auto;max-width:320px;margin-bottom:12px}.hero p{color:#c2beb5;max-width:290px;margin-bottom:23px}.primary{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;background:linear-gradient(110deg,#d9bd96,#bc9466);color:#181511;font-weight:700;border:1px solid #dfc199;border-radius:13px;min-height:52px;padding:13px 18px;box-shadow:0 6px 22px #0003}.primary svg{margin-left:auto}.section-head{display:flex;justify-content:space-between;align-items:center;margin:25px 0 15px}.section-head h2{font-size:26px}.text-btn{border:0;background:none;color:var(--gold);padding:8px 0;font-size:12px}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.service{border:1px solid var(--line);background:linear-gradient(130deg,#2b2b27,#191918);border-radius:13px;padding:14px 11px;text-align:left;min-height:155px;display:flex;flex-direction:column;gap:7px}.service .art{height:42px;color:var(--gold);display:flex;align-items:center}.service .art svg{width:34px;height:34px}.service strong{font-size:12px;font-weight:500;line-height:1.4;min-height:34px}.service b{font-size:12px;color:var(--gold);margin-top:auto;font-weight:500}.service small{font-size:10px}.card{border:1px solid var(--line);background:linear-gradient(135deg,#252522,#1a1a19);border-radius:15px;padding:20px;margin:14px 0}.row{display:flex;align-items:center;gap:14px}.row .grow{flex:1}.row>svg{color:var(--gold)}.row strong{display:block}.row small{display:block;margin-top:4px}.portrait{width:64px;height:75px;object-fit:cover;object-position:50% 20%;border-radius:10px}.monogram{display:flex;align-items:center;justify-content:center;background:#333027;color:var(--gold);font:26px var(--serif);border:1px solid #d5b48744}.profile-name{font-family:var(--serif);font-size:23px!important;font-weight:500}.badge{font-size:9px;letter-spacing:1.6px;color:var(--gold);text-transform:uppercase}.divider{height:1px;background:var(--line);margin:18px 0}.contact-links{display:flex;gap:10px}.contact-links a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px;border:1px solid var(--line);border-radius:10px;font-size:12px}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(480px,100%);padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:#111110f2;backdrop-filter:blur(18px);border-top:1px solid var(--line);display:flex;justify-content:space-around;z-index:10}.nav button{background:none;border:0;color:#8d8c86;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;min-width:54px;min-height:48px}.nav .active{color:var(--gold)}.nav svg{width:23px;height:23px}.page-heading{margin:6px 0 26px}.steps{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:22px;margin:20px 0 24px}.steps span{font-size:11px;color:var(--muted)}.steps b{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border:1px solid #555;border-radius:100%;margin-right:6px}.steps .active{color:var(--gold)}.steps .active b{background:var(--gold);color:#111;border-color:var(--gold)}.service-list{display:grid;gap:12px}.service-option{width:100%;border:1px solid var(--line);background:linear-gradient(135deg,#262623,#1b1b19);padding:20px;border-radius:14px;text-align:left;display:flex;align-items:center;gap:15px}.service-option svg{color:var(--gold)}.service-option .grow{flex:1}.service-option small{display:block;margin-top:3px}.service-option b{color:var(--gold);font-size:13px}.selected{border-color:var(--gold)!important;background:#d5b48710!important}.dates{display:flex;gap:7px;overflow-x:auto;padding:5px 0 12px;margin-top:10px}.dates button{min-width:48px;border:1px solid var(--line);border-radius:10px;background:#242421;color:#ddd;padding:11px 5px}.dates small{display:block;font-size:10px}.dates strong{display:block;font-size:18px;margin-top:5px}.dates .selected{background:var(--gold)!important;color:#111}.dates .selected small{color:#493c2b}.times{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:16px 0 24px}.times button{border:1px solid var(--line);border-radius:9px;background:#242421;padding:11px 2px}.times .selected{background:var(--gold)!important;color:#111}label{display:block;font-size:12px;color:var(--muted);margin:14px 0 7px}input,select,textarea{display:block;width:100%;color:#f3f0e9;background:#181817;border:1px solid #ffffff24;border-radius:10px;padding:13px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--gold)}.checkline{display:flex;align-items:center;gap:10px}.notice{border:1px solid #d5b48740;border-radius:11px;background:#d5b4870a;padding:14px;color:#d0bea5;font-size:12px;margin:16px 0}.success{text-align:center;padding:24px 0}.success-icon{margin:0 auto 24px;width:82px;height:82px;border:2px solid var(--gold);color:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 35px #d5b48716}.success-icon svg{width:40px;height:40px}.success p{margin-top:10px;color:var(--muted)}.details{display:grid;gap:17px}.actions{display:flex;gap:10px;margin:14px 0}.secondary{min-height:45px;border:1px solid #ffffff22;border-radius:10px;background:#242421;padding:10px 12px;display:flex;align-items:center;justify-content:center;gap:8px;flex:1}.danger{color:#da8672;border-color:#a55e4a77;background:#a55e4a08}.map{display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#20231f;margin-top:20px}.map-art{height:130px;position:relative;background:repeating-linear-gradient(30deg,transparent 0 34px,#ffffff09 35px 39px,transparent 40px 70px),repeating-linear-gradient(120deg,#20231f 0 45px,#7e76551f 46px 54px);display:flex;align-items:center;justify-content:center;color:var(--gold)}.map-art span{background:#151714;padding:9px 15px;border:1px solid #d5b48766;border-radius:8px;display:flex;align-items:center;gap:8px;letter-spacing:1px;font-size:10px}.map-caption{padding:15px 18px;display:flex;justify-content:space-between;align-items:center}.club{min-height:200px;padding:25px;border:1px solid #d5b48777;background:radial-gradient(ellipse at 90% 100%,#6d543536,transparent 70%),linear-gradient(125deg,#262521,#10100f);position:relative;border-radius:16px;overflow:hidden}.club:after{content:'A';position:absolute;right:10px;bottom:-45px;font:240px var(--serif);color:#d5b4870c}.club .wordmark{font-size:23px;line-height:1.3}.club p{font-size:10px;color:var(--gold);letter-spacing:2px;margin-top:27px}.club strong{font-family:var(--serif);font-size:32px;font-weight:500}.stamps{display:flex;justify-content:space-between;margin:25px 0}.stamp{width:38px;height:38px;border:1px dashed #777;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold)}.stamp.filled{background:var(--gold);color:#111;border:none}.list-link{display:flex;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid var(--line);width:100%;background:none;border-top:0;border-left:0;border-right:0;text-align:left}.list-link svg:last-child{margin-left:auto;color:#999}.empty{text-align:center;padding:30px 15px;color:var(--muted)}.empty svg{width:38px;height:38px;margin-bottom:12px;color:var(--gold)}.status{font-size:11px;color:var(--gold)}.loading{padding:80px;text-align:center;font:22px var(--serif);letter-spacing:3px}#toast{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);max-width:420px;width:90%;background:#e2c59e;color:#17130e;padding:14px 20px;border-radius:12px;box-shadow:0 10px 50px #0009;z-index:100;display:none}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-service{border-bottom:1px solid var(--line);padding:15px 0}.subtle{font-size:11px;color:#85847c;margin:17px 0;text-align:center}.footnote{font:11px var(--serif);letter-spacing:2px;text-align:center;margin:34px 0 0;color:#746b5c}.error{color:#e9a08e}.topback{display:flex;align-items:center;gap:12px;margin-bottom:20px}.topback button{border:0;background:none;padding:5px}.topback h2{font-size:29px}@media(min-width:700px){.shell{margin-top:30px;margin-bottom:30px;border-radius:24px;overflow:hidden;box-shadow:0 25px 100px #0008}.nav{bottom:18px;border:1px solid var(--line);border-radius:16px;width:450px}.hero{height:460px}}@media(prefers-reduced-motion:no-preference){main{animation:appear .22s ease-out}@keyframes appear{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:none}}} @media(max-width:360px){main{padding:18px}.hero{margin:-18px -18px 20px;padding:24px 18px}h1{font-size:37px}.service{padding:10px 8px}.top{padding:18px}}
/* Editorial images and compact mobile proportions from the supplied concept. */
.hero-photo{opacity:.9;object-position:60% 24%}.hero:after{background:linear-gradient(0deg,#111110 0%,#11111018 72%,#11111055)}
.hero{height:405px}.hero h1{font-size:39px;line-height:.98;text-shadow:0 2px 20px #0009}.hero p{font-size:13px}
.service{padding:6px 6px 12px;gap:5px;overflow:hidden}.service strong,.service b,.service small{margin-left:4px;margin-right:4px}
.service .service-photo{display:block;width:100%;height:92px;border-radius:8px;background-image:url('/miniapp/services.png');background-size:300% auto;background-repeat:no-repeat;background-position:0% 38%}
.service .photo-1{background-position:50% 38%}.service .photo-2{background-position:100% 38%}
.portrait{object-position:45% 8%;height:84px;width:70px}.upcoming{width:100%;text-align:left}.upcoming .grow{flex:1}
.top{padding-top:calc(20px + env(safe-area-inset-top));height:calc(76px + env(safe-area-inset-top))}
@media(max-width:380px){.steps span{font-size:10px}.steps b{margin-right:3px}.profile-name{font-size:21px!important}.service-option{padding:16px 12px;gap:8px}.service-option b{font-size:11px}}
.portrait-frame{width:70px;height:84px;overflow:hidden;display:block;flex-shrink:0;border-radius:10px}.portrait-frame .portrait{width:150px;height:175px;max-width:none;transform:translate(-20px,-2px);object-fit:cover}
.portrait-frame .portrait{width:100%;height:100%;transform:none;object-fit:cover;object-position:45% 22%}
.hero-photo{object-position:60% 48%}.photo-editor h3{margin-bottom:14px}.photo-preview{display:block;width:100%;height:220px;object-fit:cover;object-position:center 30%;border-radius:10px;margin-bottom:14px}
.photo-editor .service-photo{background-image:url('/miniapp/services.png');background-size:300% auto;background-position:0% 38%}.photo-editor .photo-1{background-position:50% 38%}.photo-editor .photo-2{background-position:100% 38%}
.service .custom-service{object-fit:cover;object-position:center 30%;background:none}.upload-label{position:relative;color:var(--gold);cursor:pointer}.upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload-label:focus-within{outline:2px solid var(--gold)}
.actions{flex-wrap:wrap}
