@import "https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Playfair+Display:wght@400;500&display=swap";:root{--forest:#123c3b;--teal:#0d7f83;--gold:#c6a76a;--sand:#f4f0e8;--ink:#1a211f;--muted:#61706b;--line:#dcd7cc;--serif:"Playfair Display",Georgia,serif;--sans:Lato,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);font:16px/1.65 var(--sans);background:#fff;margin:0}img,video{width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.shell{width:min(1180px,100% - 48px);margin:auto}.section{padding:96px 0}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--teal);margin:0 0 16px;font-size:.73rem;font-weight:700}.headline{font:400 clamp(2.35rem,4.5vw,4.45rem)/1.06 var(--serif);margin:0}.section-copy{font-size:1.05rem;font-weight:300}.section-copy p{margin:0 0 20px}.center{text-align:center}.button{text-transform:uppercase;letter-spacing:.13em;border:1px solid;justify-content:center;align-items:center;min-height:52px;padding:0 25px;font-size:.72rem;font-weight:700;transition:all .2s;display:inline-flex}.button.primary{background:var(--teal);border-color:var(--teal);color:#fff}.button.light{color:#fff}.button:hover,.button:focus-visible{background:var(--gold);border-color:var(--gold);color:#132927}.topbar{z-index:20;color:#fff;height:96px;position:absolute;top:0;left:0;right:0}.topbar-inner{justify-content:space-between;align-items:center;height:100%;display:flex}.wordmark{font:400 1.05rem var(--serif);letter-spacing:.08em}.wordmark span{font:700 .64rem var(--sans);letter-spacing:.23em;text-transform:uppercase;margin-top:3px;display:block}.menu-button{cursor:pointer;z-index:23;background:0 0;border:0;place-content:center;gap:6px;width:48px;height:48px;display:grid;position:relative}.menu-button span{background:#fff;width:30px;height:2px;transition:all .25s}.menu-button.open span:first-child{transform:translateY(8px)rotate(45deg)}.menu-button.open span:nth-child(2){opacity:0}.menu-button.open span:last-child{transform:translateY(-8px)rotate(-45deg)}.nav{z-index:22;background:var(--forest);flex-direction:column;gap:7px;width:min(410px,100%);height:100svh;padding:128px 52px 50px;transition:transform .3s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-20px 0 50px #0003}.nav.open{transform:translate(0)}.nav a{letter-spacing:.17em;text-transform:uppercase;border-bottom:1px solid #ffffff2e;padding:15px 0;font-size:.78rem}.hero{color:#fff;background:#244;height:100svh;min-height:720px;position:relative;overflow:hidden}.hero video{object-fit:cover;height:100%}.hero-shade{background:linear-gradient(90deg,#091e1ec2,#091e1e52 55%,#091e1e14),linear-gradient(#0000 60%,#091e1e61);position:absolute;inset:0}.hero-copy{z-index:2;width:min(690px,100% - 48px);position:absolute;top:52%;left:max(24px,50% - 590px);transform:translateY(-45%)}.hero-kicker{text-transform:uppercase;letter-spacing:.25em;margin:0 0 18px;font-size:.78rem}.hero h1{font:400 clamp(3.8rem,7vw,7.2rem)/.91 var(--serif);margin:0 0 22px}.hero h1 span{font:400 clamp(1.2rem,2vw,1.8rem)/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;margin-top:22px;display:block}.hero-meta{letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:12px 26px;margin:28px 0 34px;font-size:.86rem;display:flex}.hero-meta strong{font:400 1.8rem var(--serif);letter-spacing:0;text-transform:none}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.scroll-note{z-index:2;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl;font-size:.65rem;position:absolute;bottom:26px;right:max(24px,50% - 590px)}.intro{background:var(--sand)}.intro-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:80px;display:grid}.intro-stat{border-left:1px solid var(--gold);margin-top:35px;padding-left:27px}.intro-stat strong{font:400 2.6rem var(--serif);display:block}.intro-stat span{text-transform:uppercase;letter-spacing:.17em;color:var(--muted);font-size:.72rem}.overview-copy{column-count:2;column-gap:42px}.overview-copy p{break-inside:avoid}.gallery-head{justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px;display:flex}.gallery-nav{gap:10px;display:flex}.round{border:1px solid var(--line);width:52px;height:52px;color:var(--forest);cursor:pointer;background:#fff;border-radius:50%;font-size:1.6rem}.round:hover{background:var(--forest);color:#fff}.gallery-track{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;gap:14px;display:flex;overflow-x:auto}.gallery-track::-webkit-scrollbar{display:none}.gallery-track figure{scroll-snap-align:center;flex:0 0 min(76vw,920px);margin:0;position:relative}.gallery-track img{object-fit:cover;cursor:zoom-in;height:clamp(430px,58vw,690px)}.gallery-track figcaption{color:#fff;background:#123c3bd9;padding:8px 12px;font-size:.75rem;position:absolute;bottom:18px;left:18px}.gallery-note{text-align:center;color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:20px 0 0;font-size:.7rem}.lightbox{z-index:50;background:#050f0ff2;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.lightbox img{width:auto;max-width:94vw;max-height:90vh}.lightbox button{color:#fff;cursor:pointer;background:0 0;border:0;font-size:2.6rem;position:absolute;top:18px;right:25px}.features{background:var(--forest);color:#fff}.features .eyebrow,.location .eyebrow{color:#e1c98f}.feature-grid{border-top:1px solid #fff3;border-left:1px solid #fff3;grid-template-columns:repeat(4,1fr);margin-top:48px;display:grid}.feature{border-bottom:1px solid #fff3;border-right:1px solid #fff3;flex-direction:column;justify-content:space-between;min-height:180px;padding:30px;display:flex}.feature small{letter-spacing:.15em;text-transform:uppercase;color:#b9c9c6;font-size:.66rem}.feature strong{font:400 1.45rem/1.2 var(--serif)}.legacy-grid{grid-template-columns:1fr 1.15fr;align-items:center;gap:72px;display:grid}.legacy-image{position:relative}.legacy-image img{object-fit:cover;min-height:570px}.legacy-image span{color:#fff;text-transform:uppercase;letter-spacing:.16em;background:#123c3be0;padding:9px 13px;font-size:.62rem;position:absolute;bottom:18px;left:18px}.legacy-copy{margin-top:28px}.legacy-fact{border-top:1px solid var(--line);align-items:baseline;gap:30px;margin-top:32px;padding-top:25px;display:flex}.legacy-fact strong{font:400 2.5rem var(--serif)}.legacy-fact span{color:var(--muted);text-transform:uppercase;letter-spacing:.15em;font-size:.8rem}.tour{background:var(--sand)}.tour-grid{grid-template-columns:.74fr 1.26fr;align-items:center;gap:60px;display:grid}.video-frame{aspect-ratio:16/9;background:#102d2c;box-shadow:0 24px 55px #0c262629}.video-frame iframe{border:0;width:100%;height:100%;display:block}.report-header{text-align:center;max-width:760px;margin:0 auto 42px}.report-header p{color:var(--muted);font-weight:300}.report-shell{aspect-ratio:4/3;border:1px solid var(--line);background:#f7f7f7;width:min(100%,800px);margin:auto;overflow:hidden}.report-shell iframe{border:0;width:100%;height:100%;display:block}.location{color:#fff;background:linear-gradient(#092524c7,#092524d1),url(/photos/keoawa-15.jpg) 50%/cover}.location-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:70px;display:grid}.amenities{border-top:1px solid #ffffff38;border-left:1px solid #ffffff38;grid-template-columns:1fr 1fr;display:grid}.amenity{border-bottom:1px solid #ffffff38;border-right:1px solid #ffffff38;padding:22px}.amenity span{color:#b8cfcb;font-size:.65rem}.amenity strong{font:400 1.18rem var(--serif);margin-top:8px;display:block}.map-frame{filter:saturate(.8);border:0;width:100%;height:430px;display:block}.contact{background:var(--sand)}.agent-grid{grid-template-columns:repeat(2,1fr);gap:70px;max-width:760px;margin:48px auto 64px;display:grid}.agent{text-align:center}.agent img{object-fit:cover;border-radius:50%;width:250px;height:250px;margin:0 auto 18px}.agent h3{font:400 2rem var(--serif);margin:0 0 8px}.agent p{margin:4px 0;font-size:.85rem}.inquiry{background:#fff;max-width:840px;margin:auto;padding:42px}.form-row{grid-template-columns:1fr 1fr;gap:25px;display:grid}.inquiry label{text-transform:uppercase;letter-spacing:.14em;margin-bottom:22px;font-size:.7rem;display:block}.inquiry input,.inquiry textarea{background:0 0;border:0;border-bottom:1px solid #87908d;outline:0;width:100%;padding:10px 2px;display:block}.inquiry textarea{resize:vertical;min-height:90px}.submit{cursor:pointer;border:0}.cards{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;display:grid}.card{border:1px solid var(--line)}.card img{aspect-ratio:1.25;object-fit:cover}.card div{text-align:center;padding:18px}.card h3{font:400 1.25rem var(--serif);margin:0}.card p{color:var(--muted);margin:4px 0 0;font-size:.8rem}footer{background:var(--forest);color:#fff}.footer-main{text-align:center;padding:66px 0}.footer-brand{font:400 2.15rem var(--serif)}.footer-main p{color:#c8d5d2;font-size:.82rem}.legal{color:#c8d5d2;border-top:1px solid #ffffff2b;margin-top:30px;padding-top:24px;font-size:.75rem}@media (width<=900px){.section{padding:76px 0}.intro-grid,.legacy-grid,.tour-grid,.location-grid{grid-template-columns:1fr}.overview-copy{column-count:1}.feature-grid{grid-template-columns:1fr 1fr}.legacy-image{order:2}.agent-grid,.cards{grid-template-columns:1fr}.gallery-track figure{flex-basis:90vw}.map-frame{height:360px}}@media (width<=600px){.shell,.topbar .shell{width:calc(100% - 30px)}.wordmark{font-size:.9rem}.hero{min-height:740px}.hero-copy{text-align:center;width:calc(100% - 40px);left:20px}.hero h1{font-size:3.65rem}.hero h1 span{font-size:1rem}.hero-meta{justify-content:center;gap:8px 18px}.hero-meta strong{width:100%;font-size:1.65rem}.hero-actions{justify-content:center}.scroll-note{display:none}.intro-grid,.legacy-grid,.tour-grid,.location-grid{gap:42px}.feature{min-height:160px;padding:22px 16px}.feature strong{font-size:1.08rem}.gallery-head{align-items:start}.gallery-nav{display:none}.gallery-track figure{flex-basis:calc(100vw - 30px)}.gallery-track img{height:390px}.legacy-image img{min-height:360px}.amenities{grid-template-columns:1fr}.agent img{width:210px;height:210px}.inquiry{padding:27px 20px}.form-row{grid-template-columns:1fr}.nav{padding:115px 35px 40px}}:root{--forest:#006b78;--teal:#00889e;--sand:#f3f8f8;--line:#d6e1e2}.top-logo{z-index:23;width:215px;position:relative}.top-logo img{filter:brightness(0)invert()}.nav{color:var(--ink);background:#fff}.nav a{border-bottom-color:var(--line)}.nav a:hover{color:var(--teal)}.menu-button.open span{background:var(--teal)}.hero-shade{background:linear-gradient(90deg,#004e5bb8,#00556347 55%,#0048540d),linear-gradient(#0000 60%,#00414c57)}.intro-stat{border-left-color:var(--teal)}.round{color:var(--teal)}.round:hover{background:var(--teal)}.gallery-track figcaption,.legacy-image span{background:#00889ee6}.features{color:var(--ink);background:#fff}.features .eyebrow{color:var(--teal)}.feature-grid{border-top-color:var(--line);border-left-color:var(--line)}.feature{border-right-color:var(--line);border-bottom-color:var(--line);text-align:center;justify-content:center;align-items:center;min-height:190px;padding:28px 22px}.feature-icon{width:48px;height:48px;color:var(--teal);margin-bottom:18px}.feature-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.feature strong{font-size:1.18rem;line-height:1.3}.location{background:linear-gradient(#005e6dcc,#006f7ed6),url(/photos/keoawa-15.jpg) 50%/cover}.location .eyebrow{color:#fff}.contact-brand{justify-content:center;margin:-35px auto 50px;display:flex}.contact-brand img{width:190px;height:auto}.agent a:hover,.card:hover h3{color:var(--teal)}footer{color:var(--ink);border-top:1px solid var(--line);background:#fff}.footer-main{padding:60px 0 42px}.brand-lockup{justify-content:center;align-items:center;gap:52px;display:flex}.tcm-logo{width:261px;height:auto}.footer-whp{width:218px;height:auto}.social{justify-content:center;gap:12px;margin:30px 0 20px;display:flex}.social a{background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;transition:all .2s;display:grid}.social a:hover{background:#006b78;transform:translateY(-2px)}.social svg{fill:currentColor;stroke:currentColor;stroke-width:1.8px;width:22px;height:22px}.footer-main p,.legal{color:var(--muted)}.legal{border-top-color:var(--line)}@media (width<=600px){.top-logo{width:180px}.brand-lockup{flex-direction:column;gap:24px}.feature{min-height:170px}.contact-brand{margin-top:-25px}.tcm-logo{width:230px}.footer-whp{width:185px}}
