.hero-framed{min-height:620px;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:30px;padding:48px max(5vw,calc((100vw - 1240px)/2)) 65px;background-color:#790b1b;background-image:linear-gradient(90deg,#790b1b55,#790b1b22),url('assets/aroma-damask-pattern.webp');background-size:auto,520px;overflow:hidden}
.hero-framed:after{content:'';position:absolute;bottom:0;left:0;right:0;height:14px;border-top:3px solid #d4a83b;border-bottom:3px solid #d4a83b;background:repeating-linear-gradient(90deg,#d4a83b 0 8px,transparent 8px 20px);opacity:.75;z-index:-1}
.hero-framed .hero-copy{padding:0;max-width:none;z-index:2}.hero-framed h1{font-size:clamp(60px,6.5vw,94px);line-height:.98;margin-bottom:24px}.hero-framed .hero-description{font-size:22px;line-height:1.4;margin-bottom:20px}.hero-location{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;margin-bottom:25px}.hero-framed .explore{margin-top:20px}.hero-frames{position:relative;padding:0 5px 62px 32px;align-self:center;min-width:0;z-index:1}.frame-main{position:relative;padding:10px;background:#d7ae4f;border:1px solid #fce2a1;border-radius:10px;transform:rotate(2deg);box-shadow:0 14px 30px #30061155;animation:frame-main-in 1.1s .15s cubic-bezier(.2,.8,.2,1) both}.frame-main img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:3px}.frame-inset{position:absolute;width:43%;left:-30px;bottom:0;padding:7px;background:#fff3d4;border-radius:7px;box-shadow:0 10px 25px #26040b55;transform:rotate(-4deg);animation:frame-inset-in 1.15s .35s cubic-bezier(.2,.8,.2,1) both}.frame-inset img{width:100%;height:auto;aspect-ratio:4/3;border-radius:2px}.frame-inset span{display:block;font-size:9px;letter-spacing:1px;font-weight:800;color:#781423;text-align:center;padding:5px 0 0}.services{position:relative}.services:before{content:'';position:absolute;top:0;left:0;right:0;height:8px;background:#d6ad4c}.service-card:nth-child(even){transform:none}.service-card{box-shadow:0 5px 0 #e9d6bb}.service-card:hover{transform:translateY(-5px)}.service-copy{border-bottom:4px solid #a60d21}.service-grid{row-gap:32px}.rooms{border-top:8px solid #d2a64b}.section-heading h2,.location-copy h2{overflow:hidden}.js .reveal{translate:0 45px;transition:opacity .85s ease,translate .85s cubic-bezier(.16,1,.3,1)}.service-card.reveal:nth-child(even){transition-delay:.12s}.js .reveal h2{transform:translateY(18px);transition:transform .9s cubic-bezier(.16,1,.3,1)}.js .reveal.visible h2{transform:translateY(0)}
@keyframes frame-main-in{from{opacity:0;transform:translate(30px,35px) rotate(5deg)}to{opacity:1;transform:translate(0,0) rotate(2deg)}}@keyframes frame-inset-in{from{opacity:0;transform:translate(-15px,35px) rotate(-8deg)}to{opacity:1;transform:translate(0,0) rotate(-4deg)}}
@media(min-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card:nth-child(4n+2),.service-card:nth-child(4n+3){background:#fff0df}}
@media(max-width:900px) and (min-width:601px){.hero-framed{gap:15px;padding:42px 25px 58px;min-height:520px}.hero-framed h1{font-size:60px}.hero-framed .hero-description{font-size:18px}.hero-location{font-size:13px}.hero-frames{padding-left:15px}.frame-inset{left:0}.hero-framed .button{font-size:14px;padding:10px}.hero-framed .eyebrow{font-size:10px}}
@media(max-width:600px){.hero-framed{display:flex;flex-direction:column;gap:16px;min-height:0;padding:24px 22px 28px;background-size:auto,330px}.hero-framed .hero-copy{order:0;width:100%;padding:0}.hero-framed .hero-copy:before{display:none}.hero-framed .eyebrow{font-size:9px;margin-bottom:10px}.hero-framed h1{font-size:clamp(43px,12vw,65px);line-height:.96;margin-bottom:14px}.hero-framed .hero-description{font-size:16px;line-height:1.35;margin-bottom:12px}.hero-location{font-size:12px;gap:6px;margin-bottom:0}.hero-location svg{width:16px;height:16px}.hero-framed .explore{display:none}.hero-frames{order:1;padding:0 4px 34px 30px;width:100%;margin-top:3px}.frame-main{padding:7px;border-radius:7px}.frame-inset{width:43%;left:0;bottom:0;padding:5px;border-radius:5px}.frame-inset span{font-size:6px;letter-spacing:.6px;padding-top:4px}.hero-framed:after{height:8px;border-width:2px}.service-grid{row-gap:20px}.service-card.reveal:nth-child(even){transition-delay:0}.service-copy{border-bottom-width:3px}}
@media(max-width:600px) and (max-height:680px){.hero-framed{padding-top:18px;gap:12px}.hero-framed h1{font-size:43px;margin-bottom:10px}.hero-framed .eyebrow{margin-bottom:8px}.hero-framed .hero-description{font-size:14px;margin-bottom:10px}.hero-frames{max-width:310px}.hero-framed .hero-location{font-size:11px}}
@media(prefers-reduced-motion:reduce){.frame-main,.frame-inset{animation:none}.js .reveal,.js .reveal h2{translate:none;transform:none;opacity:1;transition:none}.service-card:hover{transform:none}.frame-main{transform:rotate(2deg)}.frame-inset{transform:rotate(-4deg)}}
