
/* TBM EDITORIAL — narrow vertical photography is never forced into landscape crops. */
:root{--paper:#f6f3ed;--ink:#292b25;--sepia:#8c8171}
.editorial-home{background:var(--paper)}
.editorial-container{width:min(1390px,calc(100% - 120px));margin-inline:auto}
.editorial-space{padding-top:clamp(85px,11vw,170px);padding-bottom:clamp(85px,11vw,170px)}
/* Static, owner's chosen fourth slide: no rotation, no oversized zoom or animated scale */
.editorial-hero{position:relative;height:min(960px,100svh);min-height:660px;background:#272a23;color:white;overflow:hidden}
.editorial-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%}
.editorial-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,18,15,.7) 0%,rgba(12,18,15,.33) 43%,rgba(12,18,15,.04) 100%),linear-gradient(0deg,rgba(12,18,15,.30) 0%,transparent 40%,rgba(12,18,15,.16) 100%)}
.editorial-hero-copy{position:absolute;z-index:2;left:max(6.4%,calc((100% - 1390px)/2));top:52%;transform:translateY(-34%);max-width:980px;padding-right:30px}
.editorial-hero-copy .eyebrow{color:#f0e8dc;margin-bottom:30px}
.editorial-hero-copy h1{font:400 clamp(72px,7.1vw,130px)/.91 var(--serif);letter-spacing:-.052em;margin:0 0 36px;max-width:900px;text-wrap:balance}
.editorial-hero-copy h1 em{font-weight:400}
.editorial-hero-copy p{font-size:13px;line-height:1.9;letter-spacing:.01em;margin:0 0 31px;color:#f2efeb}
.editorial-white-link{font:600 10px var(--sans);letter-spacing:.16em;color:#fff;border-bottom:1px solid #fff;display:inline-flex;gap:24px;padding:0 0 12px}
.editorial-scroll{position:absolute;bottom:34px;left:6.4%;font:600 9px var(--sans);letter-spacing:.19em}
.editorial-two-column{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1fr);align-items:center;gap:clamp(56px,9vw,160px)}
.editorial-intro-photo{max-width:555px}
.editorial-intro-photo img{display:block;width:100%;height:auto}
.editorial-intro-text{max-width:590px}
.editorial-intro-text .eyebrow,.editorial-letter-copy .eyebrow{margin-bottom:24px;color:#7c7a6c}
.editorial-intro-text h2,.editorial-letter-copy h2{font:400 clamp(65px,6vw,104px)/.9 var(--serif);letter-spacing:-.052em;margin:0 0 34px}
.editorial-intro-text p:not(.eyebrow),.editorial-letter-copy p:not(.eyebrow){max-width:480px;font:400 14px/2 var(--sans);color:#65665c;margin:0 0 20px}
.editorial-under-link{margin-top:26px;display:inline-flex;gap:20px;padding-bottom:10px;border-bottom:1px solid var(--ink);font:600 10px var(--sans);letter-spacing:.17em;color:var(--ink)}
.editorial-under-link.secondary{margin-left:32px}
.editorial-wide-photo{padding:0 4%}
.editorial-wide-photo figure{max-width:1570px;margin:0 auto}
.editorial-wide-photo img{width:100%;height:auto;display:block;object-fit:contain}
.editorial-wide-photo figcaption{padding-top:18px;text-align:right;font:600 9px var(--sans);letter-spacing:.18em;color:#7d7e75}
.editorial-letter{padding-top:clamp(95px,12vw,185px);padding-bottom:clamp(100px,12vw,185px)}
.editorial-letter-grid{display:grid;grid-template-columns: minmax(0,1fr) minmax(0,.82fr);align-items:center;gap:clamp(50px,8vw,160px)}
.editorial-letter-copy{max-width:630px}
.editorial-letter-photo{width:100%;max-width:475px;margin:0 0 0 auto}
.editorial-letter-photo img{width:100%;height:auto;display:block}
.editorial-last-word{border-top:1px solid rgba(40,42,35,.14);padding:110px 25px 135px;text-align:center}
.editorial-last-word .eyebrow{color:#77796c}
.editorial-last-word h2{font:400 clamp(65px,7vw,108px)/.9 var(--serif);letter-spacing:-.052em;margin:30px 0 15px}
.editorial-work{background:var(--paper)}
.editorial-work-intro{padding-top:105px;padding-bottom:84px;display:flex;align-items:end;gap:55px;justify-content:space-between}
.editorial-work-intro .eyebrow{display:block;color:#77796c}
.editorial-work-intro h1{font:400 clamp(78px,8.3vw,145px)/.85 var(--serif);letter-spacing:-.055em;margin:25px 0 0;white-space:nowrap}
.editorial-work-intro h1 em{font-weight:400}
.editorial-work-intro p{max-width:335px;font:400 13px/1.9 var(--sans);color:#66685f;margin:0 0 7px}
.editorial-work-grid{columns:3;column-gap:15px;padding-bottom:115px}
.editorial-work-item{display:block;break-inside:avoid;margin:0 0 15px;background:transparent}
.editorial-work-item img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.editorial-work-end{text-align:center;border-top:1px solid rgba(40,42,35,.16);padding:100px 0 120px}
.editorial-work-end .eyebrow{color:#77796c}
.editorial-work-end h2{font:400 clamp(57px,5.2vw,90px)/1 var(--serif);margin:25px 0 15px;letter-spacing:-.04em}
@media(max-width:980px){
 .editorial-container{width:calc(100% - 64px)}
 .editorial-hero-copy{left:5%;}
 .editorial-two-column{gap:55px}
 .editorial-intro-text h2,.editorial-letter-copy h2{font-size:clamp(58px,7vw,85px)}
 .editorial-work-intro{display:block;padding-top:90px;padding-bottom:60px}
 .editorial-work-intro p{margin-top:28px;max-width:550px}
 .editorial-work-grid{columns:2;column-gap:12px}
 .editorial-work-item{margin-bottom:12px}
}
@media(max-width:650px){
 .editorial-container{width:calc(100% - 38px)}
 .editorial-hero{min-height:550px;height:86svh;max-height:850px}
 .editorial-hero-image{object-position:55% center}
 .editorial-hero-shade{background:linear-gradient(0deg,rgba(14,18,14,.77),rgba(14,18,14,.28) 72%),linear-gradient(90deg,rgba(12,15,11,.2),transparent)}
 .editorial-hero-copy{top:auto;bottom:95px;transform:none;left:6%;right:6%;padding-right:0}
 .editorial-hero-copy .eyebrow{font-size:8px;margin-bottom:20px}
 .editorial-hero-copy h1{font-size:clamp(56px,12.6vw,82px);margin-bottom:23px;line-height:.92}
 .editorial-hero-copy p{font-size:12px;margin-bottom:23px}
 .editorial-scroll{bottom:25px;left:6%;font-size:8px}
 .editorial-two-column,.editorial-letter-grid{display:flex;flex-direction:column;gap:48px;align-items:stretch}
 .editorial-intro-photo{max-width:100%;width:85%;margin-inline:auto}
 .editorial-intro-text,.editorial-letter-copy{max-width:none}
 .editorial-intro-text h2,.editorial-letter-copy h2{font-size:clamp(59px,12.4vw,82px)}
 .editorial-intro-text p:not(.eyebrow),.editorial-letter-copy p:not(.eyebrow){font-size:13px;line-height:1.9}
 .editorial-wide-photo{padding:0 15px}
 .editorial-wide-photo figcaption{text-align:left;font-size:8px}
 .editorial-letter-photo{max-width:none;width:88%;margin:15px auto 0}
 .editorial-last-word{padding:84px 19px 98px}
 .editorial-last-word h2{font-size:clamp(55px,12vw,75px)}
 .editorial-under-link.secondary{margin-left:0;display:flex;width:max-content}
 .editorial-work-intro{padding-top:70px;padding-bottom:44px}
 .editorial-work-intro h1{font-size:clamp(65px,12.5vw,90px);white-space:normal}
 .editorial-work-intro p{font-size:13px}
 .editorial-work-grid{column-gap:7px;padding-bottom:70px}
 .editorial-work-item{margin-bottom:7px}
 .editorial-work-end{padding:75px 0 95px}
 .editorial-work-end h2{font-size:54px}
}
@media(max-width:390px){.editorial-hero-copy h1{font-size:51px}.editorial-intro-text h2,.editorial-letter-copy h2{font-size:54px}}
@media(prefers-reduced-motion:reduce){.editorial-hero-image{transition:none}}
/* Hide the keyboard skip link until a keyboard user focuses it. */
.skip-link:not(:focus-visible){top:-120px!important}
.skip-link:focus-visible{top:12px!important}


/* Three-option pricing: wedding, elopement, and couples. */
@media (min-width: 1120px) {
  .investment-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1220px; gap: 17px; }
  .investment-grid .investment-card { padding: 43px 30px 38px; min-width: 0; }
  .investment-grid .investment-card h3 { font-size: clamp(37px, 3.1vw, 47px); margin: 31px 0 16px; }
  .investment-grid .investment-card .price { font-size: 50px; }
  .investment-grid .investment-card .outline-button { font-size: 9px; letter-spacing: .12em; padding-left: 10px; padding-right: 10px; text-align: center; }
}
@media (min-width: 651px) and (max-width: 1119px) {
  .investment-grid .investment-card:last-child { grid-column: 1 / -1; width: min(100%, 520px); justify-self: center; }
}
@media (max-width: 650px) {
  .investment-grid { display: block; }
  .investment-grid .investment-card { width: 100%; }
}

/* Keep two related standard-size portfolio images consecutive, without any featured rows. */
.editorial-neighbors{display:block;break-inside:avoid;page-break-inside:avoid;margin:0;padding:0}

/* Tia's vertical portrait: keep her face visible in the contact photo panel. */
.contact-picture>img[src$="tia-portrait-contact.webp"]{object-position:center 34%}
@media(max-width:650px){.contact-picture>img[src$="tia-portrait-contact.webp"]{object-position:center 25%}}

/* October continuation: give the ring photograph room and introduce the new landscape. */
@media(min-width:901px){.editorial-intro-photo{max-width:none;width:100%}.editorial-two-column{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(40px,6vw,110px)}}
.editorial-landscape-interlude{padding-top:25px;padding-bottom:clamp(65px,8vw,125px)}
.editorial-landscape-interlude img{display:block;width:100%;height:auto}
.about-vintage{display:grid;grid-template-columns:minmax(0,330px) minmax(0,1fr);gap:clamp(35px,8vw,140px);align-items:center;padding-top:70px;padding-bottom:110px}
.about-vintage img{width:100%;height:auto;display:block}
.about-vintage h2{font:400 clamp(44px,5vw,76px)/1 var(--serif);letter-spacing:-.04em}
.about-vintage p:not(.eyebrow){color:#66685f;font:400 14px/1.9 var(--sans)}
@media(max-width:650px){.about-vintage{grid-template-columns:1fr;padding-top:35px;padding-bottom:75px}.about-vintage img{max-width:280px}.editorial-landscape-interlude{padding-top:0}}

/* Oct 13 refinement: the portfolio intro should read naturally instead of clipping a huge heading. */
.editorial-work-intro {
  display:block;
  padding-top:clamp(82px,9vw,132px);
  padding-bottom:clamp(55px,6vw,95px);
}
.editorial-work-intro h1 {
  font:400 clamp(76px,8.3vw,132px)/.95 var(--serif);
  letter-spacing:-.052em;
  white-space:normal;
  margin:16px 0 26px;
}
.editorial-work-intro p {
  max-width:620px;
  margin:0;
  font:400 clamp(15px,1.25vw,18px)/1.9 var(--sans);
  color:#686960;
}
/* Make the black-and-white ring photograph a confident, large editorial image on Home. */
@media(min-width:901px){
  .editorial-home .editorial-intro .editorial-container {width:min(1580px,calc(100% - 78px));}
  .editorial-home .editorial-intro .editorial-two-column {
    grid-template-columns:minmax(0,1.7fr) minmax(300px,.86fr);
    column-gap:clamp(42px,5vw,88px);
  }
  .editorial-home .editorial-intro-photo {max-width:none;width:100%;}
  .editorial-home .editorial-intro-text {max-width:520px;}
}
@media(min-width:651px) and (max-width:900px){
  .editorial-home .editorial-intro .editorial-two-column {
    grid-template-columns:minmax(0,1.32fr) minmax(260px,.88fr);
    gap:35px;
  }
  .editorial-home .editorial-intro-photo {max-width:none;width:100%;}
}
@media(max-width:650px){
  .editorial-work-intro {padding-top:70px;padding-bottom:50px;}
  .editorial-work-intro h1 {font-size:clamp(69px,14vw,90px);margin-bottom:22px;}
  .editorial-work-intro p {font-size:14px;line-height:1.85;max-width:540px;}
  .editorial-home .editorial-intro-photo {width:100%;max-width:none;}
}

/* Oct 14 refinements: gallery placement and new About photograph. */
.editorial-work-item--edge-portrait{width:100%;margin-left:0;margin-right:0;}
.editorial-work-item--edge-portrait img{width:100%;height:auto;object-fit:contain;}
.about-image-stack.about-rock-feature{padding:0;min-width:0;align-self:center;}
.about-rock-feature .about-rock-image{display:block;width:100%;height:auto;object-fit:contain;object-position:center;}
@media (min-width:901px){.about-section:has(.about-rock-feature){grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(35px,6vw,100px);}}
@media (max-width:900px){.about-section:has(.about-rock-feature){gap:48px;}}
@media (max-width:650px){.editorial-work-item--edge-portrait{width:100%;}.about-rock-feature{width:100%;}}


/* Oct 14 overlay refinement: let the home intro photo fill the space and allow the copy to sit over it. */
@media(min-width:901px){
  .editorial-home .editorial-intro .editorial-container{width:min(1540px,calc(100% - 70px));}
  .editorial-home .editorial-intro .editorial-two-column{
    position:relative;
    display:block;
    min-height:clamp(620px,52vw,770px);
    overflow:hidden;
    background:#d9d3c8;
  }
  .editorial-home .editorial-intro-photo,
  .editorial-home .editorial-intro-text{max-width:none;}
  .editorial-home .editorial-intro-photo{width:100%;margin:0;}
  .editorial-home .editorial-intro-photo img{
    width:100%;
    height:clamp(620px,52vw,770px);
    object-fit:cover;
    object-position:center center;
    display:block;
  }
  .editorial-home .editorial-intro .editorial-two-column::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(246,243,237,0) 42%,rgba(246,243,237,.14) 55%,rgba(246,243,237,.62) 69%,rgba(246,243,237,.92) 100%);
    pointer-events:none;
  }
  .editorial-home .editorial-intro-text{
    position:absolute;
    right:clamp(30px,4.2vw,84px);
    top:50%;
    transform:translateY(-50%);
    width:min(38%,540px);
    z-index:1;
  }
  .editorial-home .editorial-intro-text p:not(.eyebrow){max-width:34ch;}
}
@media(min-width:651px) and (max-width:900px){
  .editorial-home .editorial-intro .editorial-two-column{
    position:relative;
    display:block;
    min-height:620px;
    overflow:hidden;
    background:#d9d3c8;
  }
  .editorial-home .editorial-intro-photo,
  .editorial-home .editorial-intro-text{max-width:none;width:100%;margin:0;}
  .editorial-home .editorial-intro-photo img{
    width:100%;
    height:620px;
    object-fit:cover;
    object-position:center center;
  }
  .editorial-home .editorial-intro .editorial-two-column::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(246,243,237,0) 30%,rgba(246,243,237,.26) 52%,rgba(246,243,237,.84) 100%);
    pointer-events:none;
  }
  .editorial-home .editorial-intro-text{
    position:absolute;
    inset:auto 38px 52px auto;
    width:min(44%,360px);
    z-index:1;
  }
}
@media(max-width:650px){
  .editorial-home .editorial-intro .editorial-two-column{display:flex;flex-direction:column;}
  .editorial-home .editorial-intro-photo img{width:100%;height:auto;object-fit:contain;}
}


/* Oct 14 homepage overflow refinement: push the second and third image sections full-bleed like the hero. */
@media(min-width:901px){
  .editorial-home .editorial-intro{
    padding-left:0;
    padding-right:0;
  }
  .editorial-home .editorial-intro .editorial-container{
    width:100%;
    max-width:none;
    margin-inline:0;
  }
  .editorial-home .editorial-intro .editorial-two-column{
    min-height:clamp(640px,54vw,790px);
  }
  .editorial-home .editorial-intro-photo img{
    height:clamp(640px,54vw,790px);
  }

  .editorial-home .editorial-wide-photo{
    padding:0;
    margin-top:0;
  }
  .editorial-home .editorial-wide-photo figure{
    max-width:none;
    width:100%;
    margin:0;
  }
  .editorial-home .editorial-wide-photo img{
    width:100%;
    height:clamp(470px,47vw,700px);
    object-fit:cover;
    object-position:center 38%;
  }
  .editorial-home .editorial-wide-photo figcaption{
    width:min(100% - 70px,1540px);
    margin:18px auto 0;
    padding:0 35px 0 0;
    box-sizing:border-box;
  }
}
@media(min-width:651px) and (max-width:900px){
  .editorial-home .editorial-intro{
    padding-left:0;
    padding-right:0;
  }
  .editorial-home .editorial-intro .editorial-container{
    width:100%;
    max-width:none;
    margin-inline:0;
  }
  .editorial-home .editorial-wide-photo{
    padding:0;
  }
  .editorial-home .editorial-wide-photo figure{
    max-width:none;
    width:100%;
    margin:0;
  }
  .editorial-home .editorial-wide-photo img{
    width:100%;
    height:clamp(360px,54vw,520px);
    object-fit:cover;
    object-position:center 40%;
  }
  .editorial-home .editorial-wide-photo figcaption{
    padding:14px 32px 0;
    text-align:right;
    box-sizing:border-box;
  }
}
@media(max-width:650px){
  .editorial-home .editorial-intro{
    padding-left:0;
    padding-right:0;
  }
  .editorial-home .editorial-intro .editorial-container{
    width:100%;
    max-width:none;
    margin-inline:0;
  }
  .editorial-home .editorial-wide-photo{
    padding:0;
  }
  .editorial-home .editorial-wide-photo figure{
    max-width:none;
    width:100%;
    margin:0;
  }
  .editorial-home .editorial-wide-photo img{
    width:100%;
    height:72vw;
    min-height:270px;
    object-fit:cover;
    object-position:center 40%;
  }
  .editorial-home .editorial-wide-photo figcaption{
    padding:12px 18px 0;
    text-align:left;
    box-sizing:border-box;
  }
}


/* Oct 14 refinement: uncrop the groom's head in the third home image and remove the caption. */
@media(min-width:901px){
  .editorial-home .editorial-wide-photo img{object-position:center 24%;}
}
@media(min-width:651px) and (max-width:900px){
  .editorial-home .editorial-wide-photo img{object-position:center 22%;}
}
@media(max-width:650px){
  .editorial-home .editorial-wide-photo img{object-position:center 24%;}
}
.editorial-home .editorial-wide-photo figcaption{display:none;}


/* Oct 14 refinement: restore side space and a less-cropped look for the third home image. */
.editorial-home .editorial-wide-photo figcaption{display:none;}
@media(min-width:901px){
  .editorial-home .editorial-wide-photo{
    padding:46px 4% 0;
  }
  .editorial-home .editorial-wide-photo figure{
    max-width:1570px;
    width:100%;
    margin:0 auto;
  }
  .editorial-home .editorial-wide-photo img{
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
    object-position:center center;
    display:block;
  }
}
@media(min-width:651px) and (max-width:900px){
  .editorial-home .editorial-wide-photo{
    padding:34px 4.5% 0;
  }
  .editorial-home .editorial-wide-photo figure{
    max-width:none;
    width:100%;
    margin:0 auto;
  }
  .editorial-home .editorial-wide-photo img{
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:center center;
  }
}
@media(max-width:650px){
  .editorial-home .editorial-wide-photo{
    padding:20px 15px 0;
  }
  .editorial-home .editorial-wide-photo figure{
    max-width:none;
    width:100%;
    margin:0;
  }
  .editorial-home .editorial-wide-photo img{
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:center center;
    min-height:0;
  }
}
