/* Hillstate / September 2026. Wine is the brand anchor; white, mist and ink
   separate the chapters. Motion follows the building's vertical silhouette. */
:root{--paper:#faf9f7;--ink:#25292c;--muted:#687075;--line:#dce0df;--wine:#7b2238;--wine-dark:#50182b;--mist:#edf2f3;--night:#18272e;--ease:cubic-bezier(.22,.68,.18,1)}
body{background:#fff}
button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:#936376;outline-offset:4px}
h2{font-weight:600;letter-spacing:-.06em}
h2 em{font-weight:500}
.hs-heading-line,.hs-title-line{display:block}
.hs-heading-line>span,.hs-title-line>*{display:block}
.hs-header{background:rgba(255,255,255,.98);border-color:rgba(37,41,44,.1);backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);transition:background-color .5s ease,border-color .5s ease,box-shadow .5s ease,backdrop-filter .5s ease,-webkit-backdrop-filter .5s ease}
.hs-header.is-scrolled{background:rgba(255,255,255,.78);border-color:rgba(255,255,255,.5);backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%);box-shadow:0 5px 26px #18272e0c}
.hs-brand{align-items:stretch;text-align:center}
.hs-brand-en{font-size:29px;letter-spacing:-.045em}
.hs-brand-name{display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;font-weight:600;line-height:1.2;letter-spacing:.075em;margin-top:9px;color:#5b454d}
.hs-brand-name::before,.hs-brand-name::after{content:'';height:1px;background:currentColor;opacity:.3;flex:1;min-width:12px}
.hs-header-apply{transition:background .25s ease}
.hs-header-apply:hover{background:var(--wine-dark)}
.hs-nav a::after{height:2px}
.hs-mobile-menu{background:#fff}
.hs-mobile-menu>a{transition:color .2s,padding-left .3s}
.hs-mobile-menu>a:hover{padding-left:8px;color:var(--wine)}

/* The cover: a deep wine opening opposite the clear sky of the existing film. */
.hs-hero{background:var(--wine-dark)}
.hs-hero-copy{background:radial-gradient(ellipse at 6% 4%,#71324755,transparent 68%),linear-gradient(115deg,#511b2d 20%,#421322 100%);color:#fff9f4;isolation:isolate;overflow:hidden}
.hs-hero-copy::before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#511b2d00 70%,#260b1526);pointer-events:none}
.hs-hero-copy::after{content:'';position:absolute;top:30px;bottom:30px;right:26px;width:1px;background:linear-gradient(transparent,#d9b9a859 18%,#d9b9a840 72%,transparent);pointer-events:none;transform-origin:center top}
.hs-hero-relief{position:absolute;z-index:-1;right:0;bottom:-1px;width:49%;height:100%;stroke:none;pointer-events:none;mask-image:linear-gradient(180deg,#000 65%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 65%,transparent)}
.hs-hero-relief .hs-relief-line{fill:none;stroke:#ebc9b4;stroke-width:.75;stroke-opacity:.16;vector-effect:non-scaling-stroke}
.hs-hero-relief .hs-relief-fine{fill:none;stroke:#ebc9b4;stroke-width:.65;stroke-opacity:.055;vector-effect:non-scaling-stroke}
.hs-hero-kicker{color:#e5c9bb}
.hs-hero-kicker i{background:#d4ad9b;width:28px;transform-origin:left}
.hs-hero-intro{color:#d9bdc4;margin-bottom:27px;font-size:14px;letter-spacing:-.015em}
.hs-hero h1{font-size:clamp(44px,4.75vw,88px);font-weight:500;line-height:1.23;letter-spacing:-.055em}
.hs-hero h1 em{color:#efd0bd;font-weight:630}
.hs-hero .hs-title-line+.hs-title-line{margin-top:7px}
.hs-title-line{overflow:hidden;padding-bottom:.055em;margin-bottom:-.055em}
.hs-hero-description{color:#d4bdc6;margin-top:30px;line-height:1.95;font-size:14px;letter-spacing:-.02em;position:relative;padding-left:16px;border-left:1px solid #cba79270}
.hs-hero .hs-button{background:#f5e8de;color:#511b2d;border:1px solid #f5e8de;min-width:215px}
.hs-hero .hs-button:hover{background:#fff;color:var(--wine)}
.hs-hero .hs-hero-cta{background:transparent;color:#f8ece5;border:1px solid #d9b7a665;padding:8px 8px 8px 22px;min-height:72px;min-width:260px;gap:36px;margin-top:36px;box-shadow:inset 0 0 0 1px #ffffff03;transition:background .3s,border-color .3s,box-shadow .3s}
.hs-hero-cta-label{display:flex;flex-direction:column;text-align:left;gap:5px}
.hs-hero-cta-label strong{font-size:14px;font-weight:600;letter-spacing:-.02em;line-height:1.4}
.hs-hero-cta-label small{font-size:10px;letter-spacing:.025em;line-height:1.4;color:#c8abb5;transition:color .3s}
.hs-hero-cta-icon{display:grid;place-items:center;align-self:stretch;width:54px;min-height:54px;background:#edceba;color:#541c2e;transition:background .3s}
.hs-hero .hs-hero-cta:hover{background:#6a304280;border-color:#edceba;color:#fff;box-shadow:0 8px 26px #1e091219}
.hs-hero-cta:hover .hs-hero-cta-icon{background:#fff0e3}
.hs-hero-cta:hover .hs-hero-cta-label small{color:#edced7}
.hs-hero-foot{position:relative;gap:24px}
.hs-hero-foot>span{color:#c4a4ae;line-height:1.6}
.hs-hero-foot::before{content:'';height:1px;background:linear-gradient(90deg,#d0acb348,transparent);position:absolute;left:0;right:0;top:36px}
.hs-hero-foot>a{color:#f5e6df}
.hs-hero-foot>a>span{transition:transform .3s}
.hs-hero-foot>a:hover>span{transform:translateY(5px)}
.hs-hero-index{background:#401525;border-color:#795061;color:#d2b4bf}
.hs-hero-index i{background:#795061;transform-origin:left}
.hs-hero-visual-top{color:#21353d}
.hs-hero-visual::before{content:'';position:absolute;inset:0;z-index:4;background:#511b2d;pointer-events:none;transform:scaleY(0);transform-origin:center top}

/* Deliberately different surfaces, tied together by the same editorial grid. */
.hs-overview{background:#fff}
.hs-overview .hs-side-note{color:#7c878c}
.hs-stats{border-color:#c7cdd0}
.hs-stats strong{font-weight:450}
.hs-stats strong small,.hs-stats p{color:#737a7f}
.hs-overview-image{box-shadow:0 20px 55px -35px #16273060}
.hs-image-button{background:#fff}
.hs-image-button:hover{background:#f3e9ec}
.hs-life{background:var(--mist)}
.hs-life-content{position:relative}
.hs-life-content>.hs-eyebrow{color:#566e79}
.hs-life-content h2 em{color:#3c606f}
.hs-life-lead{color:#647780}
.hs-life-visual{background:#cedce2}
.hs-life-visual-copy .hs-eyebrow{color:#d4e5ec}
.hs-accordion{border-color:#b8c8ce}
.hs-accordion details{overflow:hidden;border-color:#c9d4d8}
.hs-accordion summary{transition:color .3s ease;padding-right:3px}
.hs-accordion summary:focus-visible{outline-offset:-3px;border-radius:2px}
.hs-detail-num{color:#78909b;font-variant-numeric:tabular-nums}
.hs-accordion summary>svg{color:#496c7b}
.hs-accordion summary h3{transition:color .3s ease}
.hs-accordion details>div p{color:#536973}
.hs-accordion details>div>span{color:#6a354a}
.hs-accordion details[open] summary h3{color:inherit}
.hs-accordion details.is-active summary h3{color:var(--wine)}
.hs-accordion details[open] .hs-expand{transform:none}
.hs-accordion details.is-active .hs-expand{transform:rotate(45deg)}
.hs-expand{transition:transform .48s var(--ease)}
.hs-life-content>.hs-text-link{border-color:#b5c5cc;color:#3b5d6a;transition:border-color .3s,color .3s}
.hs-life-content>.hs-text-link:hover{color:var(--wine);border-color:var(--wine)}
.hs-residences{background:#fff}
.hs-unit-tabs>button{background:#fff;transition:background .3s,color .3s}
.hs-unit-tabs>button:hover:not([aria-selected=true]){background:#f4ecef}
.hs-unit-panel{border:1px solid #e0e3e4;border-top:0}
.hs-unit-copy{background:#f4f1f2;border-right:1px solid #e5dce0}
.hs-unit-area{color:#876675;border-color:#d9c9d0}
.hs-unit-copy>p{color:#6d6269}
.hs-unit-tags>span{border-color:#d8c7ce;color:#7a5767}
.hs-unit-options{color:#7c5969}
.hs-unit-drawing{background:#fff}
.hs-disclaimer{color:#7c858b}
.hs-design{background:var(--night);color:#f3f5f4}
.hs-design .hs-eyebrow{color:#b5cdd6}
.hs-design h2 em{color:#b9d0db}
.hs-design .hs-split-heading>div>p{color:#b9c5cb}
.hs-gallery-controls>span{color:#819ca9;font-variant-numeric:tabular-nums}
.hs-gallery-controls b{color:#fff}
.hs-gallery-controls button{display:grid;place-items:center;border-color:#5c727d;color:#e3eef3;transition:background .25s,border-color .25s}
.hs-gallery-controls button:hover{background:#304a57;border-color:#93aab5}
.hs-gallery-controls button svg{width:15px;height:15px}
.hs-gallery-stage{background:#30444f}
.hs-gallery-frames{position:relative;aspect-ratio:1.95;overflow:hidden}
.hs-gallery-frames>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.035);transition:opacity 1s ease,transform 6s linear;will-change:opacity}
.hs-gallery-frames>img.is-active{opacity:1;transform:scale(1);z-index:1}
.hs-gallery-caption{z-index:2;background:linear-gradient(transparent,#12252cbb)}
.hs-gallery-progress{height:3px;background:#ffffff15;position:absolute;bottom:0;left:0;right:0;z-index:3;overflow:hidden}
.hs-gallery-progress i{display:block;height:100%;background:#c8dfe8;transform:scaleX(0);transform-origin:left}
.hs-design-statement p,.hs-design-links small{color:#b6c5cd}
.hs-design-links>button,.hs-design-links>button:last-child{border-color:#4c606b;color:#e4ecf0}
.hs-design-links>button>span{color:#8fabb9}
.hs-design-note{color:#93a9b5}
.hs-registration{background:#f5f1f2}
.hs-registration-copy{background:#672238}
.hs-registration-rule{background:#ccaab86e;transform-origin:left}
.hs-registration-copy>.hs-eyebrow{color:#e6c9cd}
.hs-registration-copy h2 em{color:#ebcbb9}
.hs-registration-copy>p{color:#e2c8d1}
.hs-registration-bottom>span{color:#bc8196}
.hs-registration-bottom>small{color:#d7acbb}
.hs-registration-form{border-color:#e3d7dc}
.hs-fields input{background:#fafbfb;border-color:#d9dfe1;transition:border-color .2s,box-shadow .2s}
.hs-fields input:focus{border-color:var(--wine);box-shadow:0 0 0 3px #7b22380c}
.hs-fields input::placeholder{color:#91979c}
.hs-visit{background:#fff;padding-top:85px;padding-bottom:85px}
.hs-visit-map{background:#f0f4f5;border-color:#dbe4e7}
.hs-visit-map>button>span{border-color:#c6d5db;color:#3d6173}
.hs-visit-copy>p{color:#79848a}
.hs-map-links>a{border-color:#c8d2d7;transition:background .25s,color .25s,border-color .25s}
.hs-map-links>a:hover{background:var(--night);border-color:var(--night);color:#fff}
.hs-footer{background:#19232a;border-color:#33434d;color:#e2e9ed}
.hs-footer .hs-brand-en{color:#f0e3e7}
.hs-footer .hs-brand-name{color:#b3c3cc}
.hs-footer-top>div,.hs-footer-bottom{color:#a9bac4}
.hs-footer-bottom>span{border-color:#394954;color:#718a99}
.hs-mobile-bar>a{background:#f4edf0}
dialog{background:#fff}
.hs-dialog-top{background:#fff;border-color:#e8eaeb}
.hs-dialog-top [data-dialog-close]{border-radius:50%;transition:background .2s,color .2s}
.hs-dialog-top [data-dialog-close]:hover{background:#f4e9ee;color:var(--wine)}
#hs-alert-title:focus{outline:none}
.hs-alert-mark{background:#f6eef1;border-color:#e5d1da}

/* Entrance: a vertical architectural reveal, masked headline and drawn seam.
   CSS animations terminate naturally even if the application script fails. */
@keyframes hs-rise-line{from{transform:translateY(112%)}to{transform:translateY(0)}}
@keyframes hs-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes hs-seam{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}
@keyframes hs-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes hs-curtain{from{transform:scaleY(1)}to{transform:scaleY(0)}}
@media(prefers-reduced-motion:no-preference){
 .hs-entering .hs-header .hs-brand,.hs-entering .hs-nav,.hs-entering .hs-header-actions{animation:hs-arrive .7s var(--ease) both}
 .hs-entering .hs-nav{animation-delay:.14s}.hs-entering .hs-header-actions{animation-delay:.24s}
 .hs-entering .hs-hero-copy::after{animation:hs-seam 1.2s var(--ease) .12s both}
 .hs-entering .hs-hero-relief{animation:hs-seam 1.7s var(--ease) .15s both;transform-origin:center bottom}
 .hs-entering .hs-hero-visual::before{animation:hs-curtain 1.35s cubic-bezier(.76,0,.24,1) .15s both}
 .hs-entering .hs-hero-kicker{animation:hs-arrive .8s var(--ease) .2s both}
 .hs-entering .hs-hero-kicker i{animation:hs-draw .75s var(--ease) .35s both}
 .hs-entering .hs-hero-intro{animation:hs-arrive .8s var(--ease) .4s both}
 .hs-entering .hs-title-line>*{animation:hs-rise-line 1.05s var(--ease) .46s both}
 .hs-entering .hs-title-line:nth-child(2)>*{animation-delay:.62s}
 .hs-entering .hs-hero-description{animation:hs-arrive .85s var(--ease) .85s both}
 .hs-entering .hs-hero-copy>.hs-button{animation:hs-arrive .8s var(--ease) 1s both}
 .hs-entering .hs-hero-foot,.hs-entering .hs-hero-index{animation:hs-arrive .8s var(--ease) 1.15s both}
 .hs-entering .hs-hero-index i{animation:hs-draw 1s var(--ease) 1.15s both}
 .hs-motion .hs-motion-item{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease) var(--reveal-delay,0ms),transform .9s var(--ease) var(--reveal-delay,0ms)}
 .hs-motion .hs-motion-item.is-visible,.hs-motion .hs-motion-item:focus-within{opacity:1;transform:none}
 .hs-motion .hs-heading-line{opacity:1;transform:none;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
 .hs-motion .hs-heading-line>span{transform:translateY(115%);transition:transform 1s var(--ease) var(--reveal-delay,0ms)}
 .hs-motion .hs-heading-line.is-visible>span{transform:none}
 .hs-motion .hs-motion-image{transform:none;clip-path:inset(0 0 12% 0);transition:clip-path 1.1s var(--ease),opacity 1s ease}
 .hs-motion .hs-motion-image.is-visible{clip-path:inset(0)}
 .hs-motion .hs-registration-rule{transform:scaleX(0)}
 .hs-motion .hs-registration-rule.is-visible{transform:scaleX(1)}
}
@media(max-width:950px){
 .hs-hero-copy::after{right:14px;top:24px;bottom:24px}
 .hs-hero .hs-button{min-width:180px}
 .hs-hero .hs-hero-cta{min-width:220px;min-height:66px;padding:7px 7px 7px 18px;gap:24px}
 .hs-hero-cta-icon{width:48px;min-height:48px}
 .hs-hero-cta-label strong{font-size:13px}
 .hs-hero-description{font-size:13px}
 .hs-brand-en{font-size:28px}
}
@media(max-width:700px){
 .hs-brand-en{font-size:25px}
 .hs-brand-name{font-size:9px;gap:8px;margin-top:7px;letter-spacing:.075em}
 .hs-hero-copy{padding-top:38px;padding-bottom:36px}
 .hs-hero-copy::after{right:18px;top:26px;bottom:26px}
 .hs-hero-relief{width:48%;height:112%;opacity:.8}
 .hs-hero-intro{margin-top:28px}
 .hs-hero h1{font-size:clamp(40px,10.7vw,64px)}
 .hs-hero-description{font-size:12px}
 .hs-hero .hs-button{min-width:185px}
 .hs-hero .hs-hero-cta{min-width:207px;min-height:64px;margin-top:28px;gap:20px;padding-left:16px}
 .hs-hero-cta-label strong{font-size:12px}
 .hs-hero-cta-label small{font-size:9px}
 .hs-hero-foot{position:absolute;right:24px;bottom:57px}
 .hs-hero-foot::before{display:none}
 .hs-hero-foot>a{font-size:9px;gap:8px}
 .hs-hero-visual{margin-left:0;height:450px}
 .hs-hero-index{font-size:6px}
 .hs-life-visual{margin-right:0}
 .hs-hero-visual::before{background:#511b2d}
 .hs-unit-copy{border-right:0;border-bottom:1px solid #e5dce0}
 .hs-unit-copy>p{border-color:#d9c9d0}
 .hs-gallery-frames{aspect-ratio:1.24}
 .hs-gallery-frames>img{object-position:50% 50%}
 .hs-visit{padding-top:58px;padding-bottom:58px}
 .hs-footer{padding-bottom:95px}
}
@media(max-width:360px){.hs-hero h1{font-size:38px}.hs-hero .hs-button{min-width:180px}.hs-hero-visual{height:390px}.hs-hero-copy::after{right:12px}}
@media(prefers-reduced-motion:reduce){.hs-hero-visual::before{display:none}.hs-gallery-frames>img{transform:none}.hs-motion-item,.hs-heading-line>span{opacity:1!important;transform:none!important;clip-path:none!important}}
@media print{.hs-motion-item,.hs-heading-line>span{opacity:1!important;transform:none!important;clip-path:none!important}.hs-hero-visual::before{display:none}}
