@font-face{font-family:'Great Hemlock Display';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/fraunces-soft-600.ttf') format('truetype')}
:root{color-scheme:light;--paper:#f0ebdf;--ink:#253a2d;--rust:#9d402a;--muted:#5d6658;--rule:#b4bbac;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--rust);outline-offset:5px}
.masthead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:18px clamp(22px,4.5vw,80px);border-bottom:1px solid var(--rule)}
.wordmark{font-family:var(--serif);font-size:1.85rem;letter-spacing:-.08em;width:fit-content}.wordmark span{color:var(--rust)}
.eyebrow{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;line-height:1.7}
.header-contact{justify-self:end;font-size:.875rem;text-underline-offset:5px}
.header-contact:hover{text-decoration:underline;color:var(--rust)}
.landscape{position:relative;isolation:isolate;height:clamp(490px,66vw,740px);background:var(--paper);overflow:hidden}
.landscape-art{display:block;width:100%;height:100%;object-fit:cover;object-position:center 58%}
.hero-type{position:absolute;inset:0 0 auto;text-align:center;padding:clamp(32px,4.3vw,65px) 20px 50px;background:linear-gradient(var(--paper),rgba(240,235,223,.7) 50%,rgba(240,235,223,0));}
h1{font-family:var(--serif);font-size:clamp(3.5rem,10.5vw,10rem);font-weight:400;line-height:1.02;letter-spacing:-.055em;margin:0;color:var(--rust)}
.hero-caption{font-family:var(--serif);font-size:clamp(1rem,1.4vw,1.35rem);line-height:1.6;margin:17px 0 0;color:var(--ink);font-style:italic}
.information{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(30px,8vw,130px);padding:46px clamp(22px,4.5vw,80px) 44px;max-width:1800px;margin:auto}
h2{font-family:var(--serif);font-size:clamp(1.8rem,2.7vw,2.8rem);font-weight:400;line-height:1.16;letter-spacing:-.035em;margin:15px 0 0}
.connections{border-top:1px solid var(--rule);align-self:center}
.connections a{display:grid;grid-template-columns:1fr auto 24px;align-items:center;gap:20px;min-height:61px;padding:12px 0;border-bottom:1px solid var(--rule);transition:color .2s,background-color .2s}
.connections a:hover{color:var(--rust);background:rgba(157,64,42,.04)}
.link-label{font-family:var(--serif);font-size:1.5rem;letter-spacing:-.025em}.link-detail{font-size:.875rem;color:var(--muted)}.link-icon{width:22px;height:22px}
footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px clamp(22px,4.5vw,80px);border-top:1px solid var(--rule);font-size:.75rem;color:var(--muted);line-height:1.5}
footer a{overflow-wrap:anywhere}footer a:hover{color:var(--rust);text-decoration:underline;text-underline-offset:4px}
@media(min-width:1800px){.landscape{height:820px}}
@media(max-width:760px){.masthead{grid-template-columns:1fr auto;padding-top:16px;padding-bottom:16px}.masthead>.eyebrow{display:none}.landscape{height:590px}.hero-type{padding-top:34px}h1{font-size:13vw;max-width:6em;line-height:.97;margin:auto}.hero-caption{margin-top:18px;font-size:1rem}.landscape-art{object-position:50% 65%}.information{grid-template-columns:1fr;gap:28px;padding-top:32px;padding-bottom:33px}h2{font-size:2rem}.connections a{min-height:65px}}
@media(max-width:420px){.landscape{height:520px}h1{font-size:17vw}.hero-type{padding-top:32px;padding-bottom:65px;background:linear-gradient(var(--paper) 10%,rgba(240,235,223,.85) 60%,rgba(240,235,223,0))}.hero-caption{font-size:.9375rem}.connections a{gap:12px}footer{flex-direction:column;align-items:flex-start;gap:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.modal-open{overflow:hidden}
.media-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:28px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #15271f55;overflow-y:auto}
.media-dialog::backdrop{background:#15271fb3;backdrop-filter:blur(5px)}
.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.dialog-heading h2{margin:7px 0 0;font-size:2rem}
.close-dialog{font-family:var(--sans);font-size:2rem;line-height:1;width:44px;height:44px;border:1px solid var(--rule);background:transparent;color:var(--ink);cursor:pointer;flex-shrink:0}.close-dialog:hover{background:var(--ink);color:var(--paper)}.close-dialog:focus-visible{outline:2px solid var(--rust);outline-offset:3px}
.embed-container iframe{display:block;width:100%;border:0;background:#fff}.music-container iframe{height:400px}.instagram-dialog{width:min(620px,calc(100% - 32px))}.instagram-container iframe{height:640px}
.embed-note{font-size:.875rem;line-height:1.6;margin:18px 0 0;color:var(--muted)}.embed-note a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:500px){.media-dialog{padding:19px;max-height:calc(100dvh - 24px)}.dialog-heading{margin-bottom:20px}.dialog-heading h2{font-size:1.75rem}.instagram-container iframe{height:560px}}

@media(max-width:760px) and (orientation:portrait){
  .hero-type{padding-top:30px;padding-bottom:46px}
  h1{font-size:clamp(3.75rem,20vw,7rem);max-width:none;line-height:1.01;letter-spacing:-.055em}
  h1 span{display:block}
}
@media(max-width:760px){
  .landscape{
    height:calc(100vh - var(--header-height,4.2rem));
    height:calc(100dvh - var(--header-height,4.2rem));
  }
}

/* One-screen mobile composition; desktop retains its existing flow. */
.mobile-panel{display:contents}
@media(max-width:760px){
  #main{position:relative;isolation:isolate;display:grid;grid-template-rows:minmax(195px,1fr) auto;min-height:calc(100vh - var(--header-height,4.2rem));min-height:calc(100dvh - var(--header-height,4.2rem))}
  .landscape{position:absolute;inset:0;height:100%;z-index:-1}
  .mobile-panel{display:block;grid-row:2;align-self:end;width:calc(100% - 32px);max-width:540px;margin:0 auto max(16px,env(safe-area-inset-bottom));background:rgba(240,235,223,.9);border:1px solid rgba(255,255,255,.5);border-radius:8px;box-shadow:0 8px 30px rgba(15,35,24,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .information{display:block;margin:0;padding:17px 20px 0}
  .intro-copy>.eyebrow{font-size:.6875rem;letter-spacing:.11em}
  .information h2{font-size:1.5rem;line-height:1.12;margin:6px 0 14px;letter-spacing:-.025em}
  .connections a{min-height:46px;padding:9px 0;gap:10px}
  .link-label{font-size:1.3rem}
  .link-detail{font-size:.8125rem}
  .link-icon{width:20px;height:20px}
  .mobile-panel footer{border:0;display:block;margin:0;padding:10px 20px 14px;text-align:center;font-size:.6875rem;line-height:1.5}
  .mobile-panel footer>span{display:none}
}
@media(max-width:760px) and (max-height:650px){
  #main{grid-template-rows:minmax(180px,1fr) auto}
  .mobile-panel{margin-bottom:max(10px,env(safe-area-inset-bottom))}
  .information{padding:12px 16px 0}
  .information h2{font-size:1.25rem;margin:4px 0 9px}
  .connections a{min-height:44px;padding:7px 0}
  .mobile-panel footer{padding:7px 16px 10px}
}
@media(max-width:760px) and (orientation:landscape){
  #main{grid-template-rows:minmax(125px,1fr) auto}
  .information{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}
}

/* Rounded vintage title; supporting typography retains the existing serif. */
h1{font-family:'Great Hemlock Display',var(--serif);font-weight:600;letter-spacing:-.025em;font-synthesis:none}
