/* Keep portrait photographs intact, especially the exterior that introduces the house. */
.hero-photographic{height:740px;min-height:680px;background:#eeeee4;color:var(--ink)}
.hero-photographic .hero-art{left:50%;right:3%;top:30px;bottom:60px;background:#e0e5db}
.hero-photographic .hero-art img{height:100%;width:100%;object-fit:contain;object-position:center}
.hero-photographic .hero-wash{display:none}
.hero-photographic .hero-content{width:50%;max-width:none;padding:86px 5% 70px}
.hero-photographic h1{font-size:clamp(55px,5.7vw,84px);letter-spacing:-3px;max-width:530px}
.hero-photographic .eyebrow.light{color:#5c705e}
.hero-photographic .tiny-line{background:#87967a}
.hero-photographic .hero-description{color:#627267;max-width:340px}
.hero-photographic .hero-note{color:#64735f;font-size:7px;letter-spacing:1.2px}
.hero-photographic .button.cream{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.hero-photographic .button.cream:hover{background:#365651}
.hero-photographic .hero-bottom{color:#607161;background:transparent;border-color:#d7dccf;font-size:7px}
.hero-photographic .hero-bottom>span:nth-child(2){display:none}
.house-tour{padding-top:10px;padding-bottom:80px}
.tour-intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0;margin-bottom:35px}
.tour-intro>div+div{padding-left:30px;border-left:1px solid var(--line)}
.tour-intro span{font-size:8px;letter-spacing:1.5px;color:#7b886e}
.tour-intro h3{font-size:26px;margin:14px 0 13px}
.tour-intro p{font-size:12px;line-height:1.85;margin:0}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px;scroll-margin-top:30px}
.gallery-filters{display:flex;flex-wrap:wrap;gap:7px}
.gallery-filters button{background:transparent;border:1px solid var(--line);color:var(--muted);font-size:10px;white-space:nowrap;padding:9px 13px}
.gallery-filters button[aria-pressed=true]{color:var(--paper);background:var(--ink);border-color:var(--ink)}
.gallery-filters button:hover{border-color:#87967a}
#gallery-count{font-size:10px;white-space:nowrap;margin:0}
.tour-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(180px,24vw,330px);grid-auto-flow:dense;gap:14px;isolation:isolate}
.tour-grid figure{margin:0;min-width:0;position:relative;transition:transform .24s ease,box-shadow .24s ease;transform-origin:center;z-index:0}
.tour-grid figure.collage-featured{grid-column:span 2;grid-row:span 2}
.tour-grid figure>button{position:relative;display:block;height:100%;overflow:hidden;background:var(--sage);border:0;width:100%;padding:0;cursor:zoom-in}
.tour-grid img{width:100%;height:100%;object-fit:cover}
.zoom-mark{position:absolute;top:12px;right:12px;width:27px;height:27px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink);background:#fffef9dc;font-size:21px;line-height:1;z-index:1}
.tour-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:45px 17px 17px;background:linear-gradient(transparent,#153737e8);color:var(--paper);pointer-events:none}
.tour-grid figcaption>.eyebrow{font-size:7px;display:block;margin-bottom:9px;color:#d4dfc8;letter-spacing:1.5px}
.tour-grid h3{font-size:23px;letter-spacing:-.6px;margin:0;line-height:1.16}
.tour-grid figcaption p{display:none}
.tour-grid .collage-featured h3{font-size:34px}
.tour-grid .collage-featured figcaption{padding:65px 26px 26px}
.tour-grid .collage-featured p{display:block;font-size:12px;line-height:1.7;color:#e0e7d7;margin:12px 0 0;max-width:430px}
@media(hover:hover) and (pointer:fine){.tour-grid figure:hover{transform:scale(1.045);box-shadow:0 15px 40px #142f3b40;z-index:3}}
.tour-grid figure:focus-within{transform:scale(1.025);box-shadow:0 12px 30px #142f3b30;z-index:3}
[hidden]{display:none!important}
.photo-viewer{border:1px solid #6a8070;background:#173a3a;color:#f8f6ef;padding:0;max-width:1100px;width:94vw;max-height:94dvh;overflow:auto;overscroll-behavior:contain}
.photo-viewer::backdrop{background:#10282af0}
.viewer-shell{padding:18px 30px 23px}
.viewer-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.5px;margin-bottom:12px}
.viewer-top button{background:transparent;border:1px solid #63796d;color:#f8f6ef;font-size:11px;padding:7px 14px}
.viewer-image-wrap{display:flex;align-items:center;justify-content:center;position:relative;min-height:200px}
#viewer-image{height:min(64dvh,800px);max-width:100%;width:auto;object-fit:contain}
.viewer-arrow{position:absolute;top:calc(50% - 23px);width:42px;height:46px;background:#f8f6efe8;border:0;color:var(--ink);font-size:24px;z-index:1}
.viewer-arrow.previous{left:0}.viewer-arrow.next{right:0}
.viewer-description{margin-top:20px;max-width:700px}
.viewer-description>.eyebrow{color:#c1cbb5;font-size:7px;margin-bottom:8px}
.viewer-description h3{font-size:29px;margin-bottom:10px;letter-spacing:-.6px}
.viewer-description>p:last-child{font-size:12px;color:#d0d9c6;line-height:1.8;margin:0}
body.viewer-open{overflow:hidden}
@media(min-width:1600px){.hero-photographic{height:800px}.hero-photographic .hero-content{padding-top:130px}}
@media(max-width:1050px){.hero-photographic{height:700px}.hero-photographic .hero-content{padding:75px 4%}.hero-photographic h1{font-size:63px}.hero-photographic .hero-note{font-size:6px}.hero-photographic .hero-note span{margin:0 5px}.gallery-toolbar{align-items:start;flex-direction:column;gap:13px}.tour-intro{gap:24px}.tour-intro>div+div{padding-left:22px}.tour-intro h3{font-size:23px}}
@media(max-width:760px){.hero-photographic{height:auto;min-height:0;display:flex;flex-direction:column;padding:0}.hero-photographic .hero-content{width:100%;order:0;padding:44px 7% 35px}.hero-photographic h1{font-size:61px;max-width:520px;line-height:1.05;margin:23px 0}.hero-photographic .hero-description{max-width:420px;margin-bottom:25px}.hero-photographic .hero-note{margin-top:25px;font-size:7px}.hero-photographic .hero-art{position:relative;inset:auto;order:1;height:min(112vw,610px);margin:0 6% 0;padding:16px;background:#e0e5db}.hero-photographic .hero-bottom{position:static;order:2;margin-top:15px;font-size:6px;padding:17px 6%;border-top:1px solid var(--line)}.hero-photographic .hero-bottom>a{display:block}.hero-photographic .hero-bottom>span:first-child{display:none}.hero-photographic .hero-bottom>span:nth-child(2){display:block}.tour-intro{grid-template-columns:1fr;gap:22px;padding:25px 0}.tour-intro>div+div{padding:22px 0 0;border-left:0;border-top:1px solid var(--line)}.tour-intro h3{font-size:27px;margin-top:10px}.tour-intro p{font-size:12px;max-width:520px}.house-tour{padding-top:0;padding-bottom:55px}.gallery-filters{gap:7px}.gallery-filters button{font-size:9px;padding:8px 10px}.gallery-toolbar{gap:17px;margin-bottom:22px}.viewer-shell{padding:12px 12px 20px}.photo-viewer{width:96vw;max-height:96dvh}.viewer-description{padding:0 5px}.viewer-description h3{font-size:25px}#viewer-image{height:60dvh}.viewer-arrow{height:40px;width:33px;font-size:20px}.viewer-description>p:last-child{font-size:11px}.viewer-top{font-size:9px}}
@media(max-width:500px){.hero-photographic h1{font-size:56px}.hero-photographic .hero-note{font-size:6px;letter-spacing:.8px}.tour-grid h3{font-size:20px}}
@media(max-width:1000px){.tour-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(190px,31vw,300px)}.tour-grid h3{font-size:22px}.tour-grid .collage-featured h3{font-size:30px}}
@media(max-width:600px){.tour-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(170px,49vw,280px);gap:10px}.tour-grid figcaption{padding:32px 12px 13px}.tour-grid figcaption>.eyebrow{font-size:6px;letter-spacing:1px}.tour-grid h3{font-size:20px}.tour-grid .collage-featured h3{font-size:30px}.tour-grid .collage-featured figcaption{padding:50px 22px 23px}.tour-grid .collage-featured p{font-size:11px}.zoom-mark{top:10px;right:10px;width:25px;height:25px;font-size:19px}}
@media(prefers-reduced-motion:reduce){.tour-grid figure{transition:none}.tour-grid figure:hover,.tour-grid figure:focus-within{transform:none}}

/* Local guide photography uses the same card dimensions as the area illustrations. */
.local-photo{height:185px;background:var(--sage);overflow:hidden}
.local-photo img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
@media(max-width:760px){.local-photo{grid-row:1/4;height:155px}}
