/* Gulf Coast theme. Scoped under .gc from the approved Donna Guthrie preview. */
@font-face{font-family:gc-cormorant;src:url('fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:gc-cormorant;src:url('fonts/cormorant-garamond-latin-500-italic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:gc-cormorant;src:url('fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}@font-face{font-family:gc-figtree;src:url('fonts/figtree-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:gc-figtree;src:url('fonts/figtree-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
.gc{--header-height:83px;--paper:#f6efe3;--green:#2f3a2c;--ink:#302d25;--brass:#b0874a;--muted:#655f50;--line:#c6bba7;--serif:gc-cormorant,Georgia,serif}.gc *{box-sizing:border-box}.gc{scroll-padding-top:110px}.gc{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.65 gc-figtree,Arial,sans-serif}.gc h1,.gc h2,.gc h3,.gc p,.gc figure{margin:0}.gc p{max-width:65ch}.gc h1,.gc h2,.gc h3{font-family:var(--serif);font-weight:500;line-height:1.03;text-wrap:balance}.gc h2{font-size:clamp(42px,4.7vw,70px)}.gc a{color:inherit;text-underline-offset:5px}.gc button,.gc input,.gc select,.gc textarea{font:inherit}.gc button,.gc a,.gc input,.gc select,.gc textarea{-webkit-tap-highlight-color:transparent}.gc button,.gc a{touch-action:manipulation}.gc button{cursor:pointer}.gc a:focus-visible,.gc button:focus-visible,.gc input:focus-visible,.gc select:focus-visible,.gc textarea:focus-visible{outline:3px solid #8a5d20;outline-offset:5px}.gc picture,.gc img{display:block;width:100%}.gc img{height:auto}.gc picture{position:relative}.gc figure{min-width:0}.gc picture:after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,#d5a05020,#a76b3010);mix-blend-mode:multiply;pointer-events:none}.gc .skip{position:fixed;left:16px;top:-100px;background:var(--paper);padding:12px 20px;z-index:100}.gc .skip:focus{top:10px}.gc .header{position:sticky;top:0;z-index:30;min-height:83px;padding:13px 4%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--paper);border-bottom:1px solid var(--line)}.gc .identity{display:flex;align-items:center;gap:14px;font:500 24px/1.1 var(--serif);text-decoration:none}.gc .identity span{font-size:inherit;font-weight:inherit}.gc .divider{color:#827456}.gc .header nav{display:flex;align-items:center;gap:25px;font-size:15px}.gc .header a{min-height:44px;display:inline-flex;align-items:center}.gc .header nav a{text-decoration:none}.gc .header button{min-height:44px;background:none;border:1px solid #938b78;border-radius:2px;padding:7px 12px;color:var(--green);font-size:13px}.gc .hero{position:relative;min-height:calc(100svh - 83px);isolation:isolate;overflow:hidden;background:var(--green);color:var(--paper)}.gc .hero-house,.gc .hero-house img,.gc .hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gc .hero-house img{object-position:50% 56%}.gc .hero-shade{z-index:1;background:linear-gradient(0deg,rgba(62,39,22,.35),transparent 24%)}.gc .hero-content{position:relative;z-index:4;width:88%;max-width:1380px;margin:auto;min-height:calc(100svh - var(--header-height));display:grid;grid-template-columns:1.5fr .7fr;gap:9%;align-items:center;padding:65px 0 90px}.gc .eyebrow,.gc .chapter-label{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-bottom:25px}.gc .hero h1{font-size:clamp(62px,7.6vw,118px);letter-spacing:-.035em}.gc .hero h1 em{color:#e4c28e;font-weight:500}.gc .hero-sub{max-width:43ch;margin-top:28px;font-size:19px;line-height:1.65}.gc .actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:34px}.gc .button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--green);color:var(--paper);border:1px solid var(--green);padding:15px 23px;min-height:54px;text-decoration:none;font-size:16px;line-height:1.5;transition:background .2s}.gc .button:hover{background:#45503c}.gc .button.brass{background:#ddbe8c;border-color:#ddbe8c;color:#292b21}.gc .button.brass:hover{background:#ecd4af}.gc .text-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:16px}.gc .portrait{background:var(--paper);padding:12px;color:var(--green);box-shadow:0 15px 60px #10190f60;transform:rotate(2deg);max-width:330px;justify-self:end;border:1px solid #d7bf92;outline:1px solid #b0874a;outline-offset:-6px}.gc .portrait picture{overflow:hidden}.gc .portrait img{aspect-ratio:850/1047;object-fit:cover}.gc .portrait figcaption{padding:12px 3px 3px;font:500 22px/1.25 var(--serif)}.gc .portrait figcaption span{display:block;font:inherit}.gc .hero-caption{position:absolute;left:6%;bottom:24px;z-index:5;max-width:55ch;font-size:12px;line-height:1.5}.gc .scroll-cue{position:absolute;bottom:28px;right:6%;z-index:5;font-size:10px;letter-spacing:.18em;display:flex;gap:20px;align-items:center}.gc .scroll-cue span{font-size:22px}.gc .moss{display:none;position:absolute;inset:0;z-index:2;pointer-events:none}.gc.js.motion-enabled .moss{display:block}.gc .moss picture,.gc .moss img{height:100%;object-fit:cover}.gc .moss-left{clip-path:inset(0 50% 0 0)}.gc .moss-right{clip-path:inset(0 0 0 50%)}.gc .strands{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}.gc .strands i{position:absolute;top:-20px;left:7%;width:2px;height:34%;background:linear-gradient(#9da48a70,transparent);border-radius:50%;transform-origin:top;animation:gc-sway 10s ease-in-out infinite alternate}.gc .strands i:nth-child(2){left:84%;height:45%;animation-delay:-4s}.gc .strands i:nth-child(3){left:92%;height:24%;animation-delay:-7s}@keyframes gc-sway{from{transform:rotate(-5deg);opacity:.2}to{transform:rotate(6deg);opacity:.5}}.gc .section-wrap{max-width:1440px;margin:auto;padding:120px 7%}.gc .chapter{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%}.gc .chapter-copy>p:not(.chapter-label){margin-top:25px}.gc .chapter-label{color:#665331}.gc .chapter-copy h2{max-width:14ch}.gc .aside{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.4;border-left:1px solid var(--brass);padding-left:23px}.gc .fine{font-size:14px;line-height:1.6;color:var(--muted)}.gc .editorial-image{position:relative;overflow:hidden}.gc .editorial-image picture{height:100%;overflow:hidden}.gc .editorial-image img{width:100%;height:100%;object-fit:cover}.gc .chapter-one .editorial-image{height:510px;margin-top:70px}.gc .image-number{position:absolute;right:20px;bottom:-12px;color:var(--paper);font:500 130px/1 var(--serif);text-shadow:0 2px 25px #0009;pointer-events:none}.gc .chapter-two{padding-top:60px;padding-bottom:140px}.gc .chapter-two .editorial-image{height:660px}.gc .chapter-two .chapter-copy{padding-top:70px}.gc .chapter-three{background:var(--green);color:var(--paper)}.gc .story-stage{display:grid;grid-template-columns:1fr 1fr;min-height:800px}.gc .story-photo{position:relative;overflow:hidden}.gc .story-photo picture,.gc .story-photo img{height:100%;object-fit:cover}.gc .story-photo:after{content:"";position:absolute;inset:0;background:#b4863a15;pointer-events:none}.gc .story-content{padding:90px 12%}.gc .story-content .chapter-label{color:#e4c28e;font-family:gc-figtree,Arial,sans-serif;line-height:1.65;text-wrap:wrap}.gc .beat{padding:40px 0;border-top:1px solid #777c65}.gc .beat-number{color:#e4c28e;font:500 35px var(--serif)}.gc .beat h3{font-size:48px;margin:14px 0 20px}.gc .beat p{color:var(--paper)}.gc .contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;padding-top:110px;padding-bottom:110px}.gc .contact h2{font-size:90px;margin-bottom:25px}.gc .contact-links{margin-top:30px;max-width:330px}.gc .contact-links a{display:flex;align-items:center;justify-content:space-between;min-height:60px;border-bottom:1px solid var(--line);text-decoration:none}.gc .form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.gc label{display:block;font-size:15px;margin-bottom:7px}.gc input,.gc select,.gc textarea{border:1px solid #9e9583;border-radius:0;background:#fbf7ef;color:var(--ink);width:100%;padding:11px;min-height:49px}.gc textarea{resize:vertical;margin-bottom:22px}.gc form .button{width:100%;justify-content:space-between}.gc form .fine{margin-top:13px}.gc .error{display:block;color:#962d1d;font-size:14px;min-height:28px;line-height:1.7}.gc [aria-invalid=true]{border-color:#962d1d}.gc footer{background:var(--green);color:var(--paper);padding:58px 7% 30px}.gc .footer-top{display:flex;gap:40px;justify-content:space-between}.gc .compliance p{font:500 25px/1.65 var(--serif)}.gc .compliance p a{font:inherit;display:inline-flex;align-items:center;min-height:44px}.gc .email{font-size:15px;display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}.gc .footer-meta{font-size:14px}.gc .footer-meta p{min-height:44px;display:flex;align-items:center;gap:6px}.gc .footer-meta a{min-height:44px;display:inline-flex;align-items:center}.gc .housing{gap:12px!important}.gc .credits{border-top:1px solid #6b735d;margin-top:35px;padding-top:24px;font-size:13px;line-height:1.8;color:#dfdfd0}.gc .credits p{max-width:none;overflow-wrap:anywhere}.gc .credits p+p{margin-top:12px}.gc .credits ul{list-style:none;margin:0 0 12px;padding:0}.gc .credits li{margin:4px 0}.gc .credits a{display:inline;text-underline-offset:3px}.gc.motion-paused .strands{display:none}
@media(min-width:901px){.gc.js.motion-enabled .story-stage{height:calc(100svh - var(--header-height));min-height:0}.gc.motion-enabled .story-content{overflow:hidden}.gc.motion-enabled .beats{display:flex;width:300%;height:100%;gap:0}.gc.motion-enabled .beat{flex:0 0 33.333%;padding:45px 35px 40px 0;align-self:center;border-top:1px solid #777c65}.gc.motion-enabled .beat h3{font-size:clamp(40px,4vw,62px)}}
@media(min-width:1500px){.gc .hero-content{gap:13%}.gc .portrait{max-width:370px}}
@media(max-width:1100px){.gc .header nav{gap:14px}.gc .hero-content{gap:5%}.gc .hero h1{font-size:80px}.gc .section-wrap{padding-left:6%;padding-right:6%}.gc .chapter{gap:7%}.gc .scroll-cue{display:none}.gc .story-content{padding:70px 10%}}
@media(max-width:900px){.gc .header{min-height:90px;padding:10px 5%;gap:10px}.gc .identity{font-size:21px;display:grid;gap:2px}.gc .identity .divider{display:none}.gc .header nav{gap:12px;font-size:14px}.gc .header button{font-size:11px;padding:5px 8px}.gc .hero{height:auto;min-height:calc(100svh - var(--header-height))}.gc .hero-content{grid-template-columns:1fr .55fr;gap:5%;padding:70px 0 110px;min-height:calc(100svh - 90px)}.gc .hero h1{font-size:clamp(50px,8.7vw,76px)}.gc .hero-sub{font-size:17px}.gc .portrait{padding:9px}.gc .portrait figcaption{font-size:19px}.gc .actions{gap:12px}.gc .chapter{gap:7%;padding-top:80px;padding-bottom:80px}.gc .chapter-one .editorial-image{height:440px;margin-top:0}.gc .chapter-two .editorial-image{height:530px}.gc .chapter-copy h2{font-size:46px}.gc .chapter-three .story-stage{display:block}.gc .story-photo{height:400px}.gc .story-content{padding:55px 8%}.gc .beats{display:grid;grid-template-columns:1fr;gap:10px}.gc .beat{padding:30px 0}.gc .beat h3{max-width:16ch}.gc .contact{gap:7%}.gc .contact h2{font-size:70px}.gc .form-row{grid-template-columns:1fr;gap:0}.gc .footer-top{flex-direction:column}}
@media(max-width:600px){.gc .header{flex-wrap:wrap}.gc .header nav{width:100%;justify-content:space-between}.gc .header nav>a{white-space:nowrap}.gc .header button{white-space:nowrap;max-width:none}.gc{font-size:17px}.gc .header{padding:8px 4%;min-height:82px}.gc .identity{font-size:19px}.gc .header nav{gap:8px}.gc .header nav>a{font-size:13px}.gc .header button{max-width:none;line-height:1.3}.gc .hero-content{display:flex;flex-direction:column;align-items:flex-start;width:88%;padding-top:55px;padding-bottom:95px;gap:35px}.gc .hero h1{font-size:clamp(55px,12vw,76px)}.gc .hero-sub{max-width:35ch}.gc .eyebrow,.gc .chapter-label{font-size:11px;letter-spacing:.13em;margin-bottom:20px}.gc .hero-shade{background:linear-gradient(0deg,rgba(62,39,22,.65),transparent 65%)}.gc .portrait{width:62vw;max-width:260px;align-self:center;margin-right:0}.gc .portrait figcaption{font-size:18px}.gc .hero-caption{font-size:11px;bottom:20px;right:6%;max-width:40ch}.gc .actions{align-items:flex-start;flex-direction:column;gap:13px}.gc .button{font-size:15px;padding:14px 18px}.gc .chapter{display:flex;flex-direction:column;gap:38px;padding:70px 7%}.gc .chapter-two .editorial-image{order:2}.gc .chapter-copy h2{font-size:47px;max-width:16ch}.gc .chapter-one .editorial-image{height:390px;width:100%}.gc .chapter-two .editorial-image{height:470px;width:100%}.gc .chapter-two .chapter-copy{padding-top:0}.gc .chapter-copy>p:not(.chapter-label){margin-top:22px}.gc .image-number{font-size:100px}.gc .story-photo{height:320px}.gc .story-content{padding:45px 7%}.gc .beat h3{font-size:42px}.gc .contact{display:block;padding:65px 7%}.gc .contact h2{font-size:76px}.gc .contact form{margin-top:45px}.gc .form-row{grid-template-columns:1fr}.gc .contact-links{max-width:none}.gc footer{padding:40px 7% 24px}.gc .compliance p{font-size:22px}.gc .email{font-size:13px}.gc .footer-meta{font-size:13px}.gc .credits a{max-width:100%;overflow-wrap:anywhere}.gc .strands{display:none}}
@media(prefers-reduced-motion:reduce){.gc *,.gc *:before,.gc *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.gc .moss{display:none!important}.gc .strands{display:none!important}}
/* Keep text contrast independent of the photographs beneath it. */
.gc .hero-shade{z-index:3}.gc .image-number{background:var(--green);padding:6px 14px 10px;bottom:0;right:0;text-shadow:none;font-size:96px}.gc .header nav>a{min-width:44px}
@media(max-width:600px){.gc .image-number{font-size:78px}}

.gc .hero :focus-visible,.gc .chapter-three :focus-visible,.gc footer :focus-visible{outline-color:#ecd4af}.gc.motion-paused *{transition:none!important}

/* Warm light on the house; the portrait keeps its original color. */
.gc .portrait picture:after{content:none}
.gc .hero-copy{position:relative}
.gc .brokerage{font-weight:400}
.gc .hero-brokerage{margin-top:12px;font-size:16px;line-height:1.5}
.gc .brokerage a{display:inline-flex;align-items:center;min-height:44px}
.gc .contact-brokerage{margin-top:10px;font-size:18px}
.gc .hero-caption{background:#3e2716d9;padding:4px 8px}
@media(max-height:700px) and (min-width:601px){
 .gc .hero-content{padding-top:28px;padding-bottom:70px}
 .gc .portrait{width:min(25vw,230px)}
 .gc .hero h1{font-size:clamp(50px,7vw,82px)}
 .gc .hero-sub{margin-top:18px}.gc .actions{margin-top:20px}
}
@media(max-width:600px){
 .gc .hero-content{padding-top:28px;padding-bottom:80px;gap:20px}
 .gc .hero-sub{margin-top:18px}.gc .actions{margin-top:22px;gap:6px}
 .gc .hero-brokerage{font-size:15px;margin-top:4px}
 .gc .contact-brokerage{font-size:17px}
}
@media(max-width:480px){
 .gc .header{min-height:64px;padding:6px 4%;flex-wrap:nowrap;gap:8px}
 .gc .header .identity{display:grid;gap:2px;font-size:18px;flex-shrink:0;min-height:44px}
 .gc .header .identity .divider{display:none}
 .gc .header nav{width:auto;justify-content:flex-end;gap:8px}
 .gc .header .header-phone{display:none}
 .gc .header nav>a{font-size:12px}
 .gc .header button{font-size:10px;padding:4px 6px;max-width:52px;white-space:normal;line-height:1.2}
}
@media(prefers-reduced-motion:reduce){
 .gc .hero{height:auto;min-height:100svh}
 .gc .hero-content{min-height:100svh;padding-top:24px;padding-bottom:64px}
}
/* The full copy box stays inside the opaque center, with a 48px feather. */
@media(min-width:601px){
 .gc .hero-copy{isolation:isolate}
 .gc .hero-copy:before{content:"";position:absolute;inset:-48px;z-index:-1;pointer-events:none;background:rgba(28,22,14,.82);mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent),linear-gradient(to bottom,transparent,#000 48px,#000 calc(100% - 48px),transparent);mask-composite:intersect}
}
@media(max-width:600px){
 /* Clear above the eyebrow; full contrast from the heading through the CTAs. */
 .gc .hero-shade{background:linear-gradient(to bottom,transparent,rgba(28,22,14,.25))}
 .gc .hero-copy{isolation:isolate}
 .gc .hero-copy:before{content:"";position:absolute;inset:-28px calc(-6vw - 1px) -32px;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,transparent 0,rgba(28,22,14,.78) 64px,rgba(28,22,14,.78) calc(100% - 20px),transparent)}
}
@media(min-width:901px) and (max-height:700px){
 .gc .hero-content{padding-top:20px;padding-bottom:60px}
 .gc .hero h1{font-size:clamp(48px,5vw,64px)}
 .gc .hero .eyebrow{margin-bottom:14px}
 .gc .hero-sub{margin-top:16px;font-size:17px;line-height:1.5}
 .gc .hero .actions{margin-top:18px;gap:16px}
 .gc .hero-brokerage{margin-top:4px}
 .gc .portrait{max-height:calc(100svh - var(--header-height) - 80px);max-width:230px;width:min(25vw,calc((100svh - var(--header-height) - 160px)*.81))}
 .gc .portrait img{max-height:calc(100svh - var(--header-height) - 160px);width:100%;object-fit:cover}
}
/* Intro defaults are static: enhancement is enabled only after media decodes. */
.gc .hero-copy:before{content:none}.gc .hero :focus-visible{outline-color:#795325}
.gc .intro{height:calc(100svh - var(--header-height));min-height:60svh;position:relative;background:var(--handoff-end)}
.gc .intro-stage{position:relative;height:calc(100svh - var(--header-height));min-height:60svh;overflow:hidden;isolation:isolate;background:var(--handoff-end)}
.gc .intro-poster,.gc .intro-poster img,.gc .intro-scene,.gc .intro-moss{position:absolute;inset:0;width:100%;height:100%}
.gc .intro-poster img{height:100%;object-fit:cover;object-position:var(--intro-focus,50%) center}
.gc .intro-poster:after{content:none}.gc .intro-poster{z-index:2}.gc .intro-scene{perspective:1200px;overflow:hidden}
.gc .intro-world{position:absolute;transform-origin:var(--intro-focus,50%) 62%;perspective:1200px}
.gc .intro-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;transform-origin:50% 62%}
.gc .intro-door{position:absolute;transform-style:preserve-3d}.gc .intro-door img{width:100%;height:100%}.gc .intro-door:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#1d130bd9);opacity:var(--door-shade,0)}

.gc .intro-moss{z-index:4;pointer-events:none}.gc .intro-strand{position:absolute;transform-origin:top;animation:gc-intro-sway var(--sway-time,7s) ease-in-out var(--sway-delay,0s) infinite alternate}
@keyframes gc-intro-sway{from{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}



.gc .intro-caption{position:absolute;z-index:7;bottom:20px;left:4%;right:15%;width:fit-content;font-size:12px;line-height:1.5;background:#f6efe3eb;color:#302d25;padding:5px 9px}
.gc .intro-cue{position:absolute;bottom:22px;right:5%;z-index:7;color:#302d25;background:#f6efe3eb;padding:0 10px}
.gc .intro-active{height:430svh}.gc .intro-active .intro-stage{position:sticky;top:var(--header-height)}
.gc .intro-active .intro-poster{opacity:1;transition:opacity .3s}.gc .intro-active.intro-video-ready .intro-poster{opacity:0}
.gc .intro:not(.intro-active) .intro-scene,.gc .intro:not(.intro-active) .intro-moss{visibility:hidden}.gc .intro:not(.intro-active) .intro-strand,.gc.motion-paused .intro-strand{animation-play-state:paused}
@media(max-width:767px){.gc .intro-active{height:340svh}.gc .intro-caption{font-size:11px}}
@media(prefers-reduced-motion:reduce){.gc .intro.intro-active{height:calc(100svh - var(--header-height));min-height:60svh}.gc .intro-active .intro-stage{position:relative;top:auto}}
/* v7b: open, light surfaces and opaque text backings. */
/* --handoff-end is the one value to retune for the end-frame wall. */
.gc{--paper:#FBF7EF;--green:#2F4A3E;--ink:#2E3A33;--brass:#B98B4E;--muted:#46564B;--line:#D9DFD3;--sky:#EAF2F6;--sea-mist:#DCEBEE;--sea-line:#B8D2D9;--sea-deep:#2C5F6E;--handoff-end:#EFDAC6;--sunlit:#FFFCF5;--cream-deep:#F7EEDF;--honey:#F1E4CF;--pine:#8A5528;--pine-deep:#6E4320;--pine-rule:#A06D3A;--line-warm:#E6D5BC}
.gc{background:#FBF7EF;color:var(--ink)}
.gc .hero,.gc .intro,.gc .intro-stage{background:var(--handoff-end);color:var(--ink)}
.gc h1,.gc h2,.gc h3{color:#2F4A3E}
.gc picture:after,.gc .story-photo:after,.gc .hero-shade,.gc .hero-copy:before,.gc .intro-door:after{content:none;display:none}
.gc .hero-house{position:relative;height:auto}.gc .hero-house img{position:relative;height:auto}
.gc .hero h1 em,.gc .eyebrow,.gc .chapter-label,.gc .story-content .chapter-label,.gc .beat-number,.gc .divider{color:var(--pine)}
.gc .hero-content{padding-top:80px;padding-bottom:108px}.gc .hero-caption,.gc .scroll-cue{background:#FFFDF8;color:var(--ink);padding:6px 10px}
.gc .section-wrap{padding-top:144px;padding-bottom:144px}.gc .chapter-two{padding-top:72px;padding-bottom:168px}
.gc .chapter-three{background:#E3EADF;color:var(--ink)}.gc .contact{background:#FFFDF8;padding-top:132px;padding-bottom:132px}
.gc .story-content{padding-top:108px;padding-bottom:108px}.gc .beat,.gc.motion-enabled .beat{border-color:var(--line-warm)}.gc .beat p{color:var(--ink)}
.gc .button{background:#D5E0D2;color:#2E3A33;border:1px solid #71816F}.gc .button:hover{background:#E3EADF}
.gc .header button{color:#2F4A3E;border-color:#71816F}.gc .fine,.gc .credits{color:#46564B}
.gc .button.brass{background:#ECDDBF;color:#2E3A33;border-color:var(--pine-rule)}.gc .button.brass:hover{background:#F1E6D1}

.gc .image-number{background:#FBF7EF;color:#2F4A3E;text-shadow:none;border:1px solid var(--pine-rule)}
.gc .portrait{background:#FFFDF8;border-color:var(--line-warm);box-shadow:none;outline-color:var(--pine-rule)}
.gc input,.gc select,.gc textarea{background:#FFFDF8;color:#2E3A33;border-color:#8E7A60}
.gc footer{background:#D5E0D2;color:#2E3A33;padding-top:70px;padding-bottom:36px}.gc footer a,.gc .contact-links a,.gc .header nav a{text-decoration:underline}.gc .credits{border-color:var(--line-warm)}.gc footer svg{fill:#2E3A33}
.gc a:focus-visible,.gc button:focus-visible,.gc input:focus-visible,.gc select:focus-visible,.gc textarea:focus-visible,.gc .hero :focus-visible,.gc .chapter-three :focus-visible,.gc footer :focus-visible{outline-color:#7A5A2B}
.gc .intro-caption,.gc .intro-cue{background:#FBF7EF;color:#2E3A33}
@keyframes gc-sway{from{transform:rotate(-5deg)}to{transform:rotate(6deg)}}
@media(max-width:900px){.gc .chapter{padding-top:96px;padding-bottom:96px}.gc .story-content{padding-top:66px;padding-bottom:66px}}
@media(max-width:600px){.gc .chapter{padding-top:84px;padding-bottom:84px}.gc .story-content{padding-top:54px;padding-bottom:54px}.gc .contact{padding-top:78px;padding-bottom:78px}.gc footer{padding-top:48px;padding-bottom:29px}.gc .hero-content{padding-top:34px;padding-bottom:96px}}
.gc .error{color:#962D1D}

.gc .hero{background:linear-gradient(180deg,var(--handoff-end) 0,#F9F2E6 55%,var(--cream-deep) 100%)}
.gc .hero .eyebrow{color:var(--sea-deep)}
.gc .hero .text-link{color:var(--pine-deep);text-decoration-color:var(--pine-rule)}


.gc .intro-still,.gc .intro-still img,.gc .intro-handoff{position:absolute;inset:0;width:100%;height:100%}
.gc .intro-still{display:none;z-index:2}.gc .intro-still:after{content:none}
.gc .intro-still img{object-fit:cover;object-position:var(--intro-focus,50%) center}
.gc .intro-handoff{z-index:5;opacity:0;pointer-events:none;background:var(--handoff-end);clip-path:inset(0)}
/* End the bloom before the stage bottom, preserving the exact warm seam. */
.gc .intro-handoff:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--view-x) var(--view-y),rgba(255,247,236,.55) 0,rgba(255,247,236,.25) 28%,rgba(255,247,236,0) 60%);mask-image:linear-gradient(#000 0,#000 70%,transparent 98%)}
.gc.nojs .intro .intro-still,.gc.motion-paused .intro:not(.intro-active) .intro-still{display:block}
.gc.nojs .intro .intro-poster,.gc.motion-paused .intro:not(.intro-active) .intro-poster{display:none}
.gc .intro:not(.intro-active) .intro-handoff{display:none}
@media(max-width:767px){.gc .intro-caption{bottom:6px;left:4%;right:auto;white-space:nowrap;font-size:11px;padding:3px 8px}}
@media(prefers-reduced-motion:reduce){.gc .intro .intro-still{display:block}.gc .intro .intro-poster,.gc .intro .intro-scene,.gc .intro .intro-handoff,.gc .intro .intro-moss{display:none}}

/* Sunlight fades out at the hand-off edge; content remains on z-index 4. */
.gc .hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 70% 60% at 82% 38%,var(--sunlit) 0,rgba(255,252,245,.6) 35%,rgba(255,252,245,0) 70%),linear-gradient(115deg,rgba(255,252,245,0) 40%,rgba(255,252,245,.45) 58%,rgba(255,252,245,0) 76%);mask-image:linear-gradient(180deg,transparent 0,#000 22%)}
.gc .header{border-bottom:1px solid var(--line-warm)}
.gc .contact-links a{border-bottom:1px solid var(--line-warm)}

/* A quiet, native-control home search brief. */
.gc #contact-form{min-width:0;background:var(--sunlit);border:1px solid var(--line-warm);outline:1px solid var(--pine-rule);outline-offset:-8px;box-shadow:0 18px 40px rgba(110,67,32,.08);padding:44px;transform:none}
.gc #brief-title{font-size:36px;color:var(--green);padding-bottom:22px;margin-bottom:28px;border-bottom:1px solid var(--handoff-end)}
.gc #contact-form fieldset{min-width:0;border:0;padding:0;margin:0 0 26px}
.gc #contact-form legend{padding:0;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--pine);font-weight:600;margin-bottom:8px}
.gc .field-hint{font-size:14px;line-height:1.6;color:var(--muted);margin:6px 0 12px}
.gc .brief-options{display:grid;grid-template-columns:1fr;gap:4px 18px}
.gc #contact-form .brief-options label{display:flex;align-items:center;gap:12px;min-height:44px;margin:0;font:400 16px/1.5 gc-figtree,Arial,sans-serif;cursor:pointer}
.gc #contact-form input[type=checkbox],.gc #contact-form input[type=radio]{flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:0;padding:0;accent-color:var(--pine-deep)}
.gc #contact-form input,.gc #contact-form textarea{background:#FFFDF8;border-color:#8E7A60}
.gc .brief-field{margin-bottom:26px}
.gc #contact-form .form-row{grid-template-columns:1fr 1fr;gap:20px}
.gc #contact-form .button{margin-top:12px}

@media(min-width:900px){.gc .brief-options{grid-template-columns:1fr 1fr}.gc .contact{gap:6%;grid-template-columns:.7fr 1.3fr}}
@media(max-width:899px){.gc .contact{grid-template-columns:1fr}.gc .contact form{margin-top:45px}}
@media(max-width:600px){.gc #contact-form{padding:26px}.gc #brief-title{font-size:30px}.gc #contact-form .form-row{grid-template-columns:1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){.gc #contact-form,.gc #contact-form *{transition:none!important}}
.gc.motion-paused #contact-form,.gc.motion-paused #contact-form *{transition:none!important}

/* Companion search card. */
.gc .contact-intro .search-card{min-width:0;width:100%;max-width:360px;margin-top:34px;padding:28px;background:var(--sunlit);border:1px solid var(--line-warm);outline:1px solid var(--pine-rule);outline-offset:-6px;box-shadow:none}
.gc .search-card h3{font-size:28px;color:var(--green)}
.gc .search-note{font-size:14px;line-height:1.6;color:var(--muted);margin:12px 0 20px}
.gc .search-card label{font:400 15px/1.5 gc-figtree,Arial,sans-serif;color:var(--ink)}
.gc .search-card input,.gc .search-card select{min-width:0;min-height:49px;font-size:16px;background:#FFFDF8;border-color:#8E7A60}
.gc .search-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:18px}
.gc .search-row>div{min-width:0}
.gc .search-card .button{min-height:48px}
@media(max-width:600px){.gc .contact-intro .search-card{max-width:none;padding:22px}}
@media(prefers-reduced-motion:reduce){.gc .search-card,.gc .search-card *{transition:none!important}}
.gc.motion-paused .search-card,.gc.motion-paused .search-card *{transition:none!important}

/* 320 and 390 guards. The approved sheet keeps the caption on one line and the header on one row. */
.gc{overflow-x:clip}
.gc [id]{scroll-margin-top:calc(var(--header-height) + 16px)}
.gc .intro-caption{overflow-wrap:anywhere;max-width:min(78vw,55ch)}
@media (max-width:767px){
 .gc .intro-caption{white-space:normal;right:12%}
}
@media (max-width:390px){
 .gc .header{flex-wrap:wrap;min-height:0}
 .gc .header nav{width:100%;justify-content:space-between}
 .gc .header button{max-width:none}
}
.gc .idx-panel{display:grid;gap:12px;margin-top:8px}
.gc .idx-panel input,.gc .idx-panel button{width:100%;min-height:48px;border-radius:0}
.gc .gc-consent{display:flex;align-items:flex-start;gap:12px;margin:8px 0 12px;font:400 15px/1.5 gc-figtree,Arial,sans-serif}
.gc .gc-consent input{flex:0 0 20px;width:20px;height:20px;min-height:20px;margin-top:4px;accent-color:#6E4320}
.gc .gc-thanks{padding:8px 0 4px;font:500 32px/1.15 gc-cormorant,Georgia,serif;color:#2F4A3E}
.gc input.sr-only{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gc .gc-listings{padding-top:72px;padding-bottom:24px}
.gc .gc-listings h2{font-size:clamp(36px,4vw,56px);margin-bottom:28px}
.gc .gc-listing-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.gc .gc-listing{min-width:0}
.gc .gc-listing-card{display:flex;flex-direction:column;min-width:0;height:100%;text-decoration:none;background:#FFFDF8;border:1px solid var(--line-warm);outline:1px solid var(--pine-rule);outline-offset:-6px;color:inherit}
.gc .gc-listing-photo{position:relative;overflow:hidden;background:#F7EEDF}
.gc .gc-listing-photo img{aspect-ratio:4/3;object-fit:cover;width:100%;height:100%}
.gc .gc-listing-empty{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;padding:16px;text-align:center}
.gc .gc-listing-status{position:absolute;left:12px;top:12px;background:#FBF7EF;color:#2F4A3E;padding:4px 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.gc .gc-listing-body{padding:16px 18px 18px}
.gc .gc-listing-price{font:500 28px/1.1 var(--serif);color:#2F4A3E}
.gc .gc-listing-address{margin-top:6px}
.gc .gc-listing-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;font-size:15px}
.gc .gc-listing-brokerage{margin:8px 0 0;font-size:14px;color:#46564B}
@media (min-width:700px){.gc .gc-listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.gc .gc-listing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
