@font-face{font-family:Inter;src:url('../fonts/inter-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('../fonts/source-serif-4-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('../fonts/source-serif-4-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('../fonts/source-serif-4-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}

:root{
  --gi-green:#243D35;--gi-charcoal:#202523;--gi-warm-white:#F7F5F0;--gi-stone:#DED8CD;--gi-bronze:#967552;--gi-white:#fff;
  --gi-font-serif:'Source Serif 4',Georgia,serif;--gi-font-sans:Inter,Arial,sans-serif;
  --gi-space-1:.5rem;--gi-space-2:1rem;--gi-space-3:1.5rem;--gi-space-4:2rem;--gi-space-5:3rem;--gi-space-6:4.5rem;--gi-space-7:7rem;
  --gi-radius:2px;--gi-container:1180px;--gi-narrow:760px;--gi-header-height:88px;
  --gi-shadow:0 18px 50px rgba(32,37,35,.08);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--gi-warm-white);color:var(--gi-charcoal);font-family:var(--gi-font-sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
body.gi-menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:var(--gi-green);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--gi-bronze)}
button,input,select,textarea{font:inherit}
h1,h2,h3,h4{margin:0 0 .55em;color:var(--gi-charcoal);font-family:var(--gi-font-serif);font-weight:500;line-height:1.08;text-wrap:balance}
h1{font-size:clamp(3rem,7vw,6.5rem);letter-spacing:-.035em}
h2{font-size:clamp(2.3rem,5vw,4.5rem);letter-spacing:-.025em}
h3{font-size:1.65rem}
p{margin:0 0 1.3em}
ul,ol{margin-top:0}
:focus-visible{outline:3px solid var(--gi-white);outline-offset:3px;box-shadow:0 0 0 5px var(--gi-bronze)}
::selection{background:var(--gi-stone);color:var(--gi-charcoal)}

.gi-container{width:min(calc(100% - 3rem),var(--gi-container));margin-inline:auto}
.gi-narrow,.gi-prose{max-width:var(--gi-narrow)}
.gi-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gi-skip-link{position:fixed;z-index:9999;left:1rem;top:1rem;transform:translateY(-200%);padding:.8rem 1rem;background:var(--gi-white);color:var(--gi-green)}
.gi-skip-link:focus{transform:none}
#ast-scroll-top{display:none!important}
.gi-eyebrow{display:flex;align-items:center;gap:.8rem;margin:0 0 1.4rem;color:var(--gi-green);font-size:.73rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.gi-eyebrow::before{content:"";width:2.4rem;height:1px;background:var(--gi-bronze)}
.gi-eyebrow--light{color:var(--gi-warm-white)}
.gi-lead{font-size:clamp(1.08rem,2vw,1.3rem);line-height:1.65;color:#4c514f}
.gi-button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:.78rem 1.35rem;border:1px solid var(--gi-bronze);border-radius:var(--gi-radius);background:var(--gi-green);color:var(--gi-white);font-size:.83rem;font-weight:600;letter-spacing:.055em;text-decoration:none;text-transform:uppercase;transition:background-color .2s,color .2s,border-color .2s}
.gi-button:hover{background:var(--gi-charcoal);border-color:var(--gi-charcoal);color:var(--gi-white)}
.gi-button--small{min-height:43px;padding:.65rem 1rem;font-size:.7rem}
.gi-hero .gi-button,.gi-cta-band .gi-button{background:var(--gi-warm-white);color:var(--gi-green)}
.gi-hero .gi-button:hover,.gi-cta-band .gi-button:hover{border-color:var(--gi-stone);background:var(--gi-stone);color:var(--gi-green)}
.gi-text-link{display:inline-flex;align-items:center;gap:.55rem;color:var(--gi-green);font-size:.83rem;font-weight:600;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}
.gi-text-link span{font-size:1.3rem;transition:transform .2s}
.gi-text-link:hover span{transform:translateX(.25rem)}
.gi-text-link--light{color:var(--gi-white)}
.gi-actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}

.gi-header{position:relative;z-index:100;height:var(--gi-header-height);background:var(--gi-warm-white);border-bottom:1px solid rgba(36,61,53,.12)}
.gi-header__inner{display:flex;height:100%;align-items:center;gap:2rem}
.gi-brand{display:block;width:min(235px,24vw);flex:0 0 auto}
.gi-brand img{width:100%;height:auto}
.gi-nav{margin-left:auto}
.gi-nav__list{display:flex;align-items:center;gap:clamp(1rem,1.8vw,1.75rem);padding:0;margin:0;list-style:none}
.gi-nav__list a{position:relative;color:var(--gi-charcoal);font-size:.77rem;font-weight:500;text-decoration:none}
.gi-nav__list a::after{position:absolute;left:0;right:100%;bottom:-.5rem;height:1px;background:var(--gi-bronze);content:"";transition:right .2s}
.gi-nav__list a:hover::after,.gi-nav__list .current-menu-item a::after{right:0}
.gi-header__cta{flex:0 0 auto}
.gi-menu-toggle{display:none;border:0;background:transparent;color:var(--gi-charcoal);box-shadow:none;appearance:none}
.gi-menu-toggle__icon i{transition:transform .2s,opacity .2s}
.gi-menu-toggle[aria-expanded="true"] .gi-menu-toggle__icon i:first-child{transform:translateY(5px) rotate(45deg)}
.gi-menu-toggle[aria-expanded="true"] .gi-menu-toggle__icon i:nth-child(2){opacity:0}
.gi-menu-toggle[aria-expanded="true"] .gi-menu-toggle__icon i:last-child{transform:translateY(-5px) rotate(-45deg)}

.gi-hero{position:relative;min-height:clamp(680px,calc(100svh - var(--gi-header-height)),860px);display:flex;align-items:center;isolation:isolate;background:var(--gi-green);overflow:hidden}
.gi-hero__media{position:absolute;z-index:0;top:clamp(3rem,7vh,5rem);right:clamp(1.5rem,4vw,5rem);bottom:clamp(3rem,7vh,5rem);width:min(49vw,760px);background-image:url('../images/hero-architecture.png');background-image:image-set(url('../images/hero-architecture.avif') type('image/avif'),url('../images/hero-architecture.webp') type('image/webp'),url('../images/hero-architecture.png') type('image/png'));background-position:center;background-size:cover;background-repeat:no-repeat}
.gi-hero__shade{position:absolute;z-index:1;top:clamp(3rem,7vh,5rem);right:calc(min(49vw,760px) + clamp(1.5rem,4vw,5rem));bottom:clamp(3rem,7vh,5rem);width:1px;background:var(--gi-bronze)}
.gi-hero__inner{position:relative;z-index:2;padding-top:clamp(6rem,12vh,9rem);padding-bottom:clamp(6rem,12vh,9rem)}
.gi-hero__content{max-width:min(48%,590px);padding-right:clamp(2rem,5vw,5rem)}
.gi-hero h1{color:var(--gi-white)}
.gi-hero__lead{max-width:560px;margin:1.5rem 0 2.2rem;color:#f0eee8;font-size:clamp(1.05rem,1.5vw,1.24rem)}

.gi-values{padding:var(--gi-space-6) 0;background:var(--gi-warm-white)}
.gi-values__grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:2.5rem;border-top:1px solid var(--gi-stone)}
.gi-values article{padding:2.3rem 2rem 0 0}
.gi-values article+article{padding-left:2rem;border-left:1px solid var(--gi-stone)}
.gi-values h3{font-size:1.55rem}
.gi-values p{font-size:.92rem;color:#5b605d}
.gi-line-icon{display:block;width:2.5rem;height:2.5rem;margin-bottom:2rem;overflow:visible;fill:none;stroke:var(--gi-bronze);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

.gi-section{padding:var(--gi-space-7) 0}
.gi-section--stone{background:#e9e5dc}
.gi-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(4rem,10vw,9rem);align-items:start}
.gi-split h2{max-width:720px}
.gi-split .gi-lead{max-width:680px;margin-bottom:2.4rem}
.gi-property-list{padding:2.5rem;border-top:3px solid var(--gi-green);background:var(--gi-warm-white);box-shadow:var(--gi-shadow)}
.gi-property-list__intro{font-weight:600}
.gi-property-list ul{padding:0;margin:1.5rem 0 2.5rem;list-style:none}
.gi-property-list li{padding:.75rem 0;border-bottom:1px solid var(--gi-stone)}
.gi-editorial-note{margin:0;color:var(--gi-green);font-family:var(--gi-font-serif);font-size:1.45rem}

.gi-region__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(4rem,10vw,10rem);align-items:end}
.gi-region__places{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--gi-stone);border-left:1px solid var(--gi-stone)}
.gi-region__places span{min-height:100px;display:flex;align-items:flex-end;padding:1.3rem;border-right:1px solid var(--gi-stone);border-bottom:1px solid var(--gi-stone);font-size:.9rem;font-weight:500}

.gi-statement{padding:clamp(6rem,12vw,11rem) 0;background:var(--gi-green);color:var(--gi-white)}
.gi-statement blockquote{max-width:1020px;margin:0;color:var(--gi-warm-white);font-family:var(--gi-font-serif);font-size:clamp(2.7rem,6vw,5.8rem);font-weight:400;letter-spacing:-.025em;line-height:1.06}
.gi-statement__principles{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.25)}
.gi-statement__principles span{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
.gi-statement__principles span:not(:last-child)::after{margin-left:1.5rem;color:var(--gi-bronze);content:"·"}

.gi-cta-band{background:var(--gi-charcoal);color:var(--gi-warm-white)}
.gi-cta-band__inner{display:flex;align-items:center;justify-content:space-between;gap:3rem}
.gi-cta-band h2{color:var(--gi-white);font-size:clamp(2.3rem,4vw,4rem)}
.gi-cta-band p:last-child{margin-bottom:0;color:#d7d5cf}

.gi-footer{padding:4.5rem 0 1.5rem;background:var(--gi-green);color:#dadbd7}
.gi-footer__grid{display:flex;align-items:flex-start;justify-content:space-between;gap:3rem}
.gi-footer__logo{width:min(100%,330px);margin-bottom:1.4rem}
.gi-footer p{font-family:var(--gi-font-serif);font-size:1.3rem}
.gi-footer ul{display:flex;gap:2rem;padding:0;margin:0;list-style:none}
.gi-footer a{color:var(--gi-white);font-size:.82rem;text-decoration:none}
.gi-footer__bottom{display:flex;justify-content:space-between;margin-top:4rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.18);font-size:.7rem;letter-spacing:.07em;text-transform:uppercase}

.gi-page-hero{padding:clamp(5.5rem,9vw,8.5rem) 0 clamp(4.5rem,7vw,6.5rem);background:var(--gi-warm-white)}
.gi-page-hero--compact{padding-bottom:3rem}
.gi-page-hero__narrow{max-width:960px}
.gi-page-hero h1{max-width:920px;font-size:clamp(3.25rem,6.4vw,5.75rem)}
.gi-page-hero .gi-lead{max-width:770px;margin-top:2rem}
.gi-process{padding:2.5rem 0;background:var(--gi-green);color:var(--gi-white)}
.gi-process ol{display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0;list-style:none}
.gi-process li{display:flex;gap:1rem;align-items:flex-start;padding:0 1.5rem;border-left:1px solid rgba(255,255,255,.2);font-size:.82rem;line-height:1.4}
.gi-process li:first-child{padding-left:0;border-left:0}
.gi-process li span{color:var(--gi-bronze);font-size:.65rem;font-weight:600;letter-spacing:.1em}
.gi-form-section{background:#e9e5dc}
.gi-form-layout{display:grid;grid-template-columns:340px 1fr;gap:clamp(3rem,8vw,8rem);align-items:start}
.gi-form-layout aside{position:sticky;top:2rem}
.gi-form-layout aside h2{font-size:clamp(2rem,4vw,3.5rem)}
.gi-privacy-note{padding-top:1.2rem;border-top:1px solid #c8c0b3;font-size:.8rem;color:#626762}

.gi-inquiry-form{scroll-margin-top:2rem;padding:clamp(1.5rem,4vw,3.5rem);background:var(--gi-warm-white);box-shadow:0 1px 0 rgba(36,61,53,.06)}
.gi-form-key{margin:-.25rem 0 2.5rem;color:#626762;font-size:.72rem}
.gi-form-group{padding:0;margin:0 0 3.25rem;border:0}
.gi-form-group:last-of-type{margin-bottom:1.5rem}
.gi-form-group legend{width:100%;padding:0 0 1rem;margin-bottom:1.7rem;border-bottom:1px solid var(--gi-stone);color:var(--gi-green);font-family:var(--gi-font-serif);font-size:1.75rem;font-weight:500}
.gi-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.35rem 1.5rem}
.gi-field--full{grid-column:1/-1}
.gi-field label,.gi-field-label{display:block;margin:0 0 .42rem;color:var(--gi-charcoal);font-size:.78rem;font-weight:600}
.gi-required{color:#875b3d}
.gi-optional{color:#717572;font-size:.68rem;font-weight:400}
.gi-field input,.gi-field select,.gi-field textarea{width:100%;min-height:49px;padding:.72rem .8rem;border:1px solid #bcb6ac;border-radius:0;background:var(--gi-white);color:var(--gi-charcoal);transition:border-color .2s,box-shadow .2s}
.gi-field textarea{min-height:150px;resize:vertical}
.gi-field input:focus,.gi-field select:focus,.gi-field textarea:focus{outline:0;border-color:var(--gi-green);box-shadow:0 0 0 2px rgba(36,61,53,.18)}
.gi-field small{display:block;margin-top:.4rem;color:#676b68;font-size:.7rem}
.gi-radio-group{display:flex;gap:1.4rem;flex-wrap:wrap}
.gi-radio-group label{display:flex;gap:.5rem;align-items:center;font-weight:400}
.gi-radio-group input{width:auto;min-height:0;accent-color:var(--gi-green)}
.gi-consent{display:flex;gap:.7rem;align-items:flex-start;margin:1.4rem 0;font-size:.78rem}
.gi-consent input{width:1.1rem;height:1.1rem;flex:0 0 auto;margin-top:.27rem;accent-color:var(--gi-green)}
.gi-field input[type="file"]{min-height:56px;padding:.35rem;background:#fdfcf9}
.gi-field input[type="file"]::file-selector-button{min-height:44px;padding:.55rem .85rem;margin:-.1rem .8rem -.1rem -.1rem;border:0;border-right:1px solid var(--gi-stone);background:#eeebe4;color:var(--gi-charcoal);font-size:.76rem;font-weight:600;cursor:pointer}
.gi-field input[type="file"]:hover::file-selector-button{background:var(--gi-stone)}
.gi-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.gi-form-message{padding:1rem 1.2rem;margin-bottom:2rem;border-left:4px solid var(--gi-green);background:#edf2ef}
.gi-form-message--error{border-color:#9b3b32;background:#f9ece8;color:#6d2924}
.gi-form-note{font-size:.73rem;color:#646965}

.gi-profile-grid,.gi-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(4rem,9vw,9rem)}
.gi-owner{max-width:900px}.gi-owner--with-portrait{display:grid;max-width:none;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:clamp(4rem,9vw,8rem);align-items:center}.gi-owner__copy{max-width:760px}.gi-owner__copy .gi-lead{margin-bottom:1.8rem}.gi-owner__portrait{margin:0}.gi-owner__portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}
.gi-profile-grid article+article,.gi-contact-grid article+article{padding-left:clamp(2rem,5vw,5rem);border-left:1px solid var(--gi-stone)}
.gi-check-list{padding:0;list-style:none}
.gi-check-list li{padding:1rem 0;border-bottom:1px solid var(--gi-stone)}
.gi-check-list li::before{margin-right:.7rem;color:var(--gi-bronze);content:"—"}
.gi-offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.gi-offer-card{background:var(--gi-white);box-shadow:var(--gi-shadow)}
.gi-offer-card img{aspect-ratio:4/3;object-fit:cover}
.gi-offer-card__content{padding:1.7rem}
.gi-offer-card h2{font-size:1.8rem}
.gi-offer-card h2 a{color:inherit;text-decoration:none}
.gi-empty-state{max-width:760px;padding:3rem;border-left:3px solid var(--gi-bronze);background:#e9e5dc}
.gi-empty-state h2{font-size:clamp(2rem,4vw,3.5rem)}
.gi-prose h2{margin-top:1.4em;font-size:clamp(2rem,4vw,3.25rem)}
.gi-prose h3{margin-top:1.6em}
.gi-rental-image{margin-bottom:3rem}
.gi-launch-blocker{padding:1rem 1.2rem;border-left:4px solid #9b3b32;background:#f9ece8;color:#6d2924;font-weight:500}

@media (max-width:1099px){
  :root{--gi-header-height:76px}
  .gi-header__inner{gap:1rem}.gi-brand{width:220px;max-width:52vw}.gi-header__cta{margin-left:auto}.gi-menu-toggle{display:flex;align-items:center;gap:.75rem;order:3;padding:.65rem}.gi-menu-toggle__label{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.gi-menu-toggle__icon{display:grid;gap:4px}.gi-menu-toggle__icon i{display:block;width:19px;height:1px;background:currentColor}
  .gi-nav{position:fixed;inset:var(--gi-header-height) 0 0;display:none;padding:2rem;background:var(--gi-warm-white);overflow:auto}.gi-nav.is-open{display:block}.gi-nav__list{display:block}.gi-nav__list li{border-bottom:1px solid var(--gi-stone)}.gi-nav__list a{display:block;padding:1.2rem 0;font-family:var(--gi-font-serif);font-size:1.8rem}.gi-nav__list a::after{display:none}
  .gi-hero__content{max-width:47%;padding-right:2rem}.gi-hero__media{width:49vw}
  .gi-values__grid{grid-template-columns:1fr 1fr}.gi-values article:nth-child(3){padding-left:0;border-left:0}.gi-values article{padding-top:2rem;border-top:1px solid var(--gi-stone)}
  .gi-process ol{grid-template-columns:1fr 1fr;gap:2rem}.gi-process li:nth-child(3){padding-left:0;border-left:0}
}

@media (max-width:900px){
  .gi-form-layout{grid-template-columns:1fr;gap:3.5rem}.gi-form-layout aside{position:static;max-width:640px}.gi-inquiry-form{max-width:760px}
}

@media (max-width:767px){
  :root{--gi-space-7:5rem}.gi-container{width:min(calc(100% - 2rem),var(--gi-container))}
  .gi-header__cta{display:none}.gi-brand{width:200px}.gi-menu-toggle{margin-left:auto}
  .gi-hero{min-height:820px;align-items:end}.gi-hero__media{inset:0 0 auto;width:100%;height:42%;background-position:58% center}.gi-hero__shade{z-index:1;inset:42% 0 auto;width:100%;height:1px}.gi-hero__inner{padding-top:24rem;padding-bottom:4rem}.gi-hero__content{max-width:100%;padding-right:0}.gi-hero h1{font-size:clamp(3.25rem,16vw,5rem)}.gi-actions{align-items:flex-start;flex-direction:column;gap:1.5rem}
  .gi-values__grid{grid-template-columns:1fr}.gi-values article,.gi-values article+article,.gi-values article:nth-child(3){padding:2rem 0;border-left:0;border-top:1px solid var(--gi-stone)}
  .gi-split,.gi-region__grid,.gi-form-layout,.gi-profile-grid,.gi-contact-grid,.gi-owner--with-portrait{grid-template-columns:1fr;gap:3.5rem}.gi-owner__portrait{max-width:520px}.gi-property-list{padding:1.5rem}.gi-region__places{grid-template-columns:1fr}.gi-region__places span{min-height:76px}.gi-statement__principles{display:grid}.gi-statement__principles span::after{display:none}.gi-cta-band__inner{align-items:flex-start;flex-direction:column}.gi-footer__grid,.gi-footer__bottom{align-items:flex-start;flex-direction:column}.gi-footer ul{flex-direction:column;gap:.7rem}.gi-footer__bottom{gap:.6rem}
  .gi-page-hero{padding:4.75rem 0 3.75rem}.gi-page-hero h1{font-size:clamp(2.75rem,12.5vw,4.25rem);overflow-wrap:break-word}.gi-process ol{grid-template-columns:1fr;gap:1.3rem}.gi-process li,.gi-process li:nth-child(3){padding:0 0 1.3rem;border-left:0;border-bottom:1px solid rgba(255,255,255,.2)}.gi-form-layout aside{position:static}.gi-inquiry-form{padding:1.3rem}.gi-field-grid{grid-template-columns:1fr}.gi-field--full{grid-column:auto}.gi-field input,.gi-field select{min-height:52px}.gi-inquiry-form>.gi-button{width:100%}.gi-radio-group{align-items:flex-start;flex-direction:column;gap:.7rem}.gi-profile-grid article+article,.gi-contact-grid article+article{padding:3rem 0 0;border-top:1px solid var(--gi-stone);border-left:0}.gi-offer-grid{grid-template-columns:1fr}.gi-empty-state{padding:2rem}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media print{.gi-header,.gi-footer,.gi-cta-band,.gi-button{display:none!important}body{background:#fff;color:#000}.gi-section,.gi-page-hero{padding:2rem 0}}
