:root{--green:#16734b;--dark:#13211b;--cream:#f4f1e9;--line:rgba(19,33,27,.16);--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--dark);background:var(--cream);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}.nav-wrap{height:82px;position:absolute;z-index:5;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;color:white;border-bottom:1px solid rgba(255,255,255,.3)}.brand{display:flex;gap:12px;align-items:center;font-size:.92rem;font-weight:700;letter-spacing:.11em}.brand>span:last-child>span{font-weight:400}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--green);border-radius:50%;font-family:Georgia,serif;font-size:1.25rem;letter-spacing:0}.nav-wrap nav{display:flex;align-items:center;gap:2.2rem;font-size:.88rem}.nav-wrap nav a{border-bottom:1px solid transparent}.nav-wrap nav a:hover{border-color:currentColor}.nav-cta{border:1px solid white!important;padding:10px 18px}.menu{display:none;background:none;color:white;border:1px solid rgba(255,255,255,.5);padding:8px 12px}.hero{height:94vh;min-height:650px;position:relative;display:flex;align-items:center;color:white;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,26,18,.78) 0%,rgba(9,26,18,.46) 40%,rgba(9,26,18,.04) 70%),linear-gradient(0deg,rgba(0,0,0,.2),transparent 45%)}.hero-copy{position:relative;z-index:1;width:min(680px,90%);margin-left:8vw;padding-top:55px}.eyebrow{font-size:.75rem;letter-spacing:.22em;font-weight:700;margin:0 0 24px}.green{color:var(--green)}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;line-height:.98;margin:0}h1{font-size:clamp(3.4rem,6.7vw,6.7rem)}h1 em,h2 em{font-weight:400;color:#bce0c7}.hero-copy>p:not(.eyebrow){font-size:1.1rem;max-width:560px;margin:28px 0 35px}.actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-block;padding:15px 22px;font-size:.86rem;font-weight:700;transition:.2s}.primary{background:var(--green);color:white}.primary:hover{background:#0f5b3a}.ghost{border:1px solid rgba(255,255,255,.7)}.ghost:hover{background:white;color:var(--dark)}.scroll{position:absolute;z-index:1;right:5vw;bottom:32px;font-size:.78rem;letter-spacing:.08em}.scroll span{font-size:1.15rem;margin-left:10px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding:120px 8vw}.intro h2,.section-head h2,.service h2,.contact h2{font-size:clamp(2.7rem,5vw,5.3rem)}.intro h2 em,.locations h2 em,.service h2 em{color:var(--green)}.intro-text{padding-top:44px;max-width:590px}.intro-text p{font-size:1.08rem;margin:0 0 18px}.text-link{display:inline-flex;gap:55px;margin-top:22px;padding-bottom:7px;border-bottom:1px solid var(--dark);font-size:.86rem;font-weight:700}.numbers{display:grid;grid-template-columns:repeat(3,1fr);background:var(--dark);color:white;padding:48px 8vw;gap:25px}.numbers article{display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.25);padding-left:22px}.numbers strong{font-family:Georgia,serif;font-size:2rem;font-weight:400;color:#bce0c7}.numbers span{font-size:.8rem;opacity:.7}.locations{background:white;padding:110px 8vw}.section-head{display:grid;grid-template-columns:1.3fr .7fr;gap:10vw;align-items:end;margin-bottom:70px}.section-head>p{max-width:430px}.location-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.place{min-height:230px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.25s}.place>span{font-size:.75rem}.place h3{font-family:Georgia,serif;font-size:2rem;font-weight:400;margin:0 0 6px}.place p{margin:0;opacity:.68}.place:hover,.place.featured{background:var(--green);color:white}.service{padding:110px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.service-list article{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:25px 0;border-top:1px solid var(--line)}.service-list span{font-size:.75rem;color:var(--green)}.service-list h3{font-family:Georgia,serif;font-weight:400;font-size:1.55rem;margin:0 0 7px}.service-list p{margin:0;opacity:.7}.contact{background:var(--green);color:white;text-align:center;padding:110px 6vw}.contact h2 em{color:#cce6d4}.contact>p:not(.eyebrow){max-width:590px;margin:30px auto}.light{background:white;color:var(--green);margin-bottom:25px}.contact small{display:block;opacity:.75}footer{background:#0b1511;color:white;padding:65px 8vw 30px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:35px;font-size:.83rem}footer .brand{align-self:start}.inverse .brand-mark{background:white;color:var(--green)}footer p{margin:0;opacity:.7}footer div{display:flex;flex-direction:column;gap:8px}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:20px;margin-top:25px!important}
@media(max-width:800px){.nav-wrap{height:68px}.menu{display:block}.nav-wrap nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--dark);padding:24px 5vw;flex-direction:column;align-items:flex-start}.nav-wrap nav.open{display:flex}.hero{min-height:650px}.hero-copy{margin:0 6vw}.hero-shade{background:linear-gradient(90deg,rgba(9,26,18,.78),rgba(9,26,18,.25))}.intro,.service{grid-template-columns:1fr;padding:80px 6vw;gap:35px}.intro-text{padding-top:0}.numbers{grid-template-columns:1fr;padding:42px 6vw}.section-head{grid-template-columns:1fr;gap:25px}.locations{padding:80px 6vw}.location-grid{grid-template-columns:1fr}.place{min-height:190px}.contact{padding:80px 6vw}footer{grid-template-columns:1fr 1fr;padding:55px 6vw 25px}footer .brand{grid-column:1/-1}}@media(max-width:480px){h1{font-size:3.2rem}.actions .btn{width:100%;text-align:center}.scroll{display:none}footer{grid-template-columns:1fr}.numbers strong{font-size:1.7rem}}
.vivento-partner{background:white;padding:85px 8vw;display:grid;grid-template-columns:220px 1fr auto;gap:5vw;align-items:center;border-top:1px solid var(--line)}.partner-logo{background:#13211b;min-height:155px;display:grid;place-items:center;padding:28px}.partner-logo img{display:block;max-width:100%;max-height:80px;object-fit:contain}.vivento-partner h2{font-size:clamp(2.35rem,4vw,4.5rem)}.vivento-partner h2 em{color:var(--green)}.vivento-partner p:not(.eyebrow){max-width:650px;margin:18px 0 0}.partner-btn{background:var(--green);color:white;white-space:nowrap}.partner-btn:hover{background:#0f5b3a}@media(max-width:800px){.vivento-partner{grid-template-columns:1fr;padding:70px 6vw;gap:28px}.partner-logo{max-width:280px;min-height:130px}.partner-btn{justify-self:start}}
.place-link strong{display:inline-block;margin-top:15px;font-size:.72rem;letter-spacing:.08em}.property-gallery{padding:110px 8vw;background:var(--cream);scroll-margin-top:20px}.gallery-head{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:end;margin-bottom:55px}.gallery-head h2{font-size:clamp(2.7rem,5vw,5.3rem)}.gallery-head h2 em{color:var(--green)}.gallery-head>div:last-child>p{max-width:590px;font-size:1.06rem}.photo-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:250px;gap:14px}.photo-grid figure{position:relative;margin:0;overflow:hidden;background:#dbe3dd}.photo-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.photo-grid figure:hover img{transform:scale(1.025)}.photo-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 18px 14px;color:white;font-size:.76rem;background:linear-gradient(transparent,rgba(0,0,0,.66));letter-spacing:.04em}.photo-wide{grid-column:span 6}.photo-tall{grid-column:span 3;grid-row:span 2}.photo-grid .photo-wide:first-child{grid-row:span 2}@media(max-width:800px){.property-gallery{padding:75px 6vw}.gallery-head{grid-template-columns:1fr;gap:28px}.photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.photo-grid .photo-wide,.photo-grid .photo-tall{grid-column:span 1;grid-row:span 1}.photo-grid .photo-wide:first-child{grid-column:1/-1;grid-row:span 2}}@media(max-width:520px){.photo-grid{grid-template-columns:1fr}.photo-grid .photo-wide,.photo-grid .photo-tall,.photo-grid .photo-wide:first-child{grid-column:1;grid-row:span 1}.photo-grid figure{min-height:240px}}
.brand-logo{display:block;position:relative;overflow:hidden;width:280px;height:70px;background:#f2f2f2;border-radius:2px}.brand-logo img{display:block;width:100%;height:auto;transform:translateY(-8.8%)}.footer-logo{width:360px;height:90px;align-self:start}.nav-wrap .brand-logo{box-shadow:0 6px 20px rgba(0,0,0,.12)}@media(max-width:800px){.brand-logo{width:220px;height:55px}.footer-logo{width:320px;height:80px}}@media(max-width:380px){.brand-logo{width:192px;height:48px}.footer-logo{width:280px;height:70px}}
.gallery-alt{background:white}.photo-panorama{grid-column:1/-1}.knittelfeld-grid .photo-panorama{grid-row:auto;height:250px}.knittelfeld-grid .photo-wide{grid-row:auto}@media(max-width:800px){.knittelfeld-grid .photo-panorama{grid-column:1/-1;height:210px}}@media(max-width:520px){.knittelfeld-grid .photo-panorama{grid-column:1;height:190px}}
.portfolio-details{background:var(--dark);color:white;padding:110px 8vw}.details-intro{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:end;margin-bottom:55px}.details-intro .eyebrow{grid-column:1/-1;margin-bottom:-5px}.details-intro h2{font-size:clamp(2.7rem,5vw,5.3rem)}.details-intro h2 em{color:#bce0c7}.details-intro>p:last-child{max-width:610px;color:rgba(255,255,255,.72)}.detail-list{border-top:1px solid rgba(255,255,255,.22)}.detail-list details{border-bottom:1px solid rgba(255,255,255,.22)}.detail-list summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:140px 1fr auto;gap:25px;align-items:center;padding:25px 0}.detail-list summary::-webkit-details-marker{display:none}.detail-list summary:after{content:'+';font-size:1.5rem;color:#bce0c7;margin-left:18px}.detail-list details[open] summary:after{content:'−'}.detail-list summary span{font-size:.72rem;letter-spacing:.14em;color:#bce0c7;text-transform:uppercase}.detail-list summary strong{font-family:Georgia,serif;font-size:1.55rem;font-weight:400}.detail-list summary i{font-size:.82rem;font-style:normal;color:rgba(255,255,255,.65)}.detail-body{padding:0 0 35px 165px;display:grid;grid-template-columns:.75fr 1.25fr;gap:55px}.detail-body .description{margin:0;color:rgba(255,255,255,.75)}.detail-body dl{margin:0}.detail-body dl div{display:grid;grid-template-columns:145px 1fr;gap:15px;padding:8px 0;border-top:1px solid rgba(255,255,255,.12)}.detail-body dt{font-size:.75rem;color:#bce0c7;text-transform:uppercase;letter-spacing:.06em}.detail-body dd{margin:0;font-size:.88rem;color:rgba(255,255,255,.82)}.common-features{margin-top:50px;padding:30px;border-left:3px solid #bce0c7;background:rgba(255,255,255,.05)}.common-features h3{font-family:Georgia,serif;font-size:1.65rem;font-weight:400;margin:0 0 8px}.common-features p{margin:0;max-width:950px;color:rgba(255,255,255,.72)}@media(max-width:800px){.portfolio-details{padding:75px 6vw}.details-intro{grid-template-columns:1fr;gap:25px}.details-intro .eyebrow{grid-column:1}.detail-list summary{grid-template-columns:1fr auto;gap:5px 15px}.detail-list summary span{grid-column:1/-1}.detail-list summary i{grid-column:1}.detail-list summary:after{grid-column:2;grid-row:2}.detail-body{padding:0 0 30px;grid-template-columns:1fr;gap:22px}.detail-body dl div{grid-template-columns:120px 1fr}}@media(max-width:480px){.detail-list summary strong{font-size:1.3rem}.detail-body dl div{grid-template-columns:1fr;gap:3px}.common-features{padding:22px}}
