:root{--dark:#172d36;--sand:#c8c3b6;--paper:#f4f1e8;--white:#f7f3ea;--max:1180px;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--dark);opacity:1;font-family:Optima Lt Pro,Optima,Georgia,Times New Roman,serif;font-size:15px;line-height:1.7;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}header{z-index:80;height:58px;color:var(--white);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#172d36b8;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:0 5vw;display:flex;top:0;left:0;right:0;position:fixed!important;transform:none!important}.brand-logo img{width:auto;height:26px}nav{letter-spacing:.22em;text-transform:uppercase;gap:24px;font-size:10px;display:flex}.header-actions{align-items:center;gap:14px;display:flex}.language-switch{align-items:center;gap:6px;display:flex}.lang-option{color:#f7f3ea94;letter-spacing:.18em;cursor:pointer;text-transform:uppercase;background:0 0;border:0;padding:6px 2px;font-family:inherit;font-size:11px}.lang-option.active{color:var(--white);border-bottom:1px solid #f7f3ead9}.lang-separator{color:#f7f3ea59;font-size:10px}.pill{color:var(--dark);background:var(--sand);letter-spacing:.22em;text-transform:uppercase;border-radius:999px;padding:8px 20px;font-size:10px}.mobile-menu-toggle span,.mobile-menu-toggle:before,.mobile-menu-toggle:after{content:"";height:1px;transition:.35s var(--ease);background:currentColor;position:absolute;left:11px;right:11px}.hero{background:var(--dark);min-height:72vh;color:var(--white);padding:130px max(7vw,calc((100vw - var(--max))/2)) 70px;align-items:end;display:grid;position:relative;overflow:hidden}.hero:after{content:"";z-index:1;background:linear-gradient(#172d3614,#172d36c7);position:absolute;inset:0}.hero img{object-fit:cover;opacity:.82;width:100%;height:100%;position:absolute;inset:0}.hero-copy{z-index:2;max-width:760px;position:relative}.kicker{letter-spacing:.32em;text-transform:uppercase;opacity:.82;margin-bottom:24px;font-size:12px}.hero h1{letter-spacing:.08em;text-transform:uppercase;font-size:clamp(42px,6vw,84px);font-weight:400;line-height:1.02}.intro{padding:86px max(7vw,calc((100vw - var(--max))/2));grid-template-columns:.75fr 1.25fr;gap:70px;display:grid}.intro h2{letter-spacing:.11em;text-transform:uppercase;font-size:clamp(24px,3vw,42px);font-weight:400;line-height:1.14}.intro p{opacity:.78;font-size:16px;line-height:1.8}.gallery-section{background:var(--paper);padding:0 0 94px;overflow:hidden}.gallery-head{padding:0 max(7vw,calc((100vw - var(--max))/2)) 28px;justify-content:space-between;align-items:end;display:flex}.gallery-head h2{letter-spacing:.28em;text-transform:uppercase;font-size:14px;font-weight:400}.gallery-help{letter-spacing:.18em;text-transform:uppercase;opacity:.58;font-size:11px}.room-gallery{padding:0 max(7vw,calc((100vw - var(--max))/2)) 22px;cursor:grab;scroll-snap-type:x mandatory;scrollbar-width:thin;gap:14px;display:flex;overflow-x:auto}.room-gallery.dragging{cursor:grabbing}.room-gallery::-webkit-scrollbar{height:5px}.room-gallery::-webkit-scrollbar-thumb{background:#172d3659;border-radius:999px}.room-gallery img{object-fit:cover;scroll-snap-align:start;width:min(78vw,920px);min-width:min(78vw,920px);height:min(72vh,620px)}.room-gallery img.small{width:min(48vw,560px);min-width:min(48vw,560px)}.features{background:var(--dark);color:var(--white);padding:82px max(7vw,calc((100vw - var(--max))/2));grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.feature{border-top:1px solid #f7f3ea3d;padding-top:18px}.feature h3{letter-spacing:.22em;text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:400}.feature p{opacity:.76;font-size:14px;line-height:1.65}.cta{background:var(--sand);text-align:center;padding:78px 24px}.cta h2{letter-spacing:.11em;text-transform:uppercase;margin-bottom:28px;font-size:clamp(24px,3vw,42px);font-weight:400}.btn{background:var(--dark);min-height:44px;color:var(--white);letter-spacing:.22em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:12px 28px;font-size:10px;display:inline-flex}footer{background:var(--dark);color:var(--white);padding:70px max(8vw,calc((100vw - var(--max))/2));justify-content:space-between;align-items:flex-start;gap:48px;display:flex}footer img{height:34px}footer p{letter-spacing:.12em;opacity:.76;font-size:13px;line-height:1.6}@media (max-width:980px){header nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;visibility:hidden;pointer-events:none;height:calc(100svh - 58px);transition:.35s var(--ease);z-index:1001;background:#172d36fa;flex-direction:column;padding:18px 7vw 38px;position:fixed;top:58px;left:0;right:0;overflow:auto;transform:translateY(-12px);gap:0!important;display:flex!important}body.mobile-nav-open header nav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}header nav a{border-bottom:1px solid #f7f3ea1f;padding:16px 0;letter-spacing:.22em!important;font-size:12px!important}.mobile-menu-toggle{display:inline-flex!important}.header-actions .pill{display:none!important}.intro{grid-template-columns:1fr;gap:34px}.features{grid-template-columns:1fr 1fr}.room-gallery img,.room-gallery img.small{width:84vw;min-width:84vw;height:56vh}footer{flex-direction:column}}@media (max-width:560px){.features{grid-template-columns:1fr}.hero{min-height:68vh}.hero h1{font-size:38px}}@media (max-width:980px){.mobile-menu-toggle{flex:none;display:inline-flex!important}.header-actions .pill{display:none!important}header nav{-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:1001!important;background:#172d36fa!important;flex-direction:column!important;gap:0!important;height:calc(100svh - 58px)!important;max-height:none!important;padding:18px 7vw 38px!important;transition:all .35s cubic-bezier(.16,1,.3,1)!important;display:flex!important;position:fixed!important;top:58px!important;left:0!important;right:0!important;overflow:auto!important;transform:translateY(-12px)!important}body.mobile-nav-open header nav{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important}header nav a{width:100%;letter-spacing:.22em!important;color:var(--white)!important;border-bottom:1px solid #f7f3ea1f!important;padding:16px 0!important;font-size:12px!important;display:flex!important}}.nav-item{display:contents!important}.mega-menu{display:none!important}header nav a{white-space:nowrap}@media (max-width:980px){header nav a{white-space:normal}}body{opacity:1!important}body.is-leaving{opacity:0!important}header{z-index:1000!important;position:fixed!important;top:0!important;left:0!important;right:0!important;transform:none!important}header.header-hidden{transform:none!important}.nav-item,.mega-menu{display:none!important}.mobile-menu-toggle{width:40px;height:40px;color:var(--white);cursor:pointer;z-index:1002;background:#f7f3ea0f;border:1px solid #f7f3ea42;border-radius:50%;display:none;position:relative}.mobile-menu-toggle span,.mobile-menu-toggle:before,.mobile-menu-toggle:after{content:"";background:currentColor;height:1px;transition:all .35s cubic-bezier(.16,1,.3,1);position:absolute;left:11px;right:11px}.mobile-menu-toggle span{top:19px}.mobile-menu-toggle:before{top:14px}.mobile-menu-toggle:after{top:24px}body.mobile-nav-open .mobile-menu-toggle span{opacity:0}body.mobile-nav-open .mobile-menu-toggle:before{top:19px;transform:rotate(45deg)}body.mobile-nav-open .mobile-menu-toggle:after{top:19px;transform:rotate(-45deg)}@media (max-width:980px){.mobile-menu-toggle{flex:none;display:inline-flex!important}.header-actions .pill{display:none!important}header nav{-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:1001!important;background:#172d36fa!important;flex-direction:column!important;gap:0!important;height:calc(100svh - 58px)!important;max-height:none!important;padding:18px 7vw 38px!important;transition:all .35s cubic-bezier(.16,1,.3,1)!important;display:flex!important;position:fixed!important;top:58px!important;left:0!important;right:0!important;overflow:auto!important;transform:translateY(-12px)!important}body.mobile-nav-open header nav{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important}header nav a{width:100%;letter-spacing:.22em!important;color:var(--white)!important;border-bottom:1px solid #f7f3ea1f!important;padding:16px 0!important;font-size:12px!important;display:flex!important}}.scroll-detail{z-index:4;pointer-events:none;color:currentColor;opacity:0;transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1);position:absolute;transform:translateY(24px)}.scroll-detail.visible{opacity:.72;transform:translateY(0)}.detail-line{opacity:.38;background:currentColor;width:1px;height:92px}.detail-word{letter-spacing:.34em;text-transform:uppercase;writing-mode:vertical-rl;opacity:.62;font-size:10px}.detail-dot{opacity:.48;background:currentColor;border-radius:50%;width:7px;height:7px}.layer-parallax,.scroll-scale{will-change:transform, opacity}.scene-pin{position:relative;overflow:hidden}.scene-pin:before{content:"";pointer-events:none;opacity:0;z-index:1;background:radial-gradient(circle at 72% 22%,#f7f3ea1f,#0000 28%);transition:opacity 1.2s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.scene-pin.visible:before{opacity:1}.ritmo-section{background:var(--dark);height:170vh;color:var(--white);position:relative;overflow:hidden}.ritmo-bg{filter:blur(10px);background:linear-gradient(#172d3694,#172d36e6),url(https://zqhdjffgwfcrpnjnyagx.supabase.co/storage/v1/object/public/macal/brand-landscape.jpg) 50%/cover no-repeat;height:100vh;transition:filter 1.2s cubic-bezier(.16,1,.3,1);position:sticky;top:0;transform:scale(1.1)}.ritmo-section.active .ritmo-bg{filter:blur()}.ritmo-content{z-index:3;text-align:center;width:min(760px,86vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ritmo-step{letter-spacing:.34em;text-transform:uppercase;opacity:.62;margin-bottom:28px;font-size:11px;display:block}.ritmo-title{letter-spacing:.1em;text-transform:uppercase;opacity:0;font-size:clamp(30px,4.6vw,64px);font-weight:400;line-height:1.08;transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);transform:translateY(42px)}.ritmo-text{opacity:0;max-width:560px;margin:28px auto 0;font-size:16px;line-height:1.75;transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);transform:translateY(36px)}.ritmo-section.show-copy .ritmo-title,.ritmo-section.show-copy .ritmo-text{opacity:.86;transform:translateY(0)}@media (max-width:760px){.scroll-detail{display:none}.ritmo-section{height:150vh}}.card-action{justify-content:flex-start;width:100%;margin-top:16px;display:flex}.card-action .btn{text-align:left;margin-left:0;display:inline-block}.room-gallery{-webkit-user-select:none;user-select:none;scroll-behavior:smooth;overscroll-behavior-x:contain}.room-gallery.is-edge-scrolling,.room-gallery.is-click-scrolling{cursor:ew-resize}.room-gallery.dragging{scroll-behavior:auto}.room-gallery img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.room-gallery-embla{cursor:grab;padding:0 0 22px}.room-gallery-embla:active{cursor:grabbing}.room-gallery-embla .embla__slide{flex-basis:min(78vw,920px);height:min(72vh,620px);margin-right:14px}.room-gallery-embla .embla__slide.small{flex-basis:min(48vw,560px)}.room-gallery-embla img{object-fit:cover;cursor:zoom-in;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}
