/* Photographs retain their natural proportions, without fixed frames. */
.remodel-intro { padding-top:145px; padding-bottom:48px; }
.remodel-intro .breadcrumb { margin-bottom:40px; }
.remodel-intro-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; }
.remodel-intro h1 { max-width:560px; font-size:clamp(32px,3.5vw,48px); font-weight:500; line-height:1.12; letter-spacing:-.045em; }
.remodel-intro-heading p { max-width:390px; font-size:14px; line-height:1.75; }
.remodel-jumps { display:flex; flex-wrap:wrap; gap:12px 32px; margin-top:36px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.remodel-jumps a { padding:4px 0; font-size:12px; color:var(--muted); text-underline-offset:6px; }
.remodel-jumps a:hover,.remodel-jumps a:focus-visible { color:var(--ink); text-decoration:underline; }
.remodel-category { padding-bottom:20px; scroll-margin-top:100px; }
.remodel-category-heading { display:flex; justify-content:space-between; align-items:baseline; gap:24px; margin-bottom:32px; }
.remodel-category-heading h2 { font-size:12px; font-weight:550; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.remodel-category-heading p { max-width:420px; font-size:12px; line-height:1.7; }
.remodel-project { margin-bottom:100px; scroll-margin-top:110px; }
.remodel-project-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"story story" "before after" "extras extras"; gap:28px 32px; align-items:start; }
.remodel-project-heading { grid-area:story; display:flex; justify-content:space-between; align-items:baseline; gap:32px; }
.remodel-project-heading h3 { font-size:clamp(23px,2.2vw,30px); font-weight:500; line-height:1.18; letter-spacing:-.035em; max-width:320px; }
.remodel-project-heading p { max-width:445px; font-size:13px; line-height:1.75; }
.remodel-photo { margin:0; min-width:0; }
.remodel-photo-after { grid-area:after; width:100%; }
.remodel-photo-before { grid-area:before; width:100%; }
.remodel-photo .gallery-photo-link { border:0; border-radius:2px; background:transparent; }
.remodel-photo img { display:block; width:100%; height:auto; }
.remodel-photo figcaption { display:flex; align-items:center; gap:12px; padding-top:12px; font-size:11px; line-height:1.5; color:var(--muted); }
.remodel-photo-before figcaption::before { content:""; width:20px; height:1px; background:currentColor; opacity:.5; }
.remodel-photo .photo-enlarge { background:#fafbf8ef; }
.remodel-project-portrait { max-width:1080px; margin-inline:auto; }
.remodel-extras { grid-area:extras; margin-top:-8px; }
.remodel-extras summary { display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid var(--line); padding:16px 0; font-size:12px; cursor:pointer; list-style:none; }
.remodel-extras summary::-webkit-details-marker { display:none; }
.remodel-extras summary .icon { width:15px; height:15px; transition:rotate .2s; }
.remodel-extras[open] summary .icon { rotate:180deg; }
.remodel-detail-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:24px; padding-top:8px; }
.remodel-detail-photos .remodel-photo:only-child { max-width:340px; grid-column:1/-1; }
.remodel-finished-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8%; align-items:start; }
.remodel-finished-grid .remodel-project { width:100%; margin:0 0 80px; }
.remodel-finished-grid .remodel-project:last-child { padding-top:95px; }
.remodel-project-single .remodel-project-layout { display:flex; flex-direction:column; gap:22px; }
.remodel-project-single .remodel-photo { order:-1; max-width:none; }
.remodel-project-single .remodel-project-heading { display:block; }
.remodel-project-single .remodel-project-heading p { max-width:400px; margin-top:12px; }
.remodel-contact { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:40px 0 80px; border-top:1px solid var(--line); }
.remodel-contact h2 { font-size:26px; font-weight:500; }
.remodel-contact p { margin-top:12px; max-width:450px; font-size:14px; }
/* Entry points use the same unframed photographs. */
.remodel-preview { margin-top:64px; padding:32px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:minmax(220px,.75fr) minmax(0,1.5fr); gap:40px; align-items:center; }
.remodel-preview-copy h2 { font-size:28px; line-height:1.18; letter-spacing:-.035em; }
.remodel-preview-copy p { margin:15px 0 24px; font-size:13px; max-width:320px; }
.remodel-preview-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.remodel-preview-photos figure { margin:0; }
.remodel-preview-photos img { display:block; width:100%; height:auto; border-radius:2px; }
.remodel-preview-photos figcaption { margin-top:8px; font-size:11px; color:var(--muted); }
.remodel-index-preview { padding-bottom:70px; }
.remodel-index-preview .remodel-preview { margin-top:0; }
.remodel-service-preview { padding-bottom:90px; }
@media(max-width:1000px) {
  .remodel-intro-heading { align-items:flex-start; }
  .remodel-intro-heading p { max-width:330px; }
  .remodel-project-heading p { font-size:12px; }
  .remodel-project { margin-bottom:80px; }
  .remodel-preview { gap:24px; }
}
@media(max-width:760px) {
  .remodel-intro { padding-top:108px; padding-bottom:28px; }
  .remodel-intro .breadcrumb { margin-bottom:28px; }
  .remodel-intro-heading { display:block; }
  .remodel-intro-heading p { margin-top:18px; max-width:400px; font-size:13px; }
  .remodel-jumps { gap:12px 22px; margin-top:26px; padding-bottom:18px; }
  .remodel-jumps a { font-size:11px; }
  .remodel-category-heading { display:block; margin-bottom:22px; }
  .remodel-category-heading p { margin-top:12px; }
  .remodel-project { margin-bottom:64px; }
  .remodel-project .remodel-project-layout { display:grid; grid-template-columns:1fr; grid-template-areas:"story" "before" "after" "extras"; gap:24px; }
  .remodel-project-heading { display:block; }
  .remodel-project-heading h3 { font-size:24px; max-width:none; }
  .remodel-project-heading p { margin-top:10px; font-size:13px; max-width:420px; }
  .remodel-photo figcaption { padding-top:9px; }
  .remodel-extras { margin-top:0; }
  .remodel-detail-photos { gap:16px; }
  .remodel-finished-grid { grid-template-columns:1fr; gap:46px; margin-bottom:46px; }
  .remodel-finished-grid .remodel-project { margin:0; }
  .remodel-finished-grid .remodel-project:last-child { padding:0; }
  .remodel-finished-grid .remodel-project-layout { display:flex; gap:18px; }
  .remodel-contact { align-items:flex-start; flex-direction:column; gap:24px; padding-bottom:50px; }
  .remodel-preview { grid-template-columns:1fr; gap:26px; margin-top:38px; }
  .remodel-preview-copy h2 { font-size:25px; }
  .remodel-preview-copy p { max-width:380px; }
  .remodel-preview-photos { gap:14px; }
  .remodel-index-preview { padding-bottom:50px; }
}
@media(hover:none) { .remodel-photo .photo-enlarge { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) { .remodel-extras summary .icon { transition:none; } }
