.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));columns:auto;gap:18px;align-items:stretch}.card{margin:0;display:flex;flex-direction:column}.card .service-details{height:auto;flex:1}.card .add-service{height:auto;flex-direction:row;flex-shrink:0}.cardimage,.card:nth-child(3n+2) .cardimage,.card:nth-child(3n) .cardimage{aspect-ratio:4/3.5;flex-shrink:0}.cardtext{flex:1;padding:16px}.cardtext strong{font-size:18px;line-height:1.3}.duration{margin-bottom:15px;font-size:12px}.card h3{font-weight:700}.category{max-width:calc(100% - 20px);white-space:normal}.sim-feature{grid-column:1/-1;border-radius:18px;overflow:hidden;background:#66302d;color:#e6dcd0;display:flex;flex-direction:row;min-height:300px}.sim-visual{position:relative;width:42%;display:grid;grid-template-columns:1fr 1fr;gap:5px;overflow:hidden}.sim-visual img{width:100%;height:100%;object-fit:cover}.sim-visual img+img{transform:translateY(35px)}.sim-visual span{position:absolute;bottom:12px;left:12px;background:#e6dcd0;color:#66302d;padding:9px 13px;border-radius:25px;font-size:12px}.sim-copy{padding:24px;width:58%;display:flex;flex-direction:column}.sim-copy h3{font-size:36px;line-height:1.08;margin:0 0 20px;font-weight:400;letter-spacing:-.035em}.sim-copy>p:not(.eyebrow){font-size:15px;line-height:1.6}.sim-copy form{margin-top:auto}.sim-copy label{display:block;font-size:13px;margin:18px 0 8px}.sim-copy select{font:14px Lato,Arial,sans-serif;width:100%;min-height:48px;border-radius:8px;border:1px solid #bc918e;background:#e6dcd0;color:#66302d;padding:10px;overflow:hidden}.sim-copy button{width:100%;min-height:50px;border-radius:10px;background:#e0c6ba;color:#66302d;padding:12px;font-size:14px;line-height:1.4}.sim-copy button:disabled{opacity:.5;cursor:default}.sim-copy small{font-size:11px;line-height:1.5;margin-top:16px;opacity:.8}#sim-feedback{font-size:12px;line-height:1.5;min-height:36px}.pair-note{padding:15px;border-radius:10px;background:#e0c6ba;font-size:14px;line-height:1.5}.cart-bar strong{font-size:14px}.cart-bar{gap:8px}.cart-total strong{font-size:18px;text-align:right}
@media(min-width:1000px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.cards{gap:10px}.sim-feature{min-height:270px}.sim-visual{width:39%;grid-template-columns:1fr}.sim-visual img+img{display:none}.sim-visual span{left:8px;right:8px;text-align:center;font-size:10px;padding:8px 3px}.sim-copy{width:61%;padding:14px 12px}.sim-copy h3{font-size:25px;margin-bottom:10px}.sim-copy .eyebrow{font-size:8px;line-height:1.6;letter-spacing:.12em}.sim-copy>p:not(.eyebrow){font-size:12px;margin:0}.sim-copy label{font-size:11px;margin:9px 0 4px}.sim-copy select{font-size:13px;min-height:38px;padding:6px}.sim-copy button{min-height:41px;font-size:11px;padding:8px}.sim-copy small{display:none}.cardtext{padding:11px}.card h3{font-size:19px}.cardtext>p{font-size:13px}.cardtext strong{font-size:16px}.cart-bar span{font-size:11px}}
/* Larger immersive surface on phones, followed by the menu after ~1.5 screens. */
.hero{height:150svh}.hero-stage{height:100svh;min-height:0}
@media(max-width:849px){.hero-heading{top:4%;left:6%;right:6%}.hero h1{font-size:36px}.hero .eyebrow{margin-bottom:9px}.hero .intro{display:none}.immersive-gallery{inset:22% -8% 17%;mask-image:linear-gradient(transparent,#000 5%,#000 94%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 5%,#000 94%,transparent)}.unfurl-photo{height:43svh;min-height:0;max-height:none;width:31%;border-width:3px}.hero-bottom{bottom:93px;gap:5px}.hero-bottom small,.scroll-hint,.scroll-track{display:none}.hero .button{min-height:44px;background:#e6dcd0ed}.hero-stage{overflow:hidden}}
@media(prefers-reduced-motion:reduce){.hero{height:auto}.hero-stage{height:auto}.immersive-gallery{margin:25px 0}.unfurl-photo{height:150px}.hero-bottom{position:static}}

/* Keep the human action visible in service and simultaneous imagery. */
.sim-visual{display:block}.sim-visual .sim-human-photo{object-position:50% 50%;height:100%;width:100%}.cart-row img{object-fit:cover}.cardimage img{object-fit:cover}
@media(max-width:600px){.sim-visual .sim-human-photo{object-position:45% 50%}}
