@font-face{font-family:'Poppins';src:url('/assets/fonts/Poppins-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('/assets/fonts/Poppins-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('/assets/fonts/Poppins-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('/assets/fonts/Poppins-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('/assets/fonts/Poppins-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('/assets/fonts/Poppins-ExtraBold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('/assets/fonts/Poppins-LightItalic.ttf') format('truetype');font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:'Poppins';src:url('/assets/fonts/Poppins-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
:root{--wine:#412232;--paper:#f6f4ef;--ink:#292725;--muted:#77716b;--line:#d8d2ca;--accent:#bd916f;--sans:'Poppins',Arial,sans-serif;--serif:'Poppins',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--wine);color:white}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:white;padding:12px}.skip:focus{top:12px}.header{height:108px;padding:0 4.5%;position:absolute;inset:0 0 auto;z-index:40;display:flex;align-items:center;gap:40px;color:white;border-bottom:1px solid #ffffff35;transition:background .4s,color .4s,height .4s}.brand{width:162px;display:block;font-size:30px;letter-spacing:.1em}.brand img{width:100%;filter:brightness(0) invert(1)}.desktop-nav{display:flex;gap:32px;margin:auto;font-size:14px}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover:after{transform:scaleX(1)}.header-cta{font-size:13px;padding:15px 20px;border:1px solid #ffffff70;display:flex;gap:30px}.header-cta span{font-size:20px}.menu-toggle{display:none}.hero{height:100svh;min-height:760px;position:relative;overflow:hidden;color:white;background:#2c3331}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 52%;animation:heroZoom 2.4s cubic-bezier(.2,.65,.3,1) both}.hero-shade{background:linear-gradient(90deg,#151d23a6 0%,#15202828 70%),linear-gradient(0deg,#171c1bd6,transparent 65%,#17212445)}.hero-content{position:relative;padding:225px 6% 0;z-index:2}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:600;margin:0 0 30px}.hero h1{font-family:var(--serif);font-size:clamp(64px,6.7vw,112px);font-weight:400;line-height:.99;letter-spacing:-.03em;margin:0 0 42px}.hero h1 span{display:block;animation:rise 1.3s .15s both}.hero h1 span+span{animation-delay:.3s}em{font-family:var(--serif);font-weight:400}.hero-intro{display:flex;align-items:center;gap:70px;animation:rise 1s .5s both}.hero-intro p{font-size:14px;line-height:1.8;color:#ffffffe0}.button{padding:19px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:44px;font-size:13px;background:var(--wine);color:white;transition:background .3s,transform .3s;border:1px solid transparent}.button:hover{background:#624454;transform:translateY(-3px)}.button span{font-size:23px;line-height:1}.button.light{background:var(--paper);color:var(--wine)}.button.light:hover{background:white}.hero-bottom{position:absolute;bottom:32px;left:6%;right:4.5%;display:flex;justify-content:space-between;align-items:end;z-index:2}.scroll-cue{display:flex;align-items:center;gap:15px;font-size:10px;letter-spacing:.16em}.scroll-cue i{font-style:normal;font-size:25px;border:1px solid #ffffff80;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;animation:float 3s infinite}.hero-feature{display:flex;align-items:center;background:#412232dc;backdrop-filter:blur(16px);padding:12px;gap:20px;width:340px}.hero-feature img{width:100px;height:77px;object-fit:cover}.hero-feature div span{display:block;font-size:9px;letter-spacing:.14em;margin-bottom:9px}.hero-feature strong{font-family:var(--serif);font-size:25px;font-weight:400}.hero-feature b{font-weight:400;font-size:24px;margin-left:auto;padding:10px}.hero-count{position:absolute;right:26px;top:45%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.25em}.section{padding:120px 7%}.intro h2{font-size:clamp(40px,4.9vw,75px);font-family:var(--serif);font-weight:400;line-height:1.13;letter-spacing:-.02em;margin:0}.intro h2 em{color:#9a8371}.intro-bottom{display:grid;grid-template-columns:1fr 1fr;margin-top:80px;gap:15%}.since{font-family:var(--serif);font-size:90px;line-height:1}.since small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.16em;margin-top:20px}.intro-bottom p{font-size:16px;line-height:1.9;margin-top:0;color:var(--muted)}.text-link{display:inline-flex;gap:50px;font-size:14px;border-bottom:1px solid var(--line);padding:16px 0;color:var(--wine)}.text-link span{font-size:22px}footer{padding:60px 7%;background:var(--wine);color:white;display:flex;justify-content:space-between;align-items:center}footer p{font-size:14px}@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}@keyframes float{50%{transform:translateY(5px)}}@media(min-width:1600px){.hero-content{padding-top:29vh}}@media(max-width:800px){.header{height:85px;padding:0 6%}.brand{width:132px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;margin-left:auto;background:none;color:inherit;border:0;gap:15px;font-size:14px}.hero{min-height:760px;height:100svh}.hero-content{padding:200px 7% 0}.hero h1{font-size:64px;line-height:1.05}.hero-intro{display:block}.hero-intro p{margin-bottom:24px}.hero-feature{display:none}.hero-bottom{bottom:36px;left:7%}.hero-count{display:none}.section{padding:80px 7%}.intro-bottom{grid-template-columns:1fr;gap:42px;margin-top:40px}.since{font-size:65px}footer{flex-direction:column;align-items:start;gap:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Shared editorial system */
h2{font-family:var(--serif);font-size:clamp(42px,4.5vw,72px);font-weight:400;line-height:1.05;letter-spacing:-.025em;margin:0 0 30px}h2 em,h1 em{font-weight:400}.solid-header .header{color:var(--wine);border-color:var(--line);position:absolute}.solid-header .brand img{filter:none}.solid-header .header-cta{border-color:var(--line)}.header.scrolled{position:fixed;height:78px;background:#f6f4eff5;backdrop-filter:blur(15px);color:var(--wine);border-color:var(--line);animation:rise .35s}.header.scrolled .brand img{filter:none}.header.scrolled .header-cta{border-color:var(--line)}.header.scrolled .brand{width:133px}.reveal{opacity:1}.motion-ready .reveal{opacity:0;transform:translateY(35px);transition:opacity 1s,transform 1.1s cubic-bezier(.2,.7,.25,1)}.motion-ready .reveal.visible{opacity:1;transform:none}.menu-dialog{position:fixed;max-width:none;max-height:none;inset:0;width:100%;height:100dvh;margin:0;border:0;background:var(--wine);color:var(--paper);padding:32px 7%;z-index:100}.menu-dialog[open]{display:flex;flex-direction:column}.menu-top{display:flex;justify-content:space-between;align-items:center}.menu-top>span{font-size:25px;letter-spacing:.15em}.menu-close{background:none;border:0;color:inherit;padding:12px;font-size:15px}.menu-dialog nav{display:flex;flex-direction:column;gap:28px;margin:auto 0;font-family:var(--serif);font-size:clamp(36px,7vw,85px);line-height:1}.menu-dialog nav a:hover{color:#caa78c}.menu-dialog>p{font-size:11px;letter-spacing:.2em}.section-heading{display:flex;justify-content:space-between;align-items:end;padding-top:50px;padding-bottom:65px}.section-heading h2{margin-bottom:0}.section-heading em{color:#9a8371}.project-stack{padding:0 3.5% 50px}.stack-panel{height:85svh;min-height:570px;position:sticky;top:92px;overflow:hidden;color:white;margin-bottom:36px;isolation:isolate}.stack-photo,.stack-shade{position:absolute;inset:0;z-index:-1}.stack-photo img{width:100%;height:110%;object-fit:cover;will-change:transform}.stack-shade{background:linear-gradient(0deg,#0e1928a8,transparent 80%),linear-gradient(90deg,#0003,transparent)}.stack-content{position:absolute;bottom:70px;left:6%}.stack-content h3{font-family:var(--serif);font-size:clamp(66px,8vw,125px);font-weight:400;line-height:1;margin:20px 0}.stack-content p{font-size:16px;margin:20px 0 34px}.stack-content .eyebrow{font-size:11px}.stack-counter{position:absolute;right:6%;bottom:72px;font-size:13px;letter-spacing:.2em}.manifesto{text-align:center;padding:150px 14%}.manifesto .eyebrow{margin-bottom:45px}.reading-text{font-family:var(--serif);font-size:clamp(36px,4.8vw,72px);line-height:1.18;margin:0;color:var(--wine)}.reading-text span{transition:color .25s}.motion-ready .reading-text span{color:#ccc5bc}.motion-ready .reading-text span.read{color:var(--wine)}.living-stage{height:160svh;position:relative}.living-sticky{height:100svh;position:sticky;top:0;overflow:hidden;background:var(--paper)}.living-image{position:absolute;inset:0;overflow:hidden;clip-path:inset(8% 10% 8% 10%);will-change:clip-path}.living-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0008,transparent 85%)}.living-image img{width:100%;height:100%;object-fit:cover}.living-caption{position:absolute;left:16%;top:25%;color:white}.living-caption h2{font-size:clamp(64px,7vw,110px);line-height:.98}.living-caption>span{font-size:11px}.values{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:150px;padding-bottom:150px}.values h2 em{color:#9a8371}.values-list details{border-top:1px solid var(--line);padding:27px 0}.values-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:16px}summary::-webkit-details-marker{display:none}summary span{font-size:26px;font-weight:400}details[open] summary span{transform:rotate(45deg)}details p{line-height:1.8;color:var(--muted);font-size:14px;padding-right:30px}.contact-cta{background:var(--wine);color:var(--paper);text-align:center;position:relative;padding-top:120px;padding-bottom:120px}.contact-cta h2{font-size:clamp(54px,7vw,108px);line-height:1.03;margin-bottom:45px}.contact-cta h2 em{color:#c6aa94}.site-footer{padding:70px 7% 25px;display:block;background:var(--wine);border-top:1px solid #ffffff28}.footer-top{display:grid;grid-template-columns:1fr 1.3fr 1fr 1.3fr;gap:5%;align-items:start}.footer-top>p{margin:0;line-height:1.9;color:#cdbdc6;font-size:13px}.footer-nav,.footer-address{display:flex;flex-direction:column;gap:15px;font-size:13px}.footer-address>span{font-size:10px;letter-spacing:.16em;color:#cdbdc6}.footer-address p{margin:0;line-height:1.8;font-size:13px}.footer-bottom{border-top:1px solid #ffffff28;display:flex;justify-content:space-between;gap:20px;margin-top:70px;padding-top:25px;font-size:11px;color:#cdbdc6}.footer-bottom a{color:white}.page-intro{padding-top:205px;padding-bottom:70px}.page-intro h1,.contact-copy h1{font-family:var(--serif);font-size:clamp(72px,9vw,138px);font-weight:400;line-height:.96;margin:0 0 45px;letter-spacing:-.035em;color:var(--wine)}.page-intro h1 em,.contact-copy h1 em{color:#9a8371}.page-intro-bottom{display:flex;justify-content:space-between;align-items:end}.page-intro-bottom p{line-height:1.9;color:var(--muted);margin:0}.page-intro-bottom>span{font-size:10px;letter-spacing:.15em}.projects-list{padding-top:10px}.filters{display:flex;align-items:center;gap:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:70px}.filters button{border:0;border-bottom:2px solid transparent;padding:25px 0;background:none;color:var(--muted);font-size:14px;white-space:nowrap}.filters button.active{border-bottom-color:var(--wine);color:var(--wine)}.filters small{font-size:10px;vertical-align:super;padding-left:6px}.filters>span{margin-left:auto;font-size:12px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px 6%}.project-card[hidden]{display:none}.project-card:nth-child(2){margin-top:130px}.card-image{height:430px;overflow:hidden;position:relative}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .9s}.project-card:hover .card-image img{transform:scale(1.045)}.image-visit{position:absolute;bottom:20px;right:20px;background:var(--paper);padding:15px 20px;display:flex;gap:40px;align-items:center;font-size:12px;color:var(--wine);opacity:0;transform:translateY(12px);transition:.3s}.project-card:hover .image-visit,.project-card:focus-visible .image-visit{opacity:1;transform:none}.card-meta{display:flex;justify-content:space-between;font-size:11px;margin:22px 0 12px;color:var(--muted)}.card-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px}.card-title h2{font-size:47px;margin:0;color:var(--wine)}.card-title>span{font-size:30px;color:var(--wine);transition:transform .3s}.project-card:hover .card-title>span{transform:translate(4px,-4px)}.project-card>p{font-size:13px;color:var(--muted);line-height:1.6}.project-hero{min-height:680px}.project-hero-title{position:absolute;bottom:135px;left:7%}.project-hero-title .breadcrumb{display:block;font-size:12px;margin-bottom:55px}.project-hero-title h1{font-size:clamp(85px,14vw,215px);margin:0;line-height:.9}.project-hero-title .eyebrow{margin-bottom:18px}.project-hero-title>p:last-child{font-family:var(--serif);font-size:30px;margin:28px 0 0}.project-scroll{position:absolute;bottom:45px;left:50%;font-size:35px}.project-subnav{display:flex;align-items:center;justify-content:space-between;padding:16px 5%;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:78px;z-index:25;gap:20px}.project-subnav>span{font-family:var(--serif);font-size:30px;color:var(--wine)}.project-subnav>div{display:flex;gap:27px;font-size:12px}.project-subnav>div a{padding:10px 0;border-bottom:1px solid transparent}.project-subnav>div a.active{border-color:var(--wine)}.project-subnav .button{font-size:12px;padding:13px 18px;gap:20px}.project-intro{display:grid;grid-template-columns:1fr 2fr;gap:5%;scroll-margin-top:80px}.project-intro h2{font-size:clamp(44px,5vw,76px)}.project-intro h2 em{color:#9a8371}.project-intro>div>p{max-width:600px;font-size:16px;line-height:1.9;color:var(--muted)}.gallery-section{padding:0 5% 40px;scroll-margin-top:200px}.gallery-main{position:relative}.gallery-open{display:block;width:100%;padding:0;border:0;background:none;position:relative;overflow:hidden}.gallery-open>img{width:100%;height:72svh;min-height:400px;object-fit:cover;transition:opacity .3s,transform .8s}.gallery-open:hover>img{transform:scale(1.02)}.gallery-open>span{position:absolute;top:24px;right:24px;color:white;background:#0005;backdrop-filter:blur(8px);padding:13px 18px;font-size:12px}.gallery-controls{position:absolute;bottom:25px;right:25px;display:flex;align-items:center;gap:18px;background:var(--paper);padding:8px;color:var(--wine)}.gallery-controls button,.lightbox button{width:44px;height:44px;border:0;background:none;color:inherit;font-size:25px}.gallery-controls>span{font-size:12px;letter-spacing:.1em}.gallery-thumbs{display:flex;gap:12px;margin-top:15px}.gallery-thumbs button{padding:3px;border:1px solid transparent;background:none;width:100px;opacity:.6}.gallery-thumbs button.selected{border-color:var(--wine);opacity:1}.gallery-thumbs img{height:58px;width:100%;object-fit:cover}.image-note{font-size:11px;color:var(--muted);margin:20px 0}.lightbox{inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:70px 5% 30px;background:#171517f5;border:0;color:white}.lightbox[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox>img{height:calc(100dvh - 160px);width:100%;object-fit:contain}.lightbox .lightbox-close{position:absolute;top:20px;right:30px;width:auto;font-size:14px}.lightbox>div{display:flex;gap:40px}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:10%;scroll-margin-top:90px}.amenities>div>p:not(.eyebrow){max-width:370px;color:var(--muted);line-height:1.8}.amenity-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 40px}.amenity{border-bottom:1px solid var(--line);padding:25px 0}.amenity>span{font-size:36px;color:#a58770}.amenity h3{font-size:14px;font-weight:500;margin-top:25px}.location{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;background:#eae7e0;align-items:center;scroll-margin-top:80px}.location-image{height:560px;overflow:hidden}.location-image img{width:100%;height:100%;object-fit:cover}.location p:not(.eyebrow){color:var(--muted);line-height:1.9}.location address{font-size:14px;font-style:normal;margin-top:30px}.project-enquiry{background:var(--wine);color:var(--paper);text-align:center}.project-enquiry h2{font-size:clamp(50px,6vw,90px)}.project-enquiry p:not(.eyebrow){font-size:15px;color:#d4c7cf;margin-bottom:35px}.project-enquiry h2 em{color:#c6aa94}.next-project>a{display:flex;align-items:center;justify-content:space-between}.next-project h2{font-size:clamp(70px,10vw,150px);margin:0}.next-project>a>span{font-size:80px}.next-project{color:var(--wine)}.next-project>.eyebrow{display:block}.about-panorama{margin:0 5%;height:75svh;min-height:400px;overflow:hidden}.about-panorama img{width:100%;height:115%;object-fit:cover;will-change:transform}.about-story{display:grid;grid-template-columns:1fr 1.4fr;gap:15%;padding-top:150px;padding-bottom:150px}.story-date{font-family:var(--serif);font-size:130px;color:var(--wine)}.story-date small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.16em}.about-story p:not(.eyebrow){line-height:1.9;color:var(--muted)}.about-beliefs{background:var(--wine);color:var(--paper)}.about-beliefs h2 em{color:#c6aa94}.belief-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;margin-top:70px}.belief-grid article{border-top:1px solid #ffffff40;padding-top:30px}.belief-grid h3{font-family:var(--serif);font-size:35px;font-weight:400}.belief-grid p{font-size:14px;line-height:1.9;color:#d1c3ca}.about-signature{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.about-signature>img{height:550px;width:100%;object-fit:cover}.about-signature h2{font-size:clamp(42px,4vw,64px)}.contact-page{padding-top:205px;padding-bottom:140px;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-copy h1{font-size:clamp(65px,6.6vw,103px)}.contact-copy>p:not(.eyebrow){line-height:1.8;color:var(--muted);max-width:370px}.contact-method{margin-top:38px;display:flex;flex-direction:column;gap:10px}.contact-method>span{font-size:10px;letter-spacing:.15em;color:var(--muted);margin-bottom:6px}.contact-method>a{font-size:19px;color:var(--wine)}.contact-method>p{margin:0;line-height:1.7}.contact-method .small-link{font-size:13px;text-decoration:underline;text-underline-offset:5px}.contact-form{padding:45px;background:#eae7e0;align-self:start}.contact-form h2{font-size:43px;margin-bottom:40px}.contact-form .eyebrow{font-size:10px}.contact-form label{display:block;margin-bottom:27px;font-size:12px}.contact-form label>span{color:#956848}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #bcb4aa;background:transparent;padding:14px 0;border-radius:0;font-size:14px;color:var(--ink);outline-offset:5px}.contact-form textarea{resize:vertical;min-height:95px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:1px solid var(--wine)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-note{font-size:12px;line-height:1.8;color:#696059}.contact-form .button{width:100%;margin-top:10px}.contact-form #form-status{font-size:13px;line-height:1.7}.contact-form #email-fallback{font-size:13px;text-decoration:underline}.detail-page{scroll-padding-top:175px}
@media(min-width:1500px){.hero{min-height:850px}.hero-content{padding-top:26vh}}
@media(max-width:1100px){.header{gap:20px}.header-cta{gap:14px;padding:13px;font-size:11px}.desktop-nav{gap:22px;font-size:13px}.hero-intro{gap:45px}.project-subnav{padding:14px 4%}.project-subnav>div{gap:17px}.contact-page{gap:6%}.contact-form{padding:28px}.footer-top{grid-template-columns:1fr 1fr;gap:40px}.card-image{height:360px}.values{gap:6%}.amenities{gap:5%}}
@media(max-width:800px){.hero{min-height:780px}.hero-content{padding-top:190px}.hero h1{font-size:clamp(51px,10.8vw,78px)}.hero-intro p{font-size:13px;max-width:300px}.hero h1{margin-bottom:27px}.hero .eyebrow{font-size:9px;letter-spacing:.14em}.hero-intro .button{padding:18px 20px}.scroll-cue{font-size:9px}.hero-bottom{bottom:28px}.section-heading{display:block;padding-top:25px}.section-heading .text-link{margin-top:25px}.project-stack{padding:0 4% 10px}.stack-panel{height:76svh;min-height:520px;top:85px;margin-bottom:20px}.stack-content{bottom:45px;left:7%}.stack-content h3{font-size:67px;max-width:250px}.stack-content .eyebrow{font-size:9px}.stack-content p{font-size:14px}.stack-counter{bottom:auto;top:30px;font-size:11px}.manifesto{padding:90px 8%}.reading-text{font-size:42px}.living-stage{height:135svh}.living-caption{left:13%;top:28%}.living-caption h2{font-size:70px}.living-caption .eyebrow{font-size:9px}.values{grid-template-columns:1fr;gap:30px;padding-top:90px;padding-bottom:90px}.values h2{font-size:48px}.values-list summary{font-size:14px}.contact-cta{padding-top:85px;padding-bottom:85px}.contact-cta h2{font-size:61px}.footer-top{grid-template-columns:1fr 1fr;gap:35px 20px}.site-footer{padding:50px 7% 25px}.footer-top .brand{width:120px}.footer-top>p{font-size:11px}.footer-address,.footer-nav{font-size:12px}.footer-address p{font-size:12px}.footer-bottom{flex-wrap:wrap;line-height:1.6;margin-top:40px;font-size:10px}.footer-bottom>span:nth-child(2){display:none}.page-intro{padding-top:145px;padding-bottom:55px}.page-intro h1{font-size:76px}.page-intro-bottom{display:block}.page-intro-bottom p{font-size:14px}.page-intro-bottom>span{display:block;margin-top:26px;font-size:9px}.projects-list{padding-top:0}.filters{gap:24px;margin-bottom:40px;overflow-x:auto}.filters button{font-size:12px;padding:20px 0}.filters>span{display:none}.filters small{font-size:9px}.project-grid{grid-template-columns:1fr;gap:50px}.project-card:nth-child(2){margin:0}.card-image{height:440px}.image-visit{opacity:1;transform:none;padding:10px 15px;font-size:11px}.card-title h2{font-size:43px}.project-hero{height:86svh;min-height:600px}.project-hero-title{bottom:130px}.project-hero-title h1{font-size:90px;max-width:300px}.project-hero-title>p:last-child{font-size:25px}.project-hero-title .breadcrumb{font-size:11px;margin-bottom:45px}.project-subnav{top:78px;gap:10px;flex-wrap:wrap;padding:13px 5%}.project-subnav>span{font-size:26px}.project-subnav>div{order:3;width:100%;justify-content:space-between;gap:8px;font-size:10px}.project-subnav .button{padding:10px 13px;font-size:11px}.project-intro{grid-template-columns:1fr;gap:8px;padding-top:75px;scroll-margin-top:140px}.project-intro h2{font-size:48px}.project-intro>div>p{font-size:14px}.gallery-section{padding:0 5% 20px;scroll-margin-top:220px}.gallery-open>img{height:52svh;min-height:330px}.gallery-open>span{top:15px;right:15px;padding:10px 13px;font-size:10px}.gallery-controls{bottom:15px;right:15px;gap:10px}.gallery-controls button{width:34px;height:34px;font-size:22px}.gallery-thumbs button{width:85px}.image-note{font-size:9px}.amenities{grid-template-columns:1fr;gap:30px;scroll-margin-top:150px}.amenities>div>p:not(.eyebrow){font-size:14px}.amenity-grid{gap:15px 25px}.amenity h3{font-size:13px}.location{grid-template-columns:1fr;gap:40px;scroll-margin-top:170px}.location-image{height:400px}.location p:not(.eyebrow){font-size:14px}.project-enquiry h2{font-size:59px}.next-project h2{font-size:68px}.next-project>a>span{font-size:48px}.next-project>.eyebrow{font-size:9px}.about-panorama{height:55svh;min-height:340px}.about-story{grid-template-columns:1fr;gap:45px;padding-top:85px;padding-bottom:85px}.story-date{font-size:90px}.about-story p:not(.eyebrow){font-size:14px}.belief-grid{grid-template-columns:1fr;gap:10px;margin-top:45px}.belief-grid h3{font-size:34px}.about-signature{grid-template-columns:1fr;gap:40px}.about-signature>img{height:400px}.contact-page{padding-top:145px;grid-template-columns:1fr;gap:55px}.contact-copy h1{font-size:76px}.contact-copy>p:not(.eyebrow){font-size:14px}.contact-form{padding:28px 24px}.contact-form h2{font-size:40px}.form-row{grid-template-columns:1fr;gap:0}.contact-form input,.contact-form select,.contact-form textarea{font-size:16px}.lightbox{padding:60px 10px 20px}.lightbox .lightbox-close{right:15px}}
@media(max-width:380px){.hero-content{padding-top:180px}.hero h1{font-size:51px}.hero{min-height:800px}.hero-content .eyebrow{font-size:8px}.scroll-cue{font-size:8px}.page-intro h1,.contact-copy h1{font-size:64px}.contact-cta h2{font-size:52px}.footer-top{grid-template-columns:1fr}.footer-top>p{font-size:13px}.card-image{height:360px}.filters{gap:16px}.stack-content h3{font-size:59px}.reading-text{font-size:36px}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{opacity:1;transform:none}.motion-ready .reading-text span{color:var(--wine)}.living-image{clip-path:none!important}.living-stage{height:100svh}.stack-panel{position:relative;top:auto}.stack-photo img,.hero-image{transform:none!important}.about-panorama img{transform:none!important}}
/* Readable navigation, captions and controls at every breakpoint. */
.desktop-nav,.header-cta,.button,.filters button,.project-subnav>div,.project-subnav .button,.text-link,.footer-nav,.footer-address,.footer-address p,.contact-form label,.gallery-open>span,.image-visit{font-size:14px}
.eyebrow,.hero .eyebrow,.hero-content .eyebrow,.hero-feature div span,.hero-count,.scroll-cue,.since small,.stack-content .eyebrow,.stack-counter,.living-caption .eyebrow,.living-caption>span,.footer-top>p,.footer-address>span,.footer-bottom,.page-intro-bottom>span,.filters small,.filters>span,.card-meta,.image-note,.next-project>.eyebrow,.story-date small,.contact-method>span,.contact-form .eyebrow,.form-note{font-size:12px}
.hero-intro p,.intro-bottom p,.project-card>p,.values-list details p,.amenities>div>p:not(.eyebrow),.location p:not(.eyebrow),.about-story p:not(.eyebrow),.belief-grid p,.contact-copy>p:not(.eyebrow),.project-intro>div>p{font-size:16px}
.hero-feature{width:365px}.hero-feature strong{font-size:25px;white-space:nowrap}.hero-feature img{width:85px}.hero-intro{gap:50px}.hero-intro p{max-width:440px}.project-subnav>div{gap:23px}.gallery-controls>span{font-size:13px}
@media(max-width:1100px) and (min-width:801px){.header-cta{display:none}.desktop-nav{margin-left:auto;margin-right:0}.project-subnav>div{gap:15px}.project-subnav>span{font-size:25px}.project-subnav .button{font-size:12px}}
@media(max-width:800px){.hero-intro p{font-size:15px;max-width:300px}.hero .eyebrow{font-size:11px;line-height:1.8;letter-spacing:.09em}.hero-content{padding-top:170px}.scroll-cue{font-size:10px;letter-spacing:.1em}.project-subnav>div{font-size:12px;gap:8px}.project-subnav .button{font-size:12px}.filters{gap:24px}.filters button{font-size:13px}.filters small{font-size:11px}.footer-bottom{font-size:12px}.hero-feature{display:none}.contact-cta h2{font-size:58px}.page-intro-bottom>span{font-size:11px}.stack-content .eyebrow{font-size:10px}.stack-content p{font-size:16px}.stack-content .button{font-size:13px}.project-hero-title{bottom:130px}.contact-method>a{font-size:20px}}

/* Poppins, matching Haven: light architectural titles, medium controls, regular reading text. */
body{font-synthesis:none}
h1,h2,h3,.hero h1,.intro h2,.stack-content h3,.page-intro h1,.contact-copy h1,.card-title h2,.belief-grid h3,.since,.story-date,.hero-feature strong,.project-subnav>span,.menu-dialog nav{font-weight:300}
em{font-style:normal;font-weight:300}
.hero h1{font-size:clamp(54px,6.1vw,94px);line-height:1.09;letter-spacing:-.045em}
h2,.intro h2{font-size:clamp(38px,4vw,62px);line-height:1.16;letter-spacing:-.04em}
.page-intro h1{font-size:clamp(64px,8vw,115px);line-height:1.08}
.contact-copy h1{font-size:clamp(60px,5.6vw,85px);line-height:1.08}
.contact-cta h2{font-size:clamp(48px,6vw,86px);line-height:1.15}
.stack-content h3{font-size:clamp(58px,7vw,105px);letter-spacing:-.045em;line-height:1.08}
.reading-text{font-weight:300;font-size:clamp(34px,4.1vw,62px);line-height:1.3;letter-spacing:-.035em}
.project-hero-title h1{font-size:clamp(74px,12vw,175px)}
.project-hero-title>p:last-child{font-weight:300;font-size:26px}
.hero-feature strong{font-size:23px;letter-spacing:-.035em}
.desktop-nav,.header-cta,.button,.text-link,.filters button,.eyebrow{font-weight:400}
.card-title h2{font-size:42px}.belief-grid h3{font-size:29px;line-height:1.25}
@media(max-width:800px){.hero h1{font-size:clamp(39px,10vw,72px);line-height:1.13}.page-intro h1,.contact-copy h1{font-size:clamp(48px,13vw,72px)}.contact-cta h2{font-size:46px}.intro h2,.values h2,.project-intro h2{font-size:39px}.stack-content h3{font-size:54px}.reading-text{font-size:34px}.living-caption h2{font-size:60px}.project-hero-title h1{font-size:72px}.project-enquiry h2{font-size:46px}.next-project h2{font-size:53px}.contact-form h2{font-size:33px}.menu-dialog nav{font-size:clamp(30px,8vw,60px)}.card-title h2{font-size:36px}}
/* PRIMOC logo palette and Lucide line icons. */
:root{--wine:#471123;--wine-soft:#783c51;--wine-tint:#efe5e9;--accent:#783c51}
.icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.14em;stroke:currentColor;overflow:visible}
a .icon,button .icon{transition:transform .3s ease}
a:hover>.icon,button:hover>.icon{transform:translate(2px,-2px)}
.button span,.text-link span,.card-title>span,.next-project>a>span,.hero-feature b,.header-cta span{display:inline-flex;align-items:center;justify-content:center}
.button .icon,.text-link .icon,.header-cta .icon{width:20px;height:20px}
.hero-feature .icon,.card-title .icon{width:25px;height:25px}
.next-project .icon{width:58px;height:58px}
.scroll-cue i .icon,.project-scroll .icon{width:23px;height:23px}
.menu-toggle .icon,.menu-close .icon,.lightbox-close .icon{width:19px;height:19px}
.gallery-controls .icon,.lightbox>div .icon{width:23px;height:23px}
.breadcrumb .icon{margin-right:8px}
.gallery-open>span .icon{margin-left:6px}
.amenity>.icon{width:33px;height:33px;color:var(--wine-soft);stroke-width:1.4}
.amenity h3{margin-top:25px}
.values-list summary span .icon{width:20px;height:20px}
.header-cta{background:#471123e8;border-color:var(--wine);color:#fff}
.header-cta:hover{background:var(--wine-soft)}
.solid-header .header-cta,.header.scrolled .header-cta{background:var(--wine);border-color:var(--wine);color:#fff}
.solid-header .header-cta:hover,.header.scrolled .header-cta:hover{background:var(--wine-soft)}
.intro h2,.section-heading h2,.values h2,.amenities h2,.location h2,.about-story h2,.about-signature h2,.contact-form h2{color:var(--wine)}
.intro h2 em,.section-heading em,.values h2 em,.page-intro h1 em,.contact-copy h1 em,.project-intro h2 em,.location h2 em{color:var(--wine-soft)}
.text-link{border-bottom-color:#47112355}
.text-link:hover{color:var(--wine-soft)}
.filters button.active{background:var(--wine-tint);padding-left:10px;padding-right:10px;border-bottom-color:var(--wine)}
.gallery-thumbs button.selected{border-color:var(--wine);opacity:1}
.contact-form{background:var(--wine-tint)}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-bottom-color:var(--wine)}
.image-visit{background:var(--wine);color:white}
.menu-dialog nav a:hover{color:#e9bccb}
@media(max-width:800px){.header-cta{display:none}.next-project .icon{width:38px;height:38px}.filters button.active{padding-left:6px;padding-right:6px}}
/* Rounded, light-reactive glass controls. */
:root{--glass-stroke:rgba(255,255,255,.58);--glass-shadow:0 20px 48px rgba(44,24,33,.14),inset 0 1px 0 rgba(255,255,255,.68)}
.header{inset:16px 2.4% auto;height:84px;border:1px solid rgba(255,255,255,.34);border-radius:24px;background:linear-gradient(120deg,rgba(56,30,42,.52),rgba(42,29,39,.26) 58%,rgba(54,26,39,.42));-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);box-shadow:0 14px 42px rgba(21,16,21,.17),inset 0 1px 0 rgba(255,255,255,.2)}
.header.scrolled{inset:12px 2.4% auto;height:72px;background:linear-gradient(120deg,rgba(255,255,255,.88),rgba(247,242,244,.72) 65%,rgba(255,255,255,.84));border-color:rgba(255,255,255,.86);box-shadow:var(--glass-shadow)}
.solid-header .header{background:linear-gradient(120deg,rgba(255,255,255,.88),rgba(246,241,243,.76) 65%,rgba(255,255,255,.9));border-color:rgba(71,17,35,.12);box-shadow:0 12px 38px rgba(71,17,35,.08),inset 0 1px rgba(255,255,255,.9)}
.header.scrolled .brand{width:133px}
.button,.header-cta{position:relative;overflow:hidden;border-radius:999px;border:1px solid rgba(255,255,255,.28);box-shadow:0 14px 30px rgba(40,12,26,.22),inset 0 1px 0 rgba(255,255,255,.3);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,background .35s,border-color .35s}
.button:before,.header-cta:before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(135px circle at var(--glare-x,50%) var(--glare-y,0%),rgba(255,255,255,.28),transparent 75%),linear-gradient(165deg,rgba(255,255,255,.26),transparent 36%);opacity:.75;transition:opacity .35s}
.button:hover,.header-cta:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 20px 40px rgba(40,12,26,.27),inset 0 1px 0 rgba(255,255,255,.36)}
.button:hover:before,.header-cta:hover:before{opacity:1}
.button{background:linear-gradient(125deg,#61283c,#471123 70%);color:#fff;border-color:rgba(255,255,255,.17)}
.button:hover{background:linear-gradient(125deg,#783c51,#572036 75%)}
.button.light{background:linear-gradient(120deg,rgba(255,255,255,.94),rgba(255,255,255,.77));border:1px solid rgba(255,255,255,.86);color:var(--wine);box-shadow:0 15px 35px rgba(24,13,18,.18),inset 0 1px 0 #fff}
.button.light:hover{background:rgba(255,255,255,.97)}
.header-cta{background:linear-gradient(120deg,rgba(100,36,58,.92),rgba(71,17,35,.87));border-color:rgba(255,255,255,.3);color:#fff}
.solid-header .header-cta,.header.scrolled .header-cta{background:linear-gradient(120deg,#682a40,#471123);border-color:rgba(71,17,35,.2)}
.hero-feature{border:1px solid rgba(255,255,255,.26);border-radius:23px;background:linear-gradient(120deg,rgba(79,28,48,.78),rgba(43,24,36,.56));-webkit-backdrop-filter:blur(28px) saturate(150%);backdrop-filter:blur(28px) saturate(150%);box-shadow:0 24px 50px rgba(16,13,18,.24),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .35s,background .35s}
.hero-feature:hover{transform:translateY(-4px);background:linear-gradient(120deg,rgba(94,38,59,.85),rgba(48,24,39,.7))}
.hero-feature img{border-radius:13px}
.scroll-cue i{background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.38)}
.stack-panel,.card-image,.about-panorama,.location-image,.about-signature>img{border-radius:26px}
.image-visit{border-radius:999px;background:rgba(71,17,35,.86);border:1px solid rgba(255,255,255,.32);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 10px 25px rgba(31,11,21,.22)}
.filters{border:1px solid rgba(255,255,255,.78);border-radius:25px;background:linear-gradient(110deg,rgba(255,255,255,.8),rgba(239,229,233,.62));padding:9px 12px;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);gap:10px}
.filters button{border:1px solid transparent;border-radius:999px;padding:13px 18px;color:var(--wine);transition:background .25s,color .25s,transform .25s}
.filters button:hover{background:rgba(71,17,35,.08)}
.filters button.active{background:linear-gradient(120deg,#6a2b41,#471123);color:#fff;border:1px solid rgba(255,255,255,.3);border-bottom-color:rgba(255,255,255,.3);padding:13px 18px;box-shadow:0 7px 16px rgba(71,17,35,.18),inset 0 1px 0 rgba(255,255,255,.26)}
.filters button.active:hover{background:var(--wine-soft)}
.project-subnav{top:96px;margin:0 2.4%;padding:10px 2.4%;border:1px solid rgba(255,255,255,.82);border-radius:20px;background:linear-gradient(115deg,rgba(255,255,255,.9),rgba(246,240,243,.72));-webkit-backdrop-filter:blur(28px) saturate(150%);backdrop-filter:blur(28px) saturate(150%);box-shadow:0 14px 36px rgba(71,17,35,.11),inset 0 1px 0 #fff}
.project-subnav .button{box-shadow:0 7px 18px rgba(71,17,35,.15)}
.gallery-open{border-radius:25px}
.gallery-open>span{border:1px solid rgba(255,255,255,.36);border-radius:999px;background:rgba(53,40,49,.46);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);box-shadow:inset 0 1px rgba(255,255,255,.2)}
.gallery-controls{border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);box-shadow:0 14px 30px rgba(24,12,22,.18),inset 0 1px #fff}
.gallery-controls button,.lightbox>div button{border-radius:50%;transition:background .25s}
.gallery-controls button:hover{background:rgba(71,17,35,.09)}
.gallery-thumbs button{border-radius:13px;overflow:hidden}
.gallery-thumbs img{border-radius:9px}
.amenity{border:1px solid rgba(255,255,255,.75);border-bottom:1px solid rgba(255,255,255,.75);border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(248,243,245,.55));padding:27px;box-shadow:0 10px 28px rgba(71,17,35,.07),inset 0 1px #fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.values-list details{border:1px solid rgba(255,255,255,.74);border-radius:18px;background:linear-gradient(110deg,rgba(255,255,255,.75),rgba(246,239,241,.5));padding:24px;margin-bottom:10px;box-shadow:0 8px 25px rgba(71,17,35,.055),inset 0 1px #fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.values-list details:last-child{border-bottom:1px solid rgba(255,255,255,.74)}
.contact-form{border:1px solid rgba(255,255,255,.8);border-radius:27px;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(239,229,233,.67));box-shadow:0 28px 65px rgba(71,17,35,.12),inset 0 1px #fff;-webkit-backdrop-filter:blur(28px) saturate(135%);backdrop-filter:blur(28px) saturate(135%)}
.lightbox{background:rgba(27,17,24,.88);-webkit-backdrop-filter:blur(35px);backdrop-filter:blur(35px)}
.menu-dialog{background:rgba(56,14,33,.93);-webkit-backdrop-filter:blur(30px) saturate(140%);backdrop-filter:blur(30px) saturate(140%)}
.menu-dialog::backdrop{background:rgba(22,6,14,.3)}
@media(max-width:800px){.header,.header.scrolled{inset:10px 3% auto;height:70px;border-radius:19px;padding:0 5%}.header.scrolled{height:66px}.project-subnav{top:83px;margin:0 3%;padding:10px 4%;border-radius:18px}.filters{gap:5px;padding:7px;overflow-x:auto;border-radius:20px}.filters button,.filters button.active{padding:11px 12px}.stack-panel,.card-image,.about-panorama,.location-image{border-radius:20px}.contact-form{border-radius:22px}.values-list details{padding:20px}.gallery-open{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.button,.header-cta,.hero-feature{transition:none}.button:hover,.header-cta:hover,.hero-feature:hover{transform:none}}
