:root{color-scheme:light;--ink:#292139;--accent:#573985;--paper:#f8f5ff;--line:#ddd1ef}*{box-sizing:border-box}body{margin:0;font:1rem/1.65 'Segoe UI',sans-serif;color:var(--ink);background:var(--paper)}a{color:var(--accent)}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.wrap{width:min(70rem,100% - 2rem);margin:auto}header,footer{padding:1.2rem 0;background:white;border-bottom:1px solid var(--line)}.bar,nav{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center}.bar{justify-content:space-between}.brand{font:700 1.35rem Georgia,serif;text-decoration:none}.hero{padding:clamp(1.5rem,7vw,5rem);margin:1.5rem 0;background:#e9dff7;border-radius:1.4rem}.hero p{max-width:56ch}h1,h2,h3{font-family:Georgia,serif;line-height:1.1}h1{font-size:clamp(2.1rem,6vw,4.6rem);margin:.4rem 0;overflow-wrap:anywhere}.kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700}.cta{display:inline-flex;min-height:44px;align-items:center;background:var(--accent);color:white;border-radius:.6rem;padding:.55rem 1rem;text-decoration:none;font-weight:650}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem}.card{background:white;border:1px solid var(--line);border-radius:1rem;padding:1.25rem;margin-bottom:1rem}.card h2,.card h3{margin-top:0}footer{margin-top:2.5rem}address{font-style:normal}
:root{--ink:#302338;--accent:#55304c;--paper:#fcf8f6;--line:#e4d6dd}
header,footer{background:#fffaf8}header nav a,footer nav a{text-decoration:none}nav a[aria-current]{text-decoration:underline;text-underline-offset:.3em}
.brand{letter-spacing:.09em}.brand span{display:block;font:600 .7rem 'Segoe UI',sans-serif;letter-spacing:.25em;text-transform:uppercase;margin-top:.3rem}
.hero{background:linear-gradient(125deg,#efe1e9,#f7eae0);padding:clamp(1.4rem,5vw,4.2rem)}.intro{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:clamp(1.2rem,4vw,4rem)}.intro h1{letter-spacing:.035em}.lead{font:clamp(1.2rem,3vw,2rem) Georgia,serif;margin:.35rem 0 1rem}.portrait{display:block;width:min(100%,22rem);height:auto;justify-self:center;border-radius:50%}
.card{margin:0 0 1rem;background:#fffdfb}.card h2 a{text-decoration:none}.card h2 a:hover{text-decoration:underline}.card p:last-child{margin-bottom:0}
.cta:hover{background:#3d2139}.photo-slot{display:grid;place-items:center;min-height:9rem;background:#f2e6e9;border-radius:.7rem;color:#62495c}
.price-list div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.65rem 0;border-top:1px solid var(--line)}.price-list dd{margin:0;white-space:nowrap;font-weight:650}
.skip{position:absolute;left:1rem;top:-5rem;background:white;padding:.5rem}.skip:focus{top:.5rem}
@media(max-width:40rem){.intro{grid-template-columns:1fr}.portrait{width:min(65%,14rem)}.bar nav{column-gap:.85rem}.bar nav a{padding:.25rem 0}.hero{border-radius:1rem}}
.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}.card h2{font-size:clamp(1.22rem,2.15vw,1.5rem);hyphens:auto;overflow-wrap:anywhere}

/* Warm neutral palette shared with the studio design reference. */
:root{--ink:#2d241d;--accent:#65472b;--paper:#faf7f1;--line:#dfd0bd}
header,footer,.card{background:#fffdf8}.hero{background:linear-gradient(120deg,#efe3d2,#f8eee2)}
header nav a{padding:.3rem .05rem}.brand span{color:#755b43}
.welcome{display:grid;align-items:end;min-height:clamp(22rem,47vw,33rem);margin:1.5rem 0 2.5rem;padding:clamp(1.3rem,5vw,4rem);border-radius:1.2rem;background:#493327;position:relative;isolation:isolate;overflow:hidden;color:#fff9ef}
.welcome::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#39271c 0%,#39271ceb 30%,#39271c33 70%),url("olga-heinle.jpg") right 36%/auto 125% no-repeat}
.welcome-copy{max-width:35rem}.welcome h1{font-weight:500;max-width:13ch;overflow-wrap:normal}.welcome p{font:clamp(1.2rem,3vw,1.8rem) Georgia,serif;margin:.65rem 0 1.4rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.65rem}.hero-actions .cta{background:linear-gradient(#ffebc8,#e4b474);color:#352416}.hero-actions .secondary{display:inline-flex;min-height:44px;align-items:center;padding:.5rem 1rem;border:1px solid #f5dec0;border-radius:.6rem;color:#fff9ef;text-decoration:none;background:#37251f75}
.category-grid,.price-jump{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.category,.price-jump a{border:1px solid var(--line);background:#fffdf8;border-radius:.85rem;padding:clamp(.7rem,3vw,1.55rem);text-decoration:none}.category h3{margin:0 0 .4rem;font-size:clamp(.98rem,2.7vw,1.55rem);hyphens:auto;overflow-wrap:anywhere}.category p{margin:0;color:#574a3b;font-size:clamp(.82rem,2vw,1rem)}.category:hover,.price-jump a:hover{border-color:#997451}
.price-jump{margin:1.5rem 0}.price-jump a{display:flex;align-items:center;min-height:44px;hyphens:auto;overflow-wrap:anywhere}.price-panel{scroll-margin-top:1rem}.price-panel h3{margin-bottom:.35rem}.price-note{color:#574a3b}.price-list dt{min-width:0;overflow-wrap:anywhere}
.title-strip{background:#f2e7d9;border:1px solid var(--line);margin:1.5rem 0;padding:.6rem 1rem;border-radius:.65rem;text-align:center}.title-strip h1{font-size:clamp(1.45rem,4vw,2.2rem);margin:0}
.owner{display:grid;grid-template-columns:minmax(0,17rem) minmax(0,1fr);gap:clamp(1rem,4vw,3rem);align-items:center}.owner img{width:100%;height:auto;border-radius:.65rem}.owner-role{color:#65472b;margin-top:-.6rem}
.contact-links{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1.1rem}.contact-icon{font-size:1.3em}.phone-icon{color:#ad2529}.map-icon{color:#275a9b}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:40rem){.welcome{min-height:24rem;padding:1rem}.welcome::before{background:linear-gradient(0deg,#39271c 3%,#39271cc9 40%,#39271c20 80%),url("olga-heinle.jpg") center 28%/cover no-repeat}.welcome h1{font-size:clamp(1.9rem,7.2vw,2.8rem)}.welcome p{margin-bottom:.85rem}.hero-actions a{font-size:.86rem}.owner{grid-template-columns:1fr}.owner img{max-width:15rem}.price-jump a{padding:.65rem;font-size:.9rem}}
.welcome::before{background:linear-gradient(90deg,#39271c 0%,#39271c 23%,#39271cee 36%,#39271c3b 66%),url("olga-heinle.jpg") calc(100% + 2rem) 38%/auto 157% no-repeat}
@media(max-width:40rem){.welcome::before{background:linear-gradient(0deg,#39271c 3%,#39271cef 23%,#39271c55 57%,#39271c15 85%),url("olga-heinle.jpg") center 34%/auto 145% no-repeat}.welcome h1{max-width:16ch}}
.price-jump .price-tile{position:relative;display:block;padding:0;overflow:hidden;border-radius:.9rem;background:#38271e}
.price-tile img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .25s ease}
.price-tile span{position:absolute;inset:auto 0 0;padding:2rem .45rem .6rem;background:linear-gradient(transparent,#29180fee);color:#fff6e7;text-align:center;font:600 clamp(.9rem,2.3vw,1.55rem)/1.2 Georgia,serif;hyphens:auto}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.price-tile:hover img{transform:scale(1.035)}}
@media(max-width:23rem){.price-jump:has(.price-tile){grid-template-columns:1fr}}
.contact-hero{margin:1.5rem 0}.contact-hero img{display:block;width:100%;height:auto;border-radius:1rem}
.studio-hero{position:relative;display:grid;align-items:end;width:100vw;margin:1.5rem 0 2.5rem;margin-inline:calc((100% - 100vw)/2);width:calc(100% + 2rem);margin-inline:-1rem;aspect-ratio:16/9;background:linear-gradient(0deg,#23140bc9,transparent 42%),url("studio-hero.jpg") center/100% auto no-repeat;color:#fff9ef}
@media(min-width:72rem){.studio-hero{width:100vw;margin-inline:calc((100% - 100vw)/2);width:calc(100% + 2 * ((100vw - 100%)/2 - 8px));margin-inline:calc((100% - 100vw)/2 + 8px)}}
.studio-hero-copy{text-align:center;padding:0 1rem clamp(.65rem,3vw,2.6rem)}.studio-hero h1{margin:0 0 .4em;font-weight:500;font-size:clamp(1.35rem,4.8vw,4.3rem);text-shadow:0 2px 8px #24150e;overflow-wrap:normal}.studio-hero .hero-actions{justify-content:center;gap:.5rem}.studio-hero .hero-actions a{min-height:29px;padding:.25rem .7rem;font-size:clamp(.72rem,1.3vw,.95rem)}.studio-hero .cta:hover{background:#ffe4b5}.studio-hero .secondary:hover{background:#39271c}
