:root{color-scheme:light;--paper:#f8f4ea;--ink:#183834;--muted:#485c53;--accent:#08625d;--line:#d6dbcd;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 var(--body-font,system-ui,sans-serif)}a{color:inherit}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3,.brand{font-family:var(--serif);font-weight:normal}h1,h2,h3{line-height:1.05}h2{font-size:clamp(2.8rem,6vw,5rem);letter-spacing:-.055em}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.bar,footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:24px}.bar{border-bottom:1px solid var(--line)}.brand{display:inline-flex;gap:12px;align-items:center;text-decoration:none;font-size:1.35rem;line-height:1.05}.tiles{display:grid;grid-template-columns:repeat(2,8px);gap:2px;transform:rotate(-12deg)}.tiles i{width:8px;height:8px;background:var(--accent);border-radius:2px}.tiles i:nth-child(2){background:#d8aa3c}.tiles i:nth-child(3){background:#83aba0}nav{display:flex;gap:clamp(12px,3vw,35px);white-space:nowrap}nav a,footer>a:last-child{font-size:.85rem;text-underline-offset:4px}.hero{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(24px,5vw,76px);padding-block:clamp(55px,8vw,116px)}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.7rem;font-weight:720;color:var(--accent)}h1{font-size:clamp(3.8rem,7.5vw,7.75rem);letter-spacing:-.078em;margin:.2em 0 .24em}h1 em{color:var(--accent);font-weight:normal}.lede,.section-copy{color:var(--muted);max-width:40ch}.cta{display:inline-flex;gap:20px;margin-top:25px;background:var(--ink);color:white;text-decoration:none;padding:12px 20px;border-radius:2px;font-size:.9rem}.cta:hover{background:var(--accent)}.feature img{border-radius:44% 44% 8px 8px;aspect-ratio:4/3;object-fit:cover}.feature figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-top:12px;color:var(--muted);font-size:.78rem}.feature figcaption span:first-child{text-transform:uppercase;letter-spacing:.12em}.collection{background:var(--collection,#e9f0e7);border-block:1px solid var(--line);padding-block:clamp(48px,7vw,92px)}.collection h2{margin:.16em 0 .25em}.section-copy{margin-bottom:28px}.work{max-width:510px}.work-link{display:block;text-decoration:none;background:var(--paper);border:1px solid var(--line);border-radius:6px;overflow:hidden}.work-link:hover .arrow{color:white;background:var(--accent)}.work-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px}.work-caption h3{font-size:clamp(1.55rem,4vw,2.15rem);margin-top:5px}.arrow,.close{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);flex:none}footer{border-top:1px solid var(--line)}dialog{color:var(--ink);background:var(--paper);padding:0;border:0;border-radius:8px;width:min(1100px,calc(100% - 20px));max-height:calc(100% - 20px);overscroll-behavior:contain}dialog::backdrop{background:#112a28c9}body:has(dialog[open]){overflow:hidden}.dialog-content form{position:absolute;top:0;right:0;z-index:1}.close{position:absolute;top:12px;right:12px;background:var(--paper);color:var(--ink);font-size:1.65rem;cursor:pointer}.details h2{font-size:clamp(1.55rem,4vw,3.75rem);margin:.15em 0 .55em}.details h3{font-size:clamp(1.15rem,2.7vw,1.45rem);margin:1em 0 .28em}.note{border-top:1px solid var(--line);padding-top:14px;margin-top:24px;color:var(--muted);font-size:.85rem}:focus-visible{outline:3px solid #aa6a13;outline-offset:3px}.skip{position:fixed;top:8px;left:8px;transform:translateY(-200%);background:white;padding:8px;z-index:5}.skip:focus{transform:none}@media(max-width:740px){.wrap{width:calc(100% - 36px)}.hero{grid-template-columns:1fr}.hero{gap:30px}.feature img{border-radius:35% 35% 6px 6px}.bar .brand{font-size:1.07rem}.bar{gap:8px}nav a{font-size:.76rem}.bar .tiles{display:none}}
.works{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}
.work-link img{aspect-ratio:4/3;object-fit:cover}
.hero.hero-text-only{grid-template-columns:1fr;text-align:center}
.hero.hero-text-only .intro{grid-column:1}
.hero.hero-text-only .lede{margin-inline:auto}
.work-link[href="#ce978698-777f-4ead-a2f5-f0cab800782a"] img{object-position:center top}
.footer-links{display:flex;gap:16px;flex-wrap:wrap}
.footer-links a{font-size:.85rem;text-underline-offset:4px}
.details p{white-space:pre-line}
.admin{padding-block:42px 70px;max-width:800px}
.admin h1{font-size:clamp(2.5rem,7vw,4.75rem);letter-spacing:-.05em}
.admin h2{font-size:2rem;letter-spacing:-.02em;margin-block:24px 12px}
.admin form{display:grid;gap:16px;margin-top:18px;max-width:650px}
.admin label{display:grid;gap:4px;font-weight:650}
.admin input,.admin textarea,.admin select{font:inherit;width:100%;min-width:0;padding:8px;border:1px solid #849991;border-radius:4px;background:#fff;color:var(--ink)}
.admin textarea{min-height:95px;resize:vertical}
.admin .cta{cursor:pointer;border:0;width:max-content;margin-top:6px}
.admin .notice{padding:12px;background:#e9f0e7;margin-block:15px}
.admin ul{padding-inline-start:22px}

.admin-photo{max-width:320px;border-radius:6px}

.admin-nav{flex-wrap:wrap;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px}
.admin-nav a{padding:8px 14px;border:1px solid var(--line);border-radius:4px}
.admin-nav [aria-current="page"]{background:var(--ink);color:white;text-decoration:none}
.appearance-colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;border:1px solid var(--line);padding:12px}
.appearance-colors legend{font-weight:650}
.appearance-colors input[type="color"]{height:44px;cursor:pointer}
.appearance-actions{display:flex;flex-wrap:wrap;gap:12px}
.appearance-actions .cta{white-space:normal}
.appearance-reset{margin-top:22px}
.appearance-reset summary{cursor:pointer}
.appearance-preview{display:block;width:100%;height:530px;border:1px solid var(--line);background:white}

.hero h1,.brand,.custom-section h2{overflow-wrap:anywhere}
.intro .lede,.section-copy,.custom-section p{white-space:pre-line}
.custom-section{padding-block:clamp(40px,7vw,86px)}
.custom-section h2{margin-bottom:.35em}
.custom-section p{max-width:65ch}
.custom-section img{max-width:780px;margin-top:24px}
.studio-group,.section-block{min-width:0;border:1px solid var(--line);padding:16px}
.studio-group>label,.section-block>label{margin-top:12px}
.studio-group summary,.studio-group legend,.section-block legend{font-weight:650}
.studio-group summary{cursor:pointer}
.studio-group p{margin-block:8px}
#site-blocks{display:grid;gap:12px;margin-block:12px}
.block-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.studio-button,.block-actions button{font:inherit;color:var(--ink);background:white;border:1px solid #849991;border-radius:4px;padding:7px 12px;cursor:pointer}
.studio-button:disabled,.block-actions button:disabled{opacity:.45;cursor:default}
.admin .block-visible{display:flex;align-items:center;gap:5px}
.admin .block-visible input{width:auto;min-width:18px;height:18px}
[name=customCss]{font-family:monospace;min-height:180px}
@media(max-width:520px){.bar{flex-wrap:wrap}.bar nav{white-space:normal;flex-wrap:wrap}}

.upload-status:empty{display:none}
.upload-status{overflow-wrap:anywhere}
.upload-status[data-error]{color:#9b2e24;font-weight:650}
.admin button:disabled{cursor:wait;opacity:.65}

.feature[data-full-photo] img,
.work-link[data-full-photo] img {
  aspect-ratio:auto;
  height:auto;
  object-fit:contain;
  border-radius:0;
}
.work-link[data-full-photo] {
  overflow:visible;
}
dialog[data-full-photo] {
  border-radius:0;
}
.dialog-content {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
.dialog-art {
  display:grid;
  align-items:center;
  padding:clamp(8px,2.5vw,28px);
  background:var(--collection,#e9f0e7);
}
.dialog-art img {
  width:100%;
  height:auto;
  max-height:calc(100dvh - 76px);
  object-fit:contain;
}
.details {
  max-height:calc(100dvh - 20px);
  overflow:auto;
  overscroll-behavior:contain;
  overflow-wrap:anywhere;
  padding:58px clamp(12px,3.5vw,42px) clamp(16px,3.5vw,42px);
}
.details:focus-visible {
  outline-offset:-3px;
}
@media(max-width:540px) {
  .dialog-content {
    grid-template-columns:minmax(0,2fr) minmax(0,3fr);
  }
  .dialog-art {
    align-items:start;
    padding-top:58px;
  }
  .details {
    font-size:.9rem;
  }
}
