@font-face{font-family:EstateSerif;src:url(fonts/serif.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:EstateSerif;src:url(fonts/serif-italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:EstateSans;src:url(fonts/sans.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:EstateSans;src:url(fonts/sans-bold.ttf) format("truetype");font-weight:700;font-display:swap}
:root{--paper:#f6f3eb;--ink:#25392c;--accent:#294532;--line:#c7cebf;--serif:EstateSerif,Georgia,serif;--sans:EstateSans,Arial,sans-serif;--gutter:clamp(22px,4.2vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font:400 1em/1.05 var(--serif);letter-spacing:-.025em}h2{font-size:clamp(38px,4.4vw,64px)}h3{font-size:clamp(25px,2.5vw,36px)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,select,textarea{font:inherit;color:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer;min-height:44px}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid currentColor;outline-offset:5px}::selection{background:var(--accent);color:var(--paper)}[hidden]{display:none!important}.skip-link{position:fixed;top:-140px;left:18px;background:var(--ink);color:var(--paper);padding:14px;z-index:100}.skip-link:focus{top:12px}.eyebrow{font:12px/1.6 var(--sans);letter-spacing:.15em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:48px;padding:12px 22px;background:var(--accent);color:#fff;font-size:15px;line-height:1.5;max-width:100%;border:1px solid transparent;transition:background .2s,transform .2s}.button:after{content:'↗';font-size:22px;line-height:1}.button:hover{transform:translateY(-2px)}.text-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;padding:8px 0;border-bottom:1px solid currentColor;font-size:14px;line-height:1.5}.text-link:after{content:'↗';font-size:18px}.small-note{display:block;font-size:13px;line-height:1.7;margin-top:14px}.edition-bar{background:#1f2423;color:#fff;min-height:40px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;position:relative;z-index:60}.edition-bar nav{display:flex;gap:4px;flex-wrap:wrap}.edition-bar a{min-height:40px;display:inline-flex;align-items:center;padding:4px 12px}.edition-bar a[aria-current]{background:#fff;color:#1f2423}.edition-bar a:hover{background:#ffffff25}.edition-bar a[aria-current]:hover{background:#fff}.all-editions{white-space:nowrap}.site-header{display:flex;align-items:center;gap:24px;padding:14px var(--gutter);position:relative;top:0;z-index:20;border-bottom:1px solid var(--line);background:var(--paper)}.js-enabled .site-header{position:sticky}.brand{flex-shrink:0;line-height:1}.brand small{display:block;text-align:center;letter-spacing:.24em;font:10px/1.5 var(--sans);margin-bottom:3px}.brand>span{font:400 32px/1 var(--serif)}.menu-nav{margin-left:auto;display:flex;align-items:center;gap:clamp(12px,1.6vw,24px);font-size:13px}.menu-nav>a{display:flex;align-items:center;min-height:44px;white-space:nowrap}.menu-nav>a:hover{text-decoration:underline;text-underline-offset:7px}.header-cta{padding:10px 16px;border:1px solid currentColor;min-height:44px;font-size:13px;text-align:center;white-space:nowrap}.menu-toggle{display:none;background:transparent;border:1px solid currentColor;padding:8px 12px;font-size:14px}.menu-toggle span{margin-left:8px}.reading-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:90;pointer-events:none;background:var(--accent);transform-origin:left;transform:scaleX(var(--reading-progress,0))}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}.section-heading>p{max-width:34ch;font-size:14px}.section-heading .eyebrow{margin-bottom:12px}.hero-photo{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
/* The closed mobile header may wrap its brand and button onto two rows. */
@media(max-width:900px){html.js-enabled{scroll-padding-top:150px}}
/* Source composites are framed only inside reviewed photo/sketch bounds. All UI is native HTML. */
.photo-frame{--frame-crop:translate(calc(-100% * var(--x) / 1024),calc(-100% * var(--y) / 1536));position:relative;overflow:hidden;aspect-ratio:var(--w)/var(--h);min-width:0;background:#d9d9cc}.photo-frame>img{position:absolute;max-width:none;width:calc(102400% / var(--w));height:auto;left:0;top:0;transform:var(--frame-crop);transition:filter .3s}.photo-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.photo-service{display:block;border:1px solid var(--line);min-width:0}.photo-service>div:last-child{position:relative;padding:14px 16px 18px}.photo-service small{font-size:12px}.photo-service h3{font-size:26px;margin:4px 0 10px}.photo-service p{font-size:14px;line-height:1.5;padding-right:10px}.photo-service>div:last-child>span{position:absolute;right:14px;top:14px;font-size:22px}.photo-service:hover .photo-frame>img{filter:brightness(1.08)}.service-detail{border-top:1px solid var(--line);margin-top:14px;font-size:14px}.service-detail summary{display:flex;justify-content:space-between;gap:14px;cursor:pointer;min-height:44px;padding:10px 0;list-style:none}.service-detail summary::-webkit-details-marker{display:none}.service-detail>p{padding-bottom:16px}.service-detail[open] summary>span{transform:rotate(45deg)}.offsite{display:grid;grid-template-columns:1fr 1fr}.offsite-copy{padding:42px var(--gutter);align-self:center;min-width:0}.offsite-copy h2{margin:12px 0 18px}.offsite-copy>p:not(.eyebrow){max-width:38ch;margin-bottom:22px;font-size:17px}.offsite-copy .small-note{max-width:46ch}.offsite>.photo-frame{align-self:center;aspect-ratio:528/303}.portfolio{display:grid;grid-template-columns:.9fr 1.5fr;gap:36px;align-items:center;padding:38px var(--gutter)}.portfolio-heading h2{font-size:clamp(36px,3.7vw,56px);margin:12px 0 20px}.portfolio-heading>p:not(.eyebrow){max-width:38ch}.portfolio-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;align-items:start}.gallery-open{display:block;position:relative;overflow:hidden}.gallery-open img{width:100%;height:280px;object-fit:cover;transition:transform .5s}.portfolio-grid figure:last-child img{object-position:center 35%}.gallery-open:hover img{transform:scale(1.03)}.gallery-open:after{content:'↗';position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--paper);color:var(--ink);font-size:23px}.portfolio figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:12px;margin-top:10px}.picker-controls{display:none;flex-wrap:wrap;gap:8px}.is-ready>.picker-controls{display:flex}.picker-controls button{background:transparent;border:1px solid var(--line);padding:10px 18px;font-size:14px}.picker-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.compact-picker{margin-top:16px;border:1px solid var(--line);padding:12px 18px 14px;background:color-mix(in srgb,var(--paper),white 25%)}.compact-picker .scene{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 22px;margin-top:8px;min-height:0;padding:0;scroll-margin-top:110px}.compact-picker .scene h3{grid-column:1;font-size:20px}.compact-picker .scene p{grid-column:1;grid-row:2}.compact-picker .scene>.text-link{grid-column:2;grid-row:1/3;align-self:center}.compact-picker .scene h3{font-size:20px}.compact-picker .scene p{font-size:14px;max-width:65ch}.interactive-control{display:none}.is-ready>.interactive-control,.is-ready .brief-fields>.interactive-control{display:inline-flex}
/* A compact contact hierarchy; each edition composes its own ending. */
.site-footer{position:relative;padding:24px var(--gutter) 16px;display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:16px 28px;border-top:1px solid var(--line)}.visit-title h2{font-size:28px;margin:8px 0 16px;max-width:20ch}.visit-title>.button{font-size:14px;min-height:44px;padding:10px 16px}.visit-address{align-self:start;font-size:14px}.visit-address .small-note{font-size:12px;max-width:34ch;margin-top:6px}.visit-address .text-link{font-size:13px;min-height:40px;padding-block:6px}.visit-links{align-self:start;min-width:0}.footer-links{display:flex;flex-wrap:wrap;gap:0 14px;font-size:12px}.footer-links>a{display:inline-flex;min-height:32px;align-items:center}.profile-links{display:flex;flex-wrap:wrap;gap:0 14px;margin-top:0;font-size:12px}.profile-links a{display:flex;min-height:36px;align-items:center}.footer-links>a:hover,.profile-links a:hover{text-decoration:underline}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:2px;font-size:12px}.footer-bottom a{display:flex;align-items:center;min-height:36px}.concept-note{grid-column:1/-1;font-size:12px;line-height:1.6;max-width:110ch;margin:0}.visit-brief{border-top:1px solid var(--line);margin-top:6px}.visit-brief summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;gap:14px;cursor:pointer;font-size:13px}.brief-fields{display:none;grid-template-columns:1fr;gap:12px;padding:4px 0 16px}.visit-brief.is-ready .brief-fields{display:grid}.brief-fields label{display:flex;flex-direction:column;gap:6px;font-size:13px;min-width:0}.brief-fields select,.brief-fields textarea{width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:8px;min-height:44px;border-radius:0}.brief-fields textarea{resize:vertical}.brief-fields .button{justify-self:start;font-size:13px;padding:10px 14px;min-height:44px}.brief-output{grid-column:1/-1}.brief-fields [role=status]{grid-column:1/-1;font-size:12px;line-height:1.6}.rental-note{font-size:13px;line-height:1.6;max-width:35ch;margin-bottom:14px}
.gallery-dialog{width:fit-content;max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:16px;border:0;background:#171918;color:#fff;overflow:auto}.gallery-dialog::backdrop{background:#0b100edb;backdrop-filter:blur(8px)}.gallery-dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;font-size:13px}.gallery-dialog button{background:transparent;border:1px solid #ffffff70;padding:8px 14px}.gallery-dialog img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 165px);margin:auto;object-fit:contain}.gallery-dialog>p{font-size:13px;line-height:1.5;margin-top:12px;max-width:80ch}.gallery-nav{display:flex;gap:8px}.arrived{animation:arrive .5s both}.scene.is-selected{animation:arrive .25s both}@keyframes arrive{from{opacity:.5;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1920px){body{max-width:1920px;margin-inline:auto}}@media(max-width:1200px){.header-cta{display:none}.menu-nav{gap:18px}.photo-service h3{font-size:23px}.site-footer{gap:16px 22px}.compact-picker .scene{grid-template-columns:1fr auto}.compact-picker .scene .text-link{grid-column:2}}
@media(max-width:900px){.site-header{flex-wrap:wrap;gap:14px}.brand{margin-right:auto}.js-enabled .menu-toggle{display:block;}.menu-nav{width:100%;display:flex;flex-direction:column;align-items:stretch;margin:0;border-top:1px solid var(--line);padding-top:8px;max-height:calc(100dvh - 120px);overflow:auto;gap:4px}.menu-nav a{white-space:normal;font-size:16px}.js-enabled .menu-nav{display:none}.js-enabled .menu-nav.is-open{display:flex}.photo-services{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio{grid-template-columns:1fr;gap:24px}.portfolio-heading{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;align-items:center}.portfolio-heading>.eyebrow{grid-column:1/-1}.portfolio-heading h2{grid-row:2/4;margin:0}.portfolio-heading .small-note{margin:0}.site-footer{grid-template-columns:1fr 1fr}.visit-links{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.visit-links .visit-brief{grid-column:2;grid-row:1/3;margin-top:0}.offsite-copy{padding:32px var(--gutter)}.brief-fields{grid-template-columns:1fr}.brief-fields .button{justify-self:start}.gallery-dialog-bar{align-items:start}.gallery-nav{flex-wrap:wrap;justify-content:end}}
@media(max-width:600px){:root{--gutter:20px}.edition-bar{padding-inline:8px;gap:0}.edition-bar a{padding-inline:10px}.edition-name{display:none}.brand>span{font-size:30px}.section-heading{align-items:start;flex-direction:column;gap:12px;margin-bottom:22px}.section-heading h2{font-size:37px}.eyebrow{font-size:11px}.hero-actions{gap:12px}.photo-services{gap:12px}.photo-service>div:last-child{padding:12px}.photo-service h3{font-size:23px;padding-right:12px}.photo-service p{font-size:13px;padding-right:0}.photo-service>div:last-child>span{right:9px;top:10px;font-size:18px}.offsite{grid-template-columns:1fr}.offsite-copy{padding:30px var(--gutter)}.offsite-copy h2{font-size:44px}.offsite-copy>p:not(.eyebrow){font-size:16px}.portfolio{padding-block:30px}.portfolio-heading{display:block}.portfolio-heading h2{margin:10px 0 14px}.portfolio-heading .small-note{margin-top:14px}.portfolio-grid{gap:14px;grid-template-columns:1fr 1fr}.gallery-open img{height:220px}.portfolio figcaption{font-size:11px}.compact-picker .scene{grid-template-columns:1fr;gap:10px;margin-top:14px}.compact-picker .scene .text-link{grid-column:1;grid-row:3;justify-self:start}.compact-picker .scene h3{font-size:20px}.picker-controls{gap:6px}.is-ready>.picker-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.picker-controls button{padding:10px 12px;min-height:44px;flex:1;min-width:0;overflow-wrap:anywhere}.site-footer{grid-template-columns:1fr;gap:14px;padding-top:24px}.visit-title h2{font-size:28px;max-width:none}.visit-title{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}.visit-title>.eyebrow{flex-basis:100%}.visit-title>h2{margin:0;flex:1 1 180px;min-width:min(180px,100%)}.visit-links{grid-column:auto;display:block}.visit-links .visit-brief{margin-top:6px}.visit-address .small-note{max-width:none}.footer-bottom{gap:16px}.brief-fields{grid-template-columns:1fr;gap:14px}.brief-fields [role=status]{grid-column:auto}.gallery-dialog{max-width:calc(100% - 20px);padding:12px}.gallery-dialog-bar{flex-direction:column;gap:8px}.gallery-nav{justify-content:start}.gallery-dialog img{max-height:calc(100dvh - 210px)}.gallery-dialog>p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.button:hover,.gallery-open:hover img{transform:none}.reading-progress{display:none}}
/* Visible planning, with one draft owner and an explicit recipient. */
input{font:inherit;color:inherit}.visit-planner{display:grid;grid-template-columns:.85fr 1.6fr;gap:36px;padding:40px var(--gutter);border-top:1px solid var(--line);background:color-mix(in srgb,var(--paper),white 35%)}.planner-heading h2{font-size:clamp(35px,3.6vw,54px);margin:12px 0 18px}.planner-heading>p:not(.eyebrow){font-size:15px;max-width:34ch}.planner-heading .small-note{max-width:39ch;font-size:12px}.planner-widget .brief-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:0}.planner-inputs,.planner-result{display:flex;flex-direction:column;gap:12px;min-width:0}.planner-widget input{width:100%;min-width:0;min-height:44px;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:0}.field-note{font-size:11px;opacity:.7}.planner-result .brief-output{display:flex;flex-direction:column;gap:6px}.planner-result .planner-send{width:100%;font-size:14px;min-height:48px}.planner-result>button{align-self:start;background:transparent;border:0;border-bottom:1px solid currentColor;padding:4px 0;font-size:12px;min-height:44px}.planner-result [role=status]{font-size:12px;line-height:1.5}.planner-widget .brief-output textarea{font-size:13px;line-height:1.6;resize:vertical}.planner-send[aria-disabled=true]{opacity:.5}.quick-plan{display:none}.portfolio-swipe-note{display:none}
@media(max-width:1000px){.visit-planner{grid-template-columns:1fr;gap:22px}.planner-heading{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.planner-heading .eyebrow{grid-column:1/-1}.planner-heading h2{grid-column:1;grid-row:2/4;margin:10px 0}.planner-heading>p:not(.eyebrow){grid-column:2;grid-row:2;margin-top:10px}.planner-heading .small-note{grid-column:2;grid-row:3;margin:10px 0 0}}
@media(max-width:600px){.visit-planner{padding-block:28px;gap:20px}.planner-heading{display:block}.planner-heading h2{font-size:36px;margin:10px 0 14px}.planner-heading h2 br{display:none}.planner-heading>p:not(.eyebrow){max-width:none}.planner-heading .small-note{max-width:none}.planner-widget .brief-fields{grid-template-columns:1fr;gap:18px}.planner-result .brief-output textarea{min-height:150px}.js-enabled body{padding-bottom:84px}html.js-enabled{scroll-padding-bottom:84px}.js-enabled .quick-plan:not([hidden]){position:fixed;z-index:15;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px max(14px,env(safe-area-inset-bottom));background:var(--accent);color:white;min-height:62px;box-shadow:0 -4px 20px #00000012}.quick-plan span{font-size:11px;max-width:12ch;line-height:1.4}.quick-plan strong{font-size:14px}.js-enabled body .portfolio{display:flex;flex-direction:column;align-items:stretch}.js-enabled body .portfolio-heading{display:block;width:100%;padding:0}.js-enabled body .portfolio-grid{display:flex;width:100%;gap:16px;padding:8px 2px 16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;overscroll-behavior-x:contain}.js-enabled body .portfolio .portfolio-grid figure{flex:0 0 min(82%,calc(300px * var(--photo-aspect)));width:min(82%,calc(300px * var(--photo-aspect)));max-width:none;margin:0;transform:none;scroll-snap-align:start}.js-enabled body .portfolio .portfolio-grid .gallery-open img{width:100%;height:auto;max-height:300px;aspect-ratio:auto;object-fit:contain;background:color-mix(in srgb,var(--paper),white 30%)}.js-enabled .portfolio-swipe-note{display:block;font-size:11px;margin-top:12px}}
/* Normal scrolling remains native; motion resets with capability/preference changes. */
@media(prefers-reduced-motion:reduce){.motion-enabled [data-depth-scene] .hero-photo,.motion-enabled [data-tilt-scene] .country-main{transform:none!important}}

.planner-widget input:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.planner-widget.is-ready [data-brief-copy]{display:inline-flex}.portfolio-filmstrip{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gallery-thumb{position:relative;display:block;overflow:hidden;background:color-mix(in srgb,var(--paper),white 30%);border:1px solid var(--line)}.gallery-thumb img{width:100%;height:130px;object-fit:contain;transition:filter .5s}.gallery-thumb span{position:absolute;right:8px;bottom:7px;font-size:11px;background:var(--paper);padding:3px 7px}.gallery-thumb:hover{border-color:var(--accent)}
@media(max-width:600px){.js-enabled body .portfolio-filmstrip{display:flex;gap:12px;overflow-x:auto;width:100%;padding:4px 2px 12px;scroll-snap-type:x mandatory}.js-enabled body .portfolio-filmstrip figure{flex:0 0 42%;scroll-snap-align:start}.gallery-thumb img{height:125px}.portfolio-filmstrip{grid-template-columns:1fr 1fr;gap:12px}}
