@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Manrope:wght@300;400;500;600&display=swap');
:root{--paper:#f6f5f0;--ink:#394640;--sage:#7e8d7d;--line:#dcded5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-weight:300}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #6c815e;outline-offset:6px}header{height:106px;display:flex;align-items:center;justify-content:space-between;padding:0 5.2%;position:relative;z-index:3;border-bottom:1px solid #dcded570}.logo{display:flex;align-items:center;gap:12px;letter-spacing:.2em;font-size:18px}.logo svg{width:53px;fill:none;stroke:var(--ink);stroke-width:1.3}.logo small{display:block;font-size:8px;letter-spacing:.43em;margin-top:5px}.logo span{text-align:center}nav{display:flex;gap:38px;font-size:13px}nav a:hover,.textlink:hover{color:#829377}.navcta{font-size:12px;border-bottom:1px solid var(--sage);padding:13px 0}.navcta span{margin-left:30px}.hero{min-height:790px;height:calc(100svh - 106px);max-height:1000px;position:relative;overflow:hidden;padding:58px 7%}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.22em;line-height:1.6}.hero h1{font-family:'Manrope',Arial,sans-serif;font-weight:300;letter-spacing:-.065em;font-size:clamp(70px,7.8vw,125px);line-height:1.07;position:relative;z-index:2;margin:30px 0;pointer-events:none}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#7c8b77;letter-spacing:-.045em}.heroimage{position:absolute;right:4%;top:95px;width:65%;height:73%;border-radius:49% 51% 43% 57% / 45% 49% 51% 55%;overflow:hidden;box-shadow:0 40px 70px -50px #42534270}.heroimage img{width:100%;height:100%;object-fit:cover;object-position:55% 50%}.hero h1{max-width:650px}.imageopen{position:absolute;right:17%;bottom:8%;border:1px solid #ffffff90;border-radius:50%;width:48px;height:48px;background:#f6f5f0dd;color:var(--ink);font-size:24px}.heroeyebrow{position:relative;z-index:2}.heronote{position:absolute;left:7.3%;bottom:23%;font-size:14px;line-height:1.8;max-width:220px}.line{display:block;background:var(--sage);width:38px;height:1px;margin-bottom:20px}.roundnote{position:absolute;right:6%;top:7%;height:118px;width:118px;background:#e8ebdf;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;letter-spacing:.16em;transform:rotate(12deg)}.roundnote span{font-size:7px;margin-top:12px;letter-spacing:.15em}.herobottom{position:absolute;bottom:28px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em}.herobottom a{font-size:11px;letter-spacing:.02em}.herobottom a span{margin-left:25px}.ribs{position:absolute;inset:-20% -10% 0 36%;opacity:.43;background:repeating-radial-gradient(ellipse at 90% 30%,transparent 0 25px,#d4d9ce 26px,transparent 27px 45px);transform:rotate(-22deg);mask-image:linear-gradient(to bottom,#000,transparent 75%)}.section{max-width:1500px;margin:auto;padding:125px 8%}h2{font-family:'Manrope',Arial,sans-serif;font-size:clamp(36px,4.3vw,68px);font-weight:300;line-height:1.16;letter-spacing:-.052em;margin:24px 0}p{line-height:1.85}.intro{border-top:1px solid var(--line);display:grid;grid-template-columns:24% 76%}.intro>.eyebrow{padding-top:12px}.introtext{display:grid;grid-template-columns:1fr 1fr;gap:45px;max-width:760px;margin-top:38px;font-size:14px;color:#6f7770}.spaces{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0 9%;padding-top:30px;padding-bottom:140px}.sectiontitle{padding:40px 0}.sectiontitle>p:last-child{font-size:13px;color:#788176}.bubble button{padding:0;border:0;background:none;width:100%;position:relative;display:block}.bubble img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s}.bubble button:hover img{transform:scale(1.025)}.bubble button{overflow:hidden}.bubble button span{position:absolute;right:20%;bottom:12%;background:#f6f5f0e6;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:22px}.living{padding-top:70px}.living button{height:430px;border-radius:45% 55% 58% 42% / 55% 40% 60% 45%}.caption{max-width:330px;margin:33px auto}.caption small{font-size:9px;letter-spacing:.15em;color:#85907e}.caption h3{font-family:'Manrope',Arial,sans-serif;font-weight:400;letter-spacing:-.04em;font-size:25px;margin:14px 0}.caption p{font-size:13px;color:#737d72}.evening{margin-top:-190px}.evening button{height:530px;border-radius:58% 42% 45% 55% / 42% 49% 51% 58%}.garden{grid-column:2;margin-top:70px}.garden button{height:370px;border-radius:50% 50% 62% 38% / 57% 60% 40% 43%}.whisper{position:absolute;bottom:270px;left:14%;font-family:'Manrope',Arial,sans-serif;font-size:50px;font-weight:300;line-height:1.4;letter-spacing:-.04em;color:#98a38f}.quote{min-height:480px;position:relative;text-align:center;background:#e9ede3;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;border-radius:48% 48% 0 0 / 15% 15% 0 0}.quote h2{font-size:clamp(36px,4vw,62px);position:relative}.quote .eyebrow{position:relative}.waves{position:absolute;inset:-90% -10%;background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 48px,#d4dccb 49px,transparent 50px 75px);opacity:.5}.location{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}.locationcopy{font-size:14px;max-width:360px;color:#737d72}address{font-style:normal;font-size:18px;line-height:1.6;margin:30px 0}.textlink{font-size:12px;border-bottom:1px solid #a8b09e;padding-bottom:9px}.locationart{height:430px;position:relative;border-radius:44% 56% 55% 45% / 57% 43% 57% 43%;background:#eceee5;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center}.orbit{position:absolute;width:550px;height:250px;border:1px solid #c9d2c1;border-radius:50%;transform:rotate(-35deg)}.o2{width:430px;height:180px}.o3{width:310px;height:110px}.locationart p{position:relative;letter-spacing:.23em;text-align:center;font-size:20px;background:#eceee5;padding:15px}.locationart small{display:block;font-size:9px}.pin{font-size:40px;z-index:1;color:#84967b}.maplabel{position:absolute;bottom:40px;font-family:Georgia,serif;font-style:italic;color:#85927c}.contact{text-align:center;border-top:1px solid var(--line);padding-top:90px;padding-bottom:100px}.contact h2{font-size:clamp(55px,6vw,88px)}.contact>p:not(.eyebrow){font-size:14px;color:#737d72}.primary{background:#44574a;border:0;border-radius:40px;color:#fff;padding:20px 30px;font-size:13px;margin-top:22px}.primary:hover{background:#627660}.primary span{padding-left:45px}.contactnote{display:block;margin-top:20px;font-size:10px;color:#858b80}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:35px 5%;font-size:10px;color:#727c70}.footerbrand{letter-spacing:.2em;font-size:16px}footer div{display:flex;gap:20px}footer button{border:0;background:none;padding:0;color:inherit;font-size:10px}dialog{border:0;border-radius:24px;color:var(--ink);background:var(--paper);padding:45px;max-width:600px;width:90vw;max-height:90svh;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#25342dda;backdrop-filter:blur(8px)}dialog .close{position:absolute;top:12px;right:18px;font-size:32px;background:none;border:0;color:inherit;z-index:3}#gallery{max-width:1200px;width:94vw;padding:45px 15px 15px;background:#f6f5f0}#gallery img{max-height:72svh;width:100%;object-fit:contain}.gallerybar{display:flex;align-items:center;justify-content:space-between;padding:12px 10px;font-size:12px}.gallerybar button{border:1px solid #ccc;border-radius:50%;width:36px;height:36px;background:none}dialog h2{font-size:38px}dialog p{font-size:13px}form{display:grid;gap:17px;margin-top:25px}label{display:grid;gap:8px;font-size:12px}input,select,textarea{width:100%;border:1px solid #cbd0c3;background:#fff9;border-radius:8px;padding:12px;color:var(--ink)}.formnote{font-size:10px!important;color:#7b8577}form .primary{margin:0}body.modalopen{overflow:hidden}@media(min-width:1600px){.hero{max-width:1700px;margin:auto}}@media(max-width:800px){header{height:85px;padding:0 6%}nav{display:none}.logo{font-size:14px}.logo svg{width:40px}.navcta{font-size:10px}.navcta span{margin-left:12px}.hero{height:auto;min-height:850px;padding:40px 7%}.heroeyebrow{font-size:8px}.hero h1{font-size:76px;margin-top:25px}.heroimage{top:240px;right:-6%;width:95%;height:390px}.roundnote{top:218px;right:5%;width:88px;height:88px;font-size:9px;z-index:2}.roundnote span{font-size:6px}.heronote{bottom:90px;left:8%;font-size:12px}.line{display:none}.herobottom{font-size:7px;gap:20px}.herobottom a{font-size:9px}.section{padding:75px 7%}.intro{display:block}.introtext{grid-template-columns:1fr;gap:0;margin-top:20px;font-size:13px}.spaces{display:block;padding-top:0}.sectiontitle{padding:10px 0}.bubble{padding:0;margin:45px 0}.bubble button{height:370px}.living{margin-left:9%}.evening{margin-right:9%}.evening button{height:430px}.garden{margin-left:7%}.garden button{height:300px}.caption{margin:25px 8%}.whisper{display:none}.quote{min-height:400px}.location{display:block}.locationart{margin-top:60px;height:330px}.contact{padding-bottom:75px}footer{gap:25px;flex-direction:column;text-align:center}footer div{gap:25px}dialog{padding:35px 25px}.ribs{inset:0 -80% 0 0}.heroimage img{object-position:57% 50%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Sculptural image surfaces, separated from their captions. */
.heroimage,.bubble>button{isolation:isolate;background:#e9ece3;transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--lift,0px));box-shadow:0 3px 2px #ffffffb3,0 9px 12px -7px #37433440,0 30px 35px -18px #37433455,0 65px 65px -30px #37433440;transition:transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .65s;}
.heroimage::after,.bubble>button::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;box-shadow:inset 2px 3px 3px #ffffffa6,inset -2px -4px 5px #25362940;background:linear-gradient(135deg,#ffffff20,transparent 36%,transparent 75%,#16221b0a);}
.imageopen,.bubble button span{z-index:2;box-shadow:0 5px 15px #1b2b2530;}
.caption{position:relative;margin-top:48px;}
.evening{margin-top:0;}
.garden{margin-top:95px;}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.heroimage:hover,.bubble>button:hover{--lift:-8px;box-shadow:0 3px 2px #ffffffb3,0 12px 15px -8px #37433440,0 40px 45px -20px #37433455,0 80px 75px -35px #37433440;}}
@media(max-width:800px){.heroimage,.bubble>button{box-shadow:0 2px 2px #ffffffb3,0 8px 10px -6px #37433440,0 23px 28px -13px #37433455,0 43px 45px -22px #37433438;}.evening,.garden{margin-top:65px}.caption{margin-top:38px}}
@media(prefers-reduced-motion:reduce){.heroimage,.bubble>button{transform:none;}}

.hero h1.architecture-title{font-size:clamp(48px,5.4vw,86px);line-height:1.14;letter-spacing:-.055em;max-width:760px}
@media(max-width:800px){.hero h1.architecture-title{font-size:clamp(32px,7.6vw,60px);line-height:1.2;letter-spacing:-.055em}}
