
:root{
  --paper:#f7f6f2;
  --ink:#171717;
  --muted:#77736d;
  --accent:#b77a3a;
  --gap:5px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink)}
body{
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing:antialiased;
}
.landing{
  min-height:100svh;
  display:grid;
  grid-template-columns:minmax(330px,28.5vw) 1fr;
}
.intro{
  min-height:100svh;
  padding:clamp(34px,4vw,72px) clamp(30px,3.7vw,70px) clamp(28px,3.2vw,54px);
  display:flex;
  flex-direction:column;
  background:var(--paper);
}
.wordmark{
  font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;
  font-weight:400;
  font-size:clamp(20px,1.48vw,29px);
  letter-spacing:.34em;
  white-space:nowrap;
}
.descriptor{
  margin-top:10px;
  font-size:clamp(12px,.88vw,17px);
  font-weight:500;
  letter-spacing:.225em;
  color:var(--accent);
  display:inline-block;
  white-space:nowrap;
  transform:scaleX(.926);
  transform-origin:left top;
  margin-left:0;
}
.message{margin:auto 0}
.message h1{
  margin:0;
  font-family:"Baskerville","Iowan Old Style","Palatino Linotype",Georgia,serif;
  font-weight:400;
  font-size:clamp(36px,3.18vw,61px);
  line-height:1.25;
  letter-spacing:.065em;
}
.message em{font-weight:400;color:#4b4946}
.accent{
  display:block;width:46px;height:1px;background:var(--accent);
  margin-top:36px;
}
.contact{margin:0 0 clamp(50px,8vh,110px)}
.contact-label{
  font-size:9px;letter-spacing:.32em;margin-bottom:13px;color:#4b4843
}
.contact a{
  color:var(--muted);text-decoration:none;font-size:13px;letter-spacing:.045em
}
.contact a:hover{color:var(--ink)}
footer{
  font-size:9px;letter-spacing:.18em;color:#8a8782;white-space:nowrap
}
footer span{padding:0 8px}

.gallery{
  height:100svh;
  min-height:680px;
  display:grid;
  grid-template-columns:1.05fr 1fr 1fr;
  grid-template-rows:1.08fr 1.08fr 1.55fr;
  gap:var(--gap);
  background:var(--paper);
  overflow:hidden;
}
.p{margin:0;overflow:hidden;background:#ddd}
.p img{width:100%;height:100%;display:block;object-fit:cover}
.p7{grid-column:1;grid-row:1}
.p3{grid-column:2/4;grid-row:1}
.p2{grid-column:2/4;grid-row:2}
.p5{grid-column:1;grid-row:2/4}
.p1{grid-column:2;grid-row:3}
.p6{grid-column:3;grid-row:3}
.p4{display:none}

/* focal points: preserve subjects while the grid crops responsively */
.p7 img{object-position:52% 52%}
.p3 img{object-position:58% 34%}
.p2 img{object-position:44% 50%}
.p5 img{object-position:50% 42%}
.p1 img{object-position:22% 50%}
.p6 img{object-position:60% 49%}

@media (max-width: 980px){
  .landing{display:block}
  .intro{
    min-height:auto;
    padding:42px 7vw 54px;
  }
  .brand{margin-bottom:100px}
  .message{margin:0 0 92px}
  .message h1{font-size:clamp(42px,8vw,68px)}
  .contact{margin-bottom:70px}
  .gallery{
    height:auto;min-height:0;
    grid-template-columns:1fr 1fr;
    grid-template-rows:42vw 52vw 58vw 52vw;
  }
  .p3{grid-column:1/3;grid-row:1}
  .p2{grid-column:1/3;grid-row:2}
  .p5{grid-column:1;grid-row:3}
  .p1{grid-column:2;grid-row:3}
  .p6{grid-column:1;grid-row:4}
  .p4{display:block;grid-column:2;grid-row:4}
  .p7{display:none}
  .p4 img{object-position:58% 50%}
}

@media (max-width: 600px){
  .intro{padding:34px 25px 42px}
  .wordmark{font-size:20px;letter-spacing:.27em}
  .descriptor{margin-top:9px;font-size:12px;font-weight:500;letter-spacing:.22em;display:inline-block;white-space:nowrap;transform:scaleX(.926);transform-origin:left top;margin-left:0}
  .brand{margin-bottom:88px}
  .message{margin-bottom:86px}
  .message h1{font-size:38px;line-height:1.28;letter-spacing:.04em}
  .accent{margin-top:30px;width:48px}
  footer{font-size:8px;letter-spacing:.12em;white-space:normal;line-height:1.6}
  .gallery{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:none;
    gap:4px;
  }
  .p{grid-column:1!important;grid-row:auto!important;height:68vw}
  .p3{height:62vw}
  .p2{height:72vw}
  .p5{height:112vw}
  .p1{height:74vw}
  .p6{height:76vw}
  .p4{height:78vw}
  .p7{display:block;height:72vw}
  .p2 img{object-position:42% 50%}
  .p3 img{object-position:61% 35%}
  .p4 img{object-position:57% 50%}
}

footer a{color:inherit;text-decoration:none}
footer a:hover,footer a:focus-visible{color:var(--ink)}
.privacy-page{min-height:100svh;background:var(--paper)}
.privacy-wrap{width:min(760px,calc(100% - 48px));margin:0 auto;padding:clamp(48px,8vw,100px) 0 72px}
.privacy-brand{margin-bottom:70px}
.privacy-back{display:inline-block;margin-bottom:42px;color:var(--muted);text-decoration:none;font-size:10px;letter-spacing:.22em}
.privacy-content h1{margin:0 0 42px;font-family:"Baskerville","Iowan Old Style","Palatino Linotype",Georgia,serif;font-size:clamp(36px,5vw,54px);font-weight:400;letter-spacing:.035em}
.privacy-content h2{margin:40px 0 12px;font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.privacy-content p{font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;color:#55514c;font-size:14px;line-height:1.75}
.privacy-content a{color:inherit;text-underline-offset:3px}
.privacy-note{margin-top:54px;padding-top:24px;border-top:1px solid #d9d5ce;color:#77736d!important;font-size:12px!important}
.privacy-footer{margin-top:70px;font-size:9px;letter-spacing:.18em;color:#8a8782}
@media(max-width:600px){.privacy-wrap{width:calc(100% - 50px);padding-top:34px}.privacy-brand{margin-bottom:58px}.privacy-content h1{font-size:38px}.privacy-content p{font-size:13px}}

/* V1.14 — footer fit correction */
.intro footer{
  white-space:normal;
  max-width:100%;
  line-height:1.55;
  font-size:8px;
  letter-spacing:.14em;
}
.intro footer span{
  padding:0 6px;
}
