@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');

body.ok-design { --paper:#f4f0e7; --ink:#26231f; --muted:#68645d; --line:#c8c1b5; --accent:#a03e2e; color-scheme:light; background:var(--paper); color:var(--ink); font-family:'DM Sans',Arial,sans-serif; font-synthesis:none; margin:0; font-size:16px; }
html { scroll-behavior:smooth; }
.ok-design *, .ok-design *::before, .ok-design *::after { box-sizing:border-box; }
.ok-design a { color:inherit; text-underline-offset:.22em; }
.ok-design a:hover { color:var(--accent); }
.ok-design a:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.ok-design .skip-link { position:absolute; left:1rem; top:-5rem; padding:.75rem 1rem; background:var(--ink); color:white; z-index:100000; }
.ok-design .skip-link:focus { top:1rem; }
.ok-design .elementor-section { background:transparent; padding:0; border:0; }
.ok-design .elementor-container { max-width:none; padding:0; }
.ok-design .elementor-widget-wrap, .ok-design .elementor-widget-container { margin:0; padding:0; background:transparent; border:0; min-height:0; }
.ok-design .elementor-widget { margin-bottom:0; }
.ok-design .elementor-widget-text-editor { color:var(--ink); font-family:'DM Sans',Arial,sans-serif; font-size:inherit; line-height:inherit; font-weight:400; }
.ok-design .elementor-widget-heading .elementor-heading-title { color:var(--ink); font-family:'Playfair Display',Georgia,serif; font-weight:400; }
.ok-design .elementor-column { float:none; min-width:0; max-width:none; width:auto; }
.ok-design .elementor-container::before, .ok-design .elementor-container::after { display:none; }
.ok-design .ok-row > .elementor-container { width:calc(100% - 2 * clamp(1.25rem,5vw,5.5rem)); max-width:calc(1440px - 2 * clamp(1.25rem,5vw,5.5rem)); margin:0 auto; }
.ok-design .ok-status > .elementor-container { width:100%; max-width:none; }
.ok-design .ok-status .elementor-column { width:100%; }
.ok-design .elementor-widget-text-editor p { margin:0; }
.ok-design .site-status { background:var(--accent); color:#fff; padding:.72rem 1rem; text-align:center; font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; line-height:normal; }
.ok-design .ok-topbar .elementor-container { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.55rem 0; border-bottom:1px solid var(--ink); }
.ok-design .wordmark { font-weight:700; text-transform:uppercase; letter-spacing:.16em; font-size:.79rem; text-decoration:none; line-height:normal; }
.ok-design .toplinks { display:flex; align-items:center; gap:clamp(1rem,3vw,3rem); font-size:.78rem; font-weight:600; text-transform:uppercase; letter-spacing:.12em; line-height:normal; }
.ok-design .toplinks a { text-decoration:none; }
.ok-design .toplinks a[aria-current='page'] { color:var(--accent); }
.ok-design .ok-hero .elementor-container { min-height:min(740px,83vh); position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.38fr); align-items:end; gap:clamp(2rem,4vw,4rem); padding:clamp(5rem,12vw,10rem) 0 clamp(3rem,6vw,5rem); overflow:hidden; contain:paint; border-bottom:1px solid var(--ink); }
.ok-design .ok-hero .elementor-container::before { display:block; content:''; position:absolute; width:min(48vw,600px); aspect-ratio:1; right:2%; top:10%; border:1px solid var(--line); border-radius:50%; box-shadow:0 0 0 42px var(--paper),0 0 0 43px var(--line),0 0 0 100px var(--paper),0 0 0 101px var(--line); opacity:.55; pointer-events:none; }
/* A static decoration avoids a CSS mask over the hero during scrolling. */
.ok-design .ok-hero .elementor-container::after { display:block; content:''; position:absolute; inset:0 0 auto auto; width:30%; height:80%; background:url('hero-hatching.svg') center top / 100% 100% no-repeat; pointer-events:none; }
.ok-design .hero-content, .ok-design .hero-visual { position:relative; z-index:1; }
.ok-design .eyebrow, .ok-design .section-number, .ok-design .footer-label { font-size:.7rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; line-height:normal; }
.ok-design p.eyebrow { color:var(--accent); margin:0 0 1.7rem; }
.ok-design h1, .ok-design h2, .ok-design .quote { font-family:'Playfair Display',Georgia,serif; font-weight:400; color:var(--ink); text-transform:none; }
.ok-design h1.elementor-heading-title { font-size:clamp(4.5rem,12vw,11.5rem); line-height:.87; letter-spacing:-.065em; margin:0; padding:0; }
.ok-design h1 span { display:block; }
.ok-design .hero-description { margin:2.5rem 0 0 !important; max-width:34rem; font-size:clamp(1rem,1.5vw,1.22rem); line-height:1.55; }
.ok-design .hero-visual { align-self:end; width:min(100%,330px); justify-self:end; }
.ok-design .artist-photo { margin:0; }
.ok-design .artist-photo .ok-photo-caption { margin-bottom:1.8rem; }
.ok-design .elementor-widget-image { line-height:0; }
.ok-design .elementor-widget-image .elementor-widget-container { display:block; }
.ok-design .elementor-widget-image img { display:block; width:100%; max-width:100%; height:auto; border-radius:0; box-shadow:none; }
.ok-design .ok-photo-caption { margin-top:.45rem; padding:0; color:var(--muted); font-size:.67rem; line-height:1.4; text-align:left; white-space:normal; }
.ok-design .hero-side { border-top:1px solid var(--ink); padding-top:1.1rem; }
.ok-design .hero-years { font-family:'Playfair Display',Georgia,serif; font-size:clamp(1.7rem,3vw,2.8rem); letter-spacing:-.03em; line-height:normal; }
.ok-design .hero-side p { color:var(--muted); font-size:.8rem; line-height:1.6; margin:.6rem 0 0; }
.ok-design .ok-intro .elementor-container, .ok-design .ok-contact .elementor-container { display:grid; grid-template-columns:minmax(170px,.32fr) minmax(0,1fr); gap:clamp(2rem,7vw,8rem); padding:clamp(4rem,8vw,8rem) 0; }
.ok-design .section-number { padding-top:.5rem; color:var(--accent); }
.ok-design h2.elementor-heading-title { font-size:clamp(2.8rem,5vw,5.5rem); line-height:1.05; letter-spacing:-.045em; margin:0 0 2rem; padding:0; }
.ok-design .prose { max-width:49rem; font-size:clamp(1.02rem,1.25vw,1.18rem); line-height:1.8; }
.ok-design .prose p { margin:0 0 1.25rem; }
.ok-design .prose p:first-child { font-size:clamp(1.28rem,2vw,1.8rem); line-height:1.55; }
.ok-design .ok-quote .elementor-container { border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2.5rem 0; }
.ok-design .ok-quote .elementor-column:first-child { flex:1; }
.ok-design .ok-quote .elementor-column:last-child { width:min(36%,390px); flex:none; }
.ok-design .quote { font-size:clamp(1.5rem,3vw,3rem); line-height:1.2; max-width:53rem; }
.ok-design .quote small { display:block; margin-top:1.15rem; font-family:'DM Sans',Arial,sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.ok-design .quote-illustration img { mix-blend-mode:multiply; }
.ok-design .ok-contact .elementor-container { padding-bottom:clamp(5rem,10vw,10rem); }
.ok-design .ok-contact .prose p:first-child { font-size:clamp(1.05rem,1.4vw,1.25rem); }
.ok-design .contact-link { display:inline-block; margin-top:1rem; font-weight:700; font-size:clamp(1.2rem,2vw,1.7rem); text-decoration:underline; text-decoration-thickness:1px; overflow-wrap:anywhere; }
.ok-design .ok-footer .elementor-container { border-top:1px solid var(--ink); padding:1.4rem 0 2.2rem; display:flex; justify-content:space-between; gap:1.5rem; font-size:.75rem; color:var(--muted); line-height:1.6; }
.ok-design .footer-label { color:var(--ink); margin-bottom:.5rem; }
.ok-design .ok-footer p { margin:0; }
@media (max-width:760px) {
 .ok-design .ok-topbar .elementor-container { align-items:flex-start; }
 .ok-design .toplinks { gap:1rem; flex-wrap:wrap; justify-content:flex-end; }
 .ok-design .ok-hero .elementor-container { min-height:0; grid-template-columns:1fr; align-content:end; gap:3rem; }
 .ok-design .ok-hero .elementor-container::before { width:72vw; right:-15%; top:16%; }
 .ok-design .hero-visual { justify-self:start; width:min(100%,340px); }
 .ok-design .ok-quote .elementor-container { flex-direction:column; align-items:flex-start; }
 .ok-design .ok-quote .elementor-column:last-child { width:min(100%,390px); align-self:flex-end; }
 .ok-design .ok-intro .elementor-container, .ok-design .ok-contact .elementor-container { grid-template-columns:1fr; gap:2rem; }
 .ok-design .ok-footer .elementor-container { flex-direction:column; }
}
@media (max-width:430px) {
 .ok-design .wordmark { display:block; max-width:9rem; line-height:1.5; }
 .ok-design h1.elementor-heading-title { font-size:clamp(3.8rem,15vw,5.3rem); }
 .ok-design .ok-quote .elementor-container { gap:.5rem; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
