:root{color-scheme:light;--ink:#242422;--muted:#686864;--line:#deded9;--paper:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-padding-top:30px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none;padding:0;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #514c44;outline-offset:6px}.skip{position:absolute;left:24px;top:-60px;background:white;z-index:20;padding:14px}.skip:focus{top:12px}.header{margin:0 4%;height:118px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{width:225px;display:block}.brand img{display:block;width:100%;height:auto}nav{display:flex;gap:36px;font-size:14px}nav a{padding:12px 0}nav a:hover{text-decoration:underline;text-underline-offset:6px}nav span{margin-left:8px}main{padding:0 4%}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:58px 0 38px;gap:30px}.eyebrow{font-size:12px;letter-spacing:.13em;line-height:1.5;font-weight:500}.intro .eyebrow{margin:0 0 18px}h1{font-size:clamp(48px,6.5vw,100px);line-height:1.04;font-weight:400;letter-spacing:-.065em;margin:0} .intro-note{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 4px;max-width:350px}.featured{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.feature{text-align:left;min-width:0}.image-wrap{display:block;overflow:hidden;background:#eee}.feature img{display:block;width:100%;height:100%;aspect-ratio:4/5;object-fit:cover}.caption{display:flex;justify-content:space-between;padding:17px 0;font-size:14px}.caption>span:last-child{color:var(--muted);font-size:12px}.collections{padding-top:112px;padding-bottom:100px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--line);padding-top:30px;margin-bottom:36px;gap:20px}h2{font-size:clamp(32px,3vw,46px);line-height:1.15;font-weight:400;letter-spacing:-.045em;margin:0}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 24px}.collection{display:block;width:100%;text-align:left}.collection .image-wrap{aspect-ratio:4/3}.collection img{width:100%;height:100%;object-fit:cover;display:block}.collection .caption{font-size:18px;padding:18px 0 6px;gap:16px;align-items:center}.collection .caption span:last-child{font-size:21px}.collection small{font-size:13px;color:var(--muted)}footer{margin:0 4%;border-top:1px solid var(--line);padding:40px 0 48px;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:14px;line-height:1.7}footer img{width:190px;height:auto}footer div span{font-size:12px;color:var(--muted)}footer a{font-size:14px}@media(min-width:1600px){main,.header,footer{max-width:1600px;margin-left:auto;margin-right:auto}.header,footer{max-width:1472px}}@media(max-width:700px){.header{height:95px;margin:0 6%}.brand{width:172px}nav{gap:18px}nav a{font-size:13px}nav a:first-child{display:none}main{padding:0 6%}.intro{padding:38px 0 28px;display:block}.intro-note{font-size:14px;margin-top:22px}.intro .eyebrow{font-size:11px;margin-bottom:15px}.featured{gap:10px;grid-template-columns:1fr 1fr}.feature:nth-child(3){display:none}.feature img{aspect-ratio:3/4}.caption{font-size:12px;line-height:1.4;gap:10px}.caption>span:last-child{display:none}.collections{padding:60px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:12px;padding-top:24px;margin-bottom:26px}.section-heading .eyebrow{order:-1}.collection-grid{grid-template-columns:1fr 1fr;gap:30px 14px}.collection .caption{font-size:16px}.collection small{font-size:12px}.collection .caption span:last-child{display:block;font-size:18px}footer{margin:0 6%;display:grid;grid-template-columns:1fr auto;gap:28px;padding:30px 0}footer img{width:168px;grid-column:1/-1}footer div{font-size:13px}footer a{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
dialog{border:0;color:var(--ink)}dialog::backdrop{background:rgba(18,18,17,.7)}#gallery{padding:40px;width:min(1240px,94vw);height:90dvh;max-height:90dvh;max-width:94vw;background:white}.gallery-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:30px}.gallery-head .eyebrow{margin:0 0 16px}.gallery-head p:last-child{color:var(--muted);font-size:16px;margin:14px 0 0}.close{display:flex;align-items:center;gap:16px;font-size:14px;min-height:44px;padding:0 8px;white-space:nowrap}.close span{font-size:30px;font-weight:300}.gallery-grid{columns:3;column-gap:20px}.gallery-grid button{display:block;width:100%;margin-bottom:20px;break-inside:avoid}.gallery-grid img{width:100%;height:auto;display:block}.gallery-grid button:hover{opacity:.9}#viewer{background:#141413;color:white;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;padding:0;overflow:hidden}#viewer[open]{display:grid;grid-template-rows:76px minmax(0,1fr) 76px}.viewer-top,.viewer-bottom{padding:0 4%;display:flex;justify-content:space-between;align-items:center;font-size:14px;gap:18px}.photo-stage{display:flex;justify-content:center;align-items:center;min-height:0;padding:0 5%}.photo-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.viewer-bottom button{padding:14px 0;min-width:95px;display:flex;align-items:center;gap:18px}.viewer-bottom button:last-child{justify-content:flex-end}#photo-count{font-size:13px;color:#bbb}#viewer button:focus-visible{outline-color:white}@media(max-width:700px){#gallery{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:24px;margin:0}.gallery-head{gap:12px}.gallery-head h2{font-size:32px}.gallery-head .eyebrow{font-size:11px}.gallery-grid{columns:2;column-gap:12px}.gallery-grid button{margin-bottom:12px}.close{gap:8px}.viewer-top{font-size:13px}.photo-stage{padding:0 12px}.viewer-bottom{padding:0 24px}.viewer-bottom button{min-width:72px;font-size:14px;gap:8px}}

/* Expanded collections */
.gallery-head{position:sticky;top:-40px;background:white;z-index:2;padding-top:24px;padding-bottom:24px;margin-top:-24px}.gallery-grid{columns:auto}.photo-grid{columns:3;column-gap:20px}.gallery-section{margin-bottom:48px}.gallery-section h3{font-size:22px;font-weight:400;letter-spacing:-.025em;display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin:0 0 24px;padding-top:6px}.gallery-section h3 span{font-size:13px;color:var(--muted);letter-spacing:0;white-space:nowrap}.photo-grid button{display:block;width:100%;break-inside:avoid;margin-bottom:20px}.photo-grid img{width:100%;height:auto;display:block;background:#f4f4f2}.collection small{display:block;line-height:1.6}.gallery-grid img{min-height:0}@media(max-width:700px){.gallery-head{top:-24px;padding-top:16px}.photo-grid{columns:2;column-gap:12px}.photo-grid button{margin-bottom:12px}.gallery-section h3{font-size:20px;display:block;line-height:1.4}.gallery-section h3 span{display:block;margin-top:6px}.gallery-section{margin-bottom:32px}}

/* About and contact */
nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}.action{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--ink);color:#fff;padding:19px 25px;font-size:14px;line-height:1.4;min-height:54px}.action:hover{background:#44443e}.action span{font-size:20px}.contact-banner{border-top:1px solid var(--line);padding:50px 0 90px;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-banner .eyebrow{margin:0 0 20px}.footer-contact a{font-size:13px;overflow-wrap:anywhere}.about-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:9%;max-width:1250px;margin:70px auto 100px}.about-portrait{margin:0}.about-portrait img{display:block;width:100%;height:auto;max-height:760px;object-fit:cover;object-position:center 30%}.about-portrait figcaption{font-size:10px;letter-spacing:.12em;color:var(--muted);margin-top:16px}.about-copy h1,.contact-copy h1{font-size:clamp(52px,6.1vw,86px)}.about-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--muted)}.about-copy>p.lead,.lead{font-size:20px;line-height:1.65;color:var(--ink);margin:28px 0}.about-copy .action{margin-top:20px}.text-link{display:block;font-size:14px;margin-top:24px;text-decoration:underline;text-underline-offset:5px}.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:9%;padding:68px 0 100px;max-width:1320px;margin:auto}.contact-details{margin:45px 0 30px}.contact-details dt{font-size:11px;letter-spacing:.12em;color:var(--muted);margin:26px 0 10px}.contact-details dd{margin:0;font-size:clamp(16px,1.7vw,23px);overflow-wrap:anywhere}.contact-details a:hover,.footer-contact a:hover{text-decoration:underline;text-underline-offset:4px}.contact-small{font-size:13px;line-height:1.7;color:var(--muted);max-width:300px}.inquiry-form{padding:32px;background:#f6f6f3;align-self:start}.inquiry-form h2{font-size:28px}.form-intro{font-size:14px;color:var(--muted);margin:12px 0 30px}.inquiry-form label{display:block;font-size:13px;line-height:1.5;margin-bottom:24px}.inquiry-form label>span{font-size:11px;color:var(--muted)}input,select,textarea{display:block;width:100%;font:inherit;font-size:16px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #aaa9a3;border-radius:0;margin-top:9px;padding:12px 0;min-height:46px}textarea{resize:vertical;line-height:1.6}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #514c44;outline-offset:4px}textarea::placeholder{color:#74746d;font-size:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-note{font-size:11px;line-height:1.7;color:var(--muted);margin:20px 0 0}.form-note a{text-decoration:underline}.honeypot{display:none}.thank-you{padding:100px 0 130px;max-width:850px}.thank-you .action{margin-top:12px}@media(max-width:850px){nav{gap:24px}.about-layout,.contact-layout{gap:6%}.inquiry-form{padding:24px}.form-row{grid-template-columns:1fr;gap:0}}@media(max-width:700px){.header{height:auto;min-height:110px;flex-wrap:wrap;gap:4px;padding:16px 0 12px}.brand{width:164px}nav{gap:23px}nav a:first-child{display:block}nav span{display:none}nav a{font-size:13px}.about-layout{grid-template-columns:1fr;margin:36px auto 60px;gap:35px}.about-portrait{max-width:470px}.about-portrait img{max-height:560px}.about-copy .eyebrow{margin-top:0}.about-copy>p.lead,.lead{font-size:18px}.contact-layout{grid-template-columns:1fr;padding:35px 0 60px;gap:35px}.contact-details{margin:30px 0}.inquiry-form{padding:25px 20px}.contact-banner{align-items:flex-start;flex-direction:column;padding:35px 0 55px}.footer-contact{grid-column:1/-1}.thank-you{padding:60px 0 90px}}@media(max-width:390px){.header{display:block}nav{margin-top:8px;justify-content:space-between}}

/* Crisp vector arrows across desktop and mobile */
.line-arrow{display:inline-block;position:relative;width:18px;height:18px;flex:0 0 18px;vertical-align:middle;color:currentColor}.line-arrow::before{content:"";position:absolute;width:15px;height:1.5px;background:currentColor;left:1px;top:8px}.line-arrow::after{content:"";position:absolute;width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;right:2px;top:4px;transform:rotate(45deg)}.line-arrow.up{transform:rotate(-45deg)}.line-arrow.left{transform:rotate(180deg)}.line-close{display:inline-block;width:18px;height:18px;position:relative}.line-close::before,.line-close::after{content:"";position:absolute;left:8px;top:1px;width:1.5px;height:16px;background:currentColor;transform:rotate(45deg)}.line-close::after{transform:rotate(-45deg)}.inline-link{text-decoration:underline;text-underline-offset:4px}.inline-link .line-arrow{width:14px;height:14px;transform:rotate(-45deg) scale(.72);margin-left:3px}
.reviews-section{border-top:1px solid var(--line);padding:34px 0 95px}.reviews-section .section-heading{border:0;padding:0;margin-bottom:38px}.reviews-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.8fr);gap:7%}.reviews-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.reviews-empty{font-size:16px;line-height:1.7;color:var(--muted);margin:0}.review-card{border-top:1px solid var(--line);padding-top:20px}.review-rating{font-size:18px;letter-spacing:.08em;margin:0 0 22px}.review-card blockquote{font-size:18px;line-height:1.6;letter-spacing:-.015em;margin:0 0 20px;white-space:pre-wrap;overflow-wrap:anywhere}.review-card cite{font-style:normal;font-size:13px;color:var(--muted)}.review-form{background:#f6f6f3;padding:30px}.review-form h3{font-size:30px;font-weight:400;letter-spacing:-.04em;margin:10px 0}.review-intro{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 26px}.review-form label{display:block;font-size:13px;margin:0 0 22px}.review-form label>span{font-size:11px;color:var(--muted)}.review-form .action{cursor:pointer}.review-note,.review-status{font-size:12px;line-height:1.6;color:var(--muted);margin:16px 0 0}.review-status:not(:empty){color:var(--ink)}@media(max-width:800px){.reviews-layout{grid-template-columns:1fr;gap:40px}.reviews-list{grid-template-columns:1fr 1fr}}@media(max-width:700px){.header{display:block;padding:16px 0 12px}.header nav{margin-top:12px;justify-content:space-between;gap:12px}.header nav a{font-size:12px}.reviews-section{padding:28px 0 60px}.reviews-list{grid-template-columns:1fr}.review-form{padding:24px 20px}.review-card blockquote{font-size:17px}.line-arrow{width:16px;height:16px;flex-basis:16px}}
.manager-shell{max-width:900px;margin:60px auto;padding:0 24px 80px}.manager-shell>p{font-size:16px;line-height:1.7}.manager-shell h1{margin:14px 0 24px}.inbox-card{border-top:1px solid var(--line);padding:25px 0}.inbox-card h2{font-size:23px}.inbox-card>p:not(.eyebrow){font-size:16px;line-height:1.7;white-space:pre-wrap}.inbox-actions{display:flex;gap:12px;flex-wrap:wrap}.inbox-actions button{border:1px solid var(--ink);padding:11px 15px;font-size:13px}.inbox-actions button:hover:not(:disabled){background:var(--ink);color:white}.inbox-actions button:disabled{opacity:.4;cursor:default}.review-form button:disabled{opacity:.55;cursor:wait}
.inquiry-form button:disabled{opacity:.55;cursor:wait}

/* One motion rhythm: short interaction feedback, with photos always visible. */
@keyframes studio-settle{from{transform:translateY(24px)}to{transform:translateY(0)}}
@keyframes studio-panel{from{transform:translateY(16px)}to{transform:translateY(0)}}
@keyframes studio-shade{from{background-color:rgba(18,18,17,.5)}to{background-color:rgba(18,18,17,.7)}}
@keyframes studio-brand{from{transform:translateX(-18px)}to{transform:translateX(0)}}
@keyframes studio-page-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes studio-page-out{to{opacity:0;transform:translateY(-6px)}}
@view-transition{navigation:auto}
nav a{position:relative;text-decoration:none!important}
nav a::after{content:"";position:absolute;left:0;right:0;bottom:5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left}
nav a:hover::after,nav a:focus-visible::after,nav a[aria-current="page"]::after{transform:scaleX(1)}
.collection .image-wrap,.feature .image-wrap{outline:1px solid transparent;outline-offset:4px}
input:focus-visible,select:focus-visible,textarea:focus-visible{border-bottom-color:var(--ink);background-color:#eeeee9}
@media(prefers-reduced-motion:no-preference){
 ::view-transition-old(root){animation:studio-page-out .16s ease both}
 ::view-transition-new(root){animation:studio-page-in .26s cubic-bezier(.2,.7,.3,1) both}
 .header .brand{animation:studio-brand .6s cubic-bezier(.2,.7,.3,1)}
 .header nav{animation:studio-settle .48s cubic-bezier(.2,.7,.3,1)}
 .settle-in{animation:studio-settle .55s cubic-bezier(.2,.7,.3,1)}
 #gallery[open],#viewer[open]{animation:studio-panel .24s cubic-bezier(.2,.7,.3,1)}
 dialog[open]::backdrop{animation:studio-shade .18s ease-out}
 nav a::after{transition:transform .18s ease}
 .action,.icon-link,.owner-manage a,.inbox-actions button,.close,.viewer-bottom button{transition:transform .16s ease,background-color .16s ease,color .16s ease,border-color .16s ease}
 .line-arrow,.line-close{transition:translate .18s ease,rotate .18s ease}
 .collection .image-wrap,.feature .image-wrap{transition:outline-color .18s ease}
 input,select,textarea{transition:border-color .18s ease,background-color .18s ease}
 .action:active,.icon-link:active,.close:active,.viewer-bottom button:active,.owner-manage a:active,.inbox-actions button:active{transform:scale(.97)}
 @media(hover:hover) and (pointer:fine){
  .action:hover,.icon-link:hover{translate:0 -2px}
  .action,.icon-link{transition:translate .16s ease,transform .16s ease,background-color .16s ease,color .16s ease,border-color .16s ease}
  .collection:hover .image-wrap,.feature:hover .image-wrap{outline-color:var(--line)}
  .collection:hover .line-arrow,.action:hover .line-arrow{translate:2px -2px}
  .close:hover .line-close{rotate:90deg}
  #previous:hover .line-arrow{translate:-3px 0}#next:hover .line-arrow{translate:3px 0}
 }
 @media(max-width:700px){.settle-in{animation-duration:.32s}#gallery[open],#viewer[open]{animation-duration:.14s}}
}

.contact-icon-actions,.contact-banner-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.contact-icon-actions{margin:30px 0}.contact-banner-actions .contact-icon-actions{margin:0}.contact-banner-actions>.action{min-width:166px}
.icon-link{display:inline-grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:var(--paper)}.icon-link svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon-link .icon-dot{fill:currentColor;stroke:none}
.footer-links{display:flex;gap:10px;border-top:1px solid var(--line);margin-top:13px;padding-top:12px}.footer-links .icon-link{width:42px;height:42px;flex-basis:42px}.footer-links .icon-link svg{width:19px;height:19px}
@media(max-width:700px){.contact-banner-actions{width:100%}.contact-banner-actions>.action{flex:1 1 170px}.contact-banner-actions .contact-icon-actions{flex:1 0 auto;justify-content:flex-end}.contact-icon-actions{margin:24px 0}}

@media(hover:hover){.icon-link:hover{background:var(--ink);color:#fff;border-color:var(--ink)}}
.gallery-cta{border-top:1px solid var(--line);padding:36px 0 10px;margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:28px;break-inside:avoid}.gallery-cta .eyebrow{margin:0 0 12px}.gallery-cta h3{font-size:clamp(25px,2.5vw,36px);font-weight:400;letter-spacing:-.04em;margin:0 0 10px}.gallery-cta p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.6;margin:0}.gallery-cta .action{white-space:nowrap}@media(max-width:700px){.gallery-cta{display:block;padding:28px 0 10px}.gallery-cta .action{margin-top:22px;width:100%}#real-estate{scroll-margin-top:20px}}

.owner-manage{border-top:1px solid var(--line);padding-top:18px;margin:22px 0 0;font-size:12px;color:var(--muted)}.owner-manage a{display:inline-flex;align-items:center;gap:5px;min-height:44px;margin-left:7px;padding:0 12px;border:1px solid var(--line);font-size:13px;color:var(--ink)}.owner-manage a:hover{border-color:var(--ink)}.owner-manage .line-arrow{transform:rotate(-45deg) scale(.7)}
