:root{--ink:#4A1C32;--gold:#D4B483;--ivory:#F7F3EC}
body{background:var(--ivory)!important}
.rn{display:inline-flex;align-items:center;gap:12px}
.rn .n{width:46px;height:46px;border:1.5px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:"Cormorant Garamond",serif;font-size:1.05rem;color:var(--gold);font-weight:600}
.rn .l{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.15rem;color:var(--ink)}
.rn.on-dark .l{color:#f7f3ec}
.rn.on-dark .n{color:var(--gold);border-color:var(--gold)}

.pkg-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:768px){.pkg-grid{grid-template-columns:repeat(3,1fr)}}
.pkg{background:#fff;padding:28px 24px;display:flex;flex-direction:column;gap:8px;position:relative;border:1px solid rgba(74,28,50,.1)}
.pkg.rec{border-color:var(--gold);box-shadow:0 16px 40px rgba(74,28,50,.1)}
.pkg .tag{position:absolute;top:14px;right:14px;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:14px;background:var(--ink);color:#F7F3EC;padding:4px 12px}
.pkg .now{font-family:"Cormorant Garamond",serif;font-size:2rem;color:var(--ink);line-height:1}

.hero-copy{max-width:34rem;text-align:left;margin:0 auto 0 0}
.hero-lead{font-size:1.125rem;line-height:1.55;color:#fff;margin-top:1.5rem;max-width:28rem}
.hero-cta{display:flex;flex-direction:column;gap:10px;margin-top:40px;align-items:flex-start}
@media(min-width:640px){.hero-cta{flex-direction:row}}
.hero-cta a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;font-weight:700;font-size:14px;line-height:1.2;text-align:center;width:100%}
@media(min-width:640px){.hero-cta a{width:auto;min-width:200px}}
.hero-cta .btn-main{background:var(--gold);color:var(--ink)}
.hero-cta .btn-ghost{border:1.5px solid rgba(255,255,255,.8);color:#fff;background:rgba(74,28,50,.25)}

/* live photos */
.hero-visual{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero-visual img{
  position:absolute;left:-8%;top:-8%;width:116%;height:116%;
  object-fit:cover;object-position:72% 50%;
  animation:ken-a 26s ease-in-out infinite;
  will-change:transform;
}
.hero-veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(74,28,50,.88) 0%,rgba(74,28,50,.62) 38%,rgba(74,28,50,.28) 62%,rgba(74,28,50,.1) 100%)}
.live-frame{overflow:hidden;position:relative}
.live-a,.live-b,.live-c,.live-d{width:100%;height:100%;object-fit:cover;display:block;min-height:100%}
.live-a{animation:ken-a 18s ease-in-out infinite}
.live-b{animation:ken-b 22s ease-in-out infinite}
.live-c{animation:ken-c 20s ease-in-out infinite}
.live-d{animation:ken-a 26s ease-in-out infinite reverse}
.d1{animation-delay:-4s}.d2{animation-delay:-8s}.d3{animation-delay:-12s}.d4{animation-delay:-16s}
@keyframes ken-a{
  0%{transform:scale(1) translate(0,0)}
  40%{transform:scale(1.1) translate(-2%,1.5%)}
  70%{transform:scale(1.06) translate(1.5%,-1.5%)}
  100%{transform:scale(1) translate(0,0)}
}
@keyframes ken-b{
  0%{transform:scale(1.08) translate(-1.5%,1%)}
  50%{transform:scale(1) translate(2%,-1.5%)}
  100%{transform:scale(1.08) translate(-1.5%,1%)}
}
@keyframes ken-c{
  0%{transform:scale(1) translate(0,0)}
  50%{transform:scale(1.12) translate(1.5%,2%)}
  100%{transform:scale(1) translate(0,0)}
}
.photo-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(min-width:900px){.photo-mosaic{grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:210px 210px;gap:10px}}
.photo-mosaic figure{margin:0;overflow:hidden;background:#4A1C32;height:180px}
@media(min-width:900px){
  .photo-mosaic figure{height:auto}
  .photo-mosaic .wide{grid-column:1;grid-row:1/3;height:100%}
  .photo-mosaic .a{grid-column:2;grid-row:1}
  .photo-mosaic .b{grid-column:3;grid-row:1}
  .photo-mosaic .c{grid-column:2;grid-row:2}
  .photo-mosaic .d{grid-column:3;grid-row:2}
}
.photo-mosaic .wide{grid-column:1/-1;height:220px}
.rail-wrap{overflow:hidden;margin-top:12px}
.rail{display:flex;width:max-content;gap:10px;animation:rail 32s linear infinite}
.rail img{width:280px;height:180px;object-fit:cover;display:block;flex-shrink:0}
@keyframes rail{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.card-live{overflow:hidden}
.card-live img{transition:transform .8s ease;animation:ken-c 24s ease-in-out infinite}
.card-live:hover img{animation-play-state:paused;transform:scale(1.06)}

@media(prefers-reduced-motion:reduce){
  .hero-visual img,.live-a,.live-b,.live-c,.live-d,.rail,.card-live img{animation:none!important;transform:none!important}
}

.form-card{background:#fff!important;border:1.5px solid #4A1C32!important;padding:28px;color:#4A1C32!important}
.form-card,.form-card p,.form-card span,.form-card label,.form-card .check,.form-card .payhint,.form-card .err{color:#4A1C32!important}
.form-card label{display:block;font-family:"Cormorant Garamond",serif;font-size:16px;font-style:italic;margin:0 0 8px}
.form-card .field{margin:0 0 16px}
.form-card input:not([type=checkbox]),.form-card select,.form-card textarea{
  width:100%!important;min-height:52px;padding:12px 14px!important;border:1.5px solid #4A1C32!important;background:#F7F3EC!important;color:#4A1C32!important;-webkit-text-fill-color:#4A1C32!important;caret-color:#4A1C32!important;font-size:17px!important;appearance:auto;opacity:1!important
}
.form-card textarea{min-height:88px;resize:vertical}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:3px solid rgba(212,180,131,.5);border-color:#D4B483!important}
.form-card input::placeholder,.form-card textarea::placeholder{color:#8a6f7a!important;-webkit-text-fill-color:#8a6f7a!important;opacity:1!important}
.form-card .err{color:#9b1c1c!important;font-size:13px;min-height:16px;margin-top:4px}
.form-card .check{display:flex;gap:10px;align-items:flex-start;font-size:15px;margin:8px 0 18px;line-height:1.45;font-style:normal}
.form-card .check a{color:#8a5a38!important;text-decoration:underline}
.form-card .check input[type=checkbox]{width:20px!important;height:20px!important;min-width:20px;accent-color:#4A1C32;background:#fff!important}
.form-card .payhint{font-size:13px;color:#5c3d48!important;margin:12px 0 0;font-style:normal}
.form-card button[type=submit]{color:#4A1C32!important;-webkit-text-fill-color:#4A1C32!important;background:#D4B483!important;font-weight:700}
.form-card button[disabled]{opacity:.55;pointer-events:none}
.legal{max-width:820px;padding:48px 24px 80px;font-family:"Cormorant Garamond",serif;color:#4A1C32}
.legal h1{font-size:clamp(1.8rem,4vw,2.8rem);margin:0 0 20px;font-weight:400}
.legal h2{font-size:1.4rem;margin:28px 0 10px}
.legal p,.legal li{line-height:1.65;margin:0 0 12px;font-family:"Crimson Pro",serif}
.legal a{color:#8a5a38}
.page-hero{background:#4A1C32;color:#fff;padding:48px 24px 40px}
.page-hero h1{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(1.8rem,4vw,3rem);max-width:18ch}
@media(max-width:390px){header .logo-title{font-size:20px!important}.form-card{padding:20px 16px}}
summary::-webkit-details-marker{display:none}
