@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--cream:#FFFFFF;--pale:#FAFAFA;--sage:#D9D9D9;--forest:#111111;--charcoal:#191919;--muted:#686868}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--pale);color:var(--charcoal);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.demo-banner{background:var(--forest);color:var(--cream);padding:10px max(5%,calc((100% - 1200px)/2));display:flex;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:.11em;font-weight:700}.demo-banner a{text-decoration:underline}.site-header{display:flex;justify-content:space-between;align-items:center;padding:23px 6%;background:var(--cream);position:relative;z-index:10}.wordmark{font-family:'DM Serif Display',Georgia,serif;font-size:29px;line-height:.85;color:var(--forest);white-space:nowrap}.wordmark em{font-weight:400}.wordmark span{display:block;font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:.3em;text-align:center;margin-top:10px;font-weight:700}.site-header nav{display:flex;align-items:center;gap:36px;font-size:13px;font-weight:600}.nav-book,.button{background:var(--forest);color:#ffffff;border-radius:4px;padding:15px 22px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s,background .2s}.nav-book:hover,.button:hover{transform:translateY(-2px);background:#343434}.menu{display:none;background:none;border:0;font-size:24px;color:var(--forest)}.hero{min-height:590px;display:grid;grid-template-columns:1.05fr .95fr;background:var(--cream)}.hero-text{padding:90px 7% 36px 12%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--forest)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(58px,6.5vw,102px);line-height:1.03;margin:24px 0}h1 i,h2 i{color:var(--forest);font-weight:400}p{line-height:1.8}.hero-text>p{max-width:490px;color:#575757;font-size:16px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:20px}.under,.text-link{text-decoration:underline;text-underline-offset:6px;font-size:13px;font-weight:700}.hero-bottom{display:flex;gap:25px;margin-top:auto;padding-top:55px;color:var(--forest);font-size:12px;font-weight:700}.hero-visual{position:relative;min-height:540px;background:linear-gradient(135deg,#eeeeee,#555555);overflow:hidden}.hero-visual img,.about-picture img{width:100%;height:100%;object-fit:cover;display:block}.photo-caption{position:absolute;bottom:24px;left:24px;background:var(--cream);padding:14px 19px;font-family:'DM Serif Display',serif;font-size:18px;color:var(--forest)}.ribbon{display:flex;justify-content:space-around;gap:20px;overflow:hidden;white-space:nowrap;background:var(--sage);color:var(--forest);padding:18px 20px;font-size:12px;font-weight:700;letter-spacing:.16em}.section{padding:100px max(6%,calc((100% - 1200px)/2))}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:center}.about-picture{height:470px;background:#cccccc}.about-text h2,.section h2{font-size:clamp(45px,5vw,72px);line-height:1.12;margin:22px 0 25px}.about-text p{color:#656565;max-width:520px}.text-link{display:inline-block;margin-top:20px;color:var(--forest)}.services{background:#F1F1F1}.section-top,.section-top p{max-width:1100px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-top p{max-width:300px;color:#666666;font-size:14px}.service-list{margin-top:30px}.service{border-top:1px solid #cccccc;display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:15px;padding:26px 4px}.service:last-child{border-bottom:1px solid #cccccc}.num{font-size:12px;color:var(--forest)}.service h3{font-family:'DM Serif Display',serif;font-weight:400;font-size:30px;margin:0 0 5px}.service p{font-size:13px;color:#666666;margin:0}.service strong{color:var(--forest);font-size:14px}.small{font-size:12px;color:#777777;margin-top:18px}.visit{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;background:var(--cream);align-items:center}.visit-content>p{max-width:500px;color:#626262}.info{display:flex;gap:50px;margin:35px 0}.info>div{display:flex;flex-direction:column;gap:7px}.info small{font-size:10px;letter-spacing:.16em;color:var(--forest);font-weight:700}.info strong{font-size:14px}.info span{font-size:11px;color:#757575}.visit-art{height:400px;background:var(--forest);color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(2deg);border:13px solid var(--sage);text-align:center}.visit-art span{font-size:100px;line-height:1}.visit-art p{font-family:'DM Serif Display',serif;font-size:43px;line-height:1.15;margin:10px 0}.contact{text-align:center;background:var(--pale)}.contact p{color:#666666}.contact .small{margin-top:25px}footer{padding:45px 6%;background:var(--charcoal);color:var(--cream);display:flex;justify-content:space-between;align-items:center;gap:20px}footer .wordmark{color:var(--cream)}footer p{font-size:12px;margin:0;color:#dddddd}
@media(max-width:800px){.site-header{padding:20px 5%}.menu{display:block}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:22px 6%;box-shadow:0 10px 20px #0001;flex-direction:column;align-items:stretch;gap:22px}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-text{padding:70px 7% 40px}.hero-visual{min-height:350px;max-height:480px}.section{padding:70px 7%}.about,.visit{grid-template-columns:1fr;gap:35px}.about-picture{height:350px}.section-top{display:block}.service{grid-template-columns:30px 1fr auto}.service h3{font-size:24px}.visit-art{height:290px;max-width:420px;width:100%;margin:auto}.info{gap:25px;flex-wrap:wrap}footer{flex-direction:column;text-align:center}.demo-banner{font-size:9px;padding:10px 4%}.hero-bottom{gap:12px;flex-wrap:wrap}}@media(max-width:440px){h1{font-size:56px}.hero-actions{align-items:flex-start;flex-direction:column}.service{gap:8px}.service h3{font-size:22px}.service strong{font-size:12px}.ribbon{font-size:10px}}
/* Starter tier: intentional black-and-white editorial identity */
.hero-visual img,.about-picture img{filter:grayscale(100%)}
.nav-book,.button{border-radius:0}
.visit-art{transform:none;border-color:#d1d1d1}
