*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#efedf6;color:#26233b;font-family:Arial,sans-serif}a{color:inherit;text-underline-offset:6px}a:focus-visible,summary:focus-visible{outline:3px solid #995600;outline-offset:6px}.demo{text-align:center;background:#26233b;color:white;padding:8px;font-size:12px}.skip{position:absolute;top:-60px;padding:15px;background:white;z-index:9}.skip:focus{top:30px}header{padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{font-size:36px;letter-spacing:-2px;font-weight:bold;text-decoration:none}.logo span{font-size:8px;letter-spacing:4px;display:block;margin-top:2px;text-align:center}nav{display:flex;gap:35px;font-size:13px}nav a,.header-phone{text-decoration:none}.header-phone{font-size:14px}.hero{padding:20px 5% 0;position:relative;display:grid;grid-template-columns:1.6fr 1fr;gap:10px 5%}.hero-top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #26233b40;padding-top:20px}.eyebrow{font-size:10px;letter-spacing:2px;line-height:1.7}.moon{font-size:44px;color:#7d75a2}h1{font-size:clamp(52px,6.9vw,108px);font-weight:500;letter-spacing:-6px;line-height:1.01;margin:25px 0 45px}h1 em{font-family:Georgia,serif;font-weight:400;color:#746394}h1>span{color:#746394}.hero-aside{align-self:center;padding:10px 0 40px 15%}.hero-aside p{font-size:20px;line-height:1.5;margin:0 0 30px}.button{display:inline-block;background:#26233b;color:white;padding:19px 25px;border-radius:40px;font-size:14px;text-decoration:none}.button:hover{background:#62557f}figure{grid-column:1/-1;margin:0}figure img{width:100%;height:420px;object-fit:cover;object-position:center 60%;display:block;border-radius:6px}figcaption{font-size:10px;padding:12px 0;text-align:right}.occasions{padding:70px 8%;display:grid;grid-template-columns:.85fr 1.2fr;gap:10%}h2{font-size:clamp(36px,4.2vw,63px);font-weight:400;line-height:1.08;letter-spacing:-2px;margin:25px 0}h2 em{font-family:Georgia,serif;color:#746394}.section-intro>p:last-child{font-size:15px;line-height:1.7;max-width:290px}.accordion{padding-top:10px}details{border-top:1px solid #26233b50}details:last-child{border-bottom:1px solid #26233b50}summary{cursor:pointer;list-style:none;display:flex;align-items:center;font-size:22px;padding:25px 0;gap:15px;line-height:1.3}summary::-webkit-details-marker{display:none}summary>span{font-size:11px;color:#746394}summary b{font-size:24px;font-weight:400;margin-left:auto}details[open] summary b{transform:rotate(45deg)}.detail-body{padding:0 20px 25px 30px}.detail-body p{font-size:15px;line-height:1.8;max-width:450px;margin-top:0}.detail-body a{display:inline-block;padding:10px 0;font-size:13px}.planning{margin:10px 5% 70px;background:#d9d2ec;border-radius:6px;padding:55px 6%;display:grid;grid-template-columns:.6fr 1.5fr;gap:8%;align-items:center}.stamp{width:170px;height:170px;border:1px solid #746394;border-radius:50%;text-align:center;display:flex;flex-direction:column;justify-content:center;font:65px Georgia,serif;transform:rotate(-10deg);color:#5b4d77}.stamp span{font:9px/1.5 Arial,sans-serif;letter-spacing:2px}.planning h2{font-size:clamp(30px,3.6vw,51px)}.planning p{font-size:15px;line-height:1.7;max-width:590px}.planning-links{display:flex;gap:35px;font-size:14px;margin-top:30px}.planning .small{font-size:12px;margin-top:25px}.contact{padding:65px 8%;background:#26233b;color:#f6f2dc}.contact h2{font-size:clamp(36px,4vw,60px)}.contact h2 em{color:#c5b6e4}.contact-phone{display:flex;justify-content:space-between;font-size:clamp(32px,6vw,85px);letter-spacing:-2px;text-decoration:none;border-bottom:1px solid #ffffff50;padding:20px 0 35px}.contact-bottom{display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;gap:30px;padding-top:25px;font-size:13px;line-height:1.8}.contact-bottom strong{font-size:17px;font-weight:400}.contact-bottom>a{justify-self:end}footer{padding:35px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer>span{font-size:40px;letter-spacing:-2px;font-weight:bold}footer p{font-size:12px}@media(max-width:950px){h1{letter-spacing:-3px}.hero-aside{padding-left:0}.hero-aside p{font-size:17px}.button{padding:17px 20px;font-size:13px}.occasions{padding:50px 5%;gap:7%}summary{font-size:19px;gap:10px}.planning{padding:40px 5%;grid-template-columns:.6fr 1.6fr}.stamp{width:135px;height:135px}.contact-bottom{grid-template-columns:1fr 1.5fr;gap:15px}.contact-bottom>a{justify-self:start}.planning-links{gap:22px;font-size:13px}}@media(max-width:600px){header{padding:22px 5%}.logo{font-size:31px}.header-phone{font-size:12px}nav{display:none}.hero{display:block;padding-top:0}.hero-top{padding-top:13px}.eyebrow{font-size:9px;letter-spacing:1.4px}.moon{font-size:33px}h1{font-size:49px;letter-spacing:-2.5px;margin:22px 0 25px}.hero-aside{padding:0 0 30px}.hero-aside p{font-size:16px;margin:0 0 20px}.hero-aside p br{display:none}.hero-aside p{max-width:300px}.button{font-size:14px}figure img{height:300px}figcaption{font-size:9px;text-align:left;line-height:1.6}.occasions{grid-template-columns:1fr;padding:35px 6%;gap:15px}h2{font-size:42px}.section-intro>p:last-child{max-width:330px}summary{font-size:18px;padding:23px 0}.detail-body{padding-left:23px}.detail-body p{font-size:14px}.planning{grid-template-columns:1fr;padding:28px;margin:10px 5% 40px;gap:15px}.stamp{width:95px;height:95px;font-size:38px}.stamp span{font-size:7px}.planning h2{font-size:32px;letter-spacing:-1.2px}.planning-links{flex-direction:column;gap:20px}.contact{padding:40px 6%}.contact h2{font-size:38px;letter-spacing:-1.5px}.contact-phone{font-size:29px;letter-spacing:-1px;padding:15px 0 25px;gap:10px}.contact-bottom{grid-template-columns:1fr;gap:8px}footer{align-items:flex-start;flex-direction:column;gap:6px}footer p{line-height:1.7}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.request-section{--request-ink:#26233b;--request-paper:#efedf6;--request-accent:#995600;display:grid;grid-template-columns:1fr 1.1fr;gap:7%;padding:70px 5%;background:#efedf6;color:#26233b;border-top:1px solid currentColor}.request-intro h2{font-family:Georgia,serif;font-size:clamp(2.3rem,4vw,4rem);line-height:1.1;margin:22px 0}.request-intro>p{max-width:42ch;font-size:16px;line-height:1.7}.request-help{margin-top:30px}.inquiry{padding:30px;background:#e1ddeb;min-width:0}.inquiry h3{font:1.7rem Georgia,serif;margin:0 0 25px}.inquiry label{display:grid;gap:8px;margin-bottom:18px;font:14px/1.5 Arial,sans-serif}.inquiry input,.inquiry select,.inquiry textarea{width:100%;min-width:0;font:16px Arial,sans-serif;padding:13px;border:1px solid #827b74;border-radius:0;background:#fff;color:#202020}.inquiry textarea{resize:vertical}.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.inquiry button{cursor:pointer;font:16px Arial,sans-serif}.inquiry .action{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 22px;border:0;background:#26233b;color:#efedf6;font-size:16px;text-decoration:none;max-width:100%}.inquiry :focus-visible{outline:3px solid #995600;outline-offset:3px}.inquiry [hidden]{display:none}.inquiry-message{font:16px/1.7 Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}.inquiry-edit,.inquiry-copy{display:block;margin-top:16px;padding:10px 0;background:transparent;border:0;color:inherit;text-decoration:underline}.request-note{font-size:13px!important;line-height:1.6!important;margin:15px 0 0}.location-section{padding:65px 5%;background:#efedf6;color:#26233b}.location-title{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:24px}.location-title h2{font:clamp(2rem,3.5vw,3.1rem)/1.1 Georgia,serif;margin:16px 0}.location-title p{font-size:16px;line-height:1.6}.location-title a{min-height:44px;display:flex;align-items:center}.location-section iframe{display:block;width:100%;height:420px;border:1px solid #aaa}.demo{font-size:12px}.request-section .eyebrow,.location-section .eyebrow{font-size:12px}@media(max-width:800px){.request-section{grid-template-columns:1fr;gap:30px;padding-block:45px}.inquiry{padding:22px}.location-title{display:block}.location-section iframe{height:390px}.location-section{padding-block:45px}}@media(max-width:360px){.inquiry-fields{grid-template-columns:1fr}.inquiry{padding:18px}}

/* Callback demo — visual states; delivery configured separately. */
.callback .field-optional{display:inline;color:inherit;opacity:.7;font-size:12px;margin-top:-5px}.callback .action{width:100%}.callback input,.callback textarea{font-size:16px}.callback-result{padding:12px 0;min-height:260px}.callback-result h4{font:2.4rem Georgia,serif;margin:18px 0 12px}.callback-result p{font-size:16px;line-height:1.6}.callback-check{display:grid;width:54px;height:54px;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:26px}.callback-phone-label{font-size:13px!important;margin-bottom:6px}.callback-number{display:block;font-size:20px;overflow-wrap:anywhere}.callback-edit{display:block;margin-top:25px;padding:12px 0;background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer}.callback [hidden]{display:none}

/* Restrained motion: transform/opacity only; no scroll handlers or hidden resting states. */
.button,.mini,.inquiry .action,.callback-edit{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}
.button:active,.mini:active,.inquiry .action:active{transform:translateY(1px)}
.motion-arrow{display:inline-block;transition:transform .3s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){
  .button:hover,.mini:hover,.inquiry .action:hover{transform:translateY(-2px);box-shadow:0 5px 12px #00000012}
  a:hover .motion-arrow,a:focus-visible .motion-arrow{transform:translate(3px,-3px)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .motion-arrow{transform:none!important}
}

.moon{display:inline-block;transform-origin:center}.hero-top.motion-seen .moon{animation:monrise-moon 1.4s cubic-bezier(.22,1,.36,1) both}.stamp{transition:transform .8s cubic-bezier(.22,1,.36,1)}summary b{transition:transform .3s ease}details[open] .detail-body{animation:monrise-detail .45s ease both}@keyframes monrise-moon{from{transform:rotate(-75deg);opacity:.3}to{transform:rotate(0);opacity:1}}@keyframes monrise-detail{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(hover:hover) and (pointer:fine){.planning:hover .stamp{transform:rotate(0)}summary:hover{color:#746394}}@media(prefers-reduced-motion:reduce){.planning:hover .stamp{transform:rotate(-10deg)}}
