:root{--ink:#171714;--paper:#f7f5f0;--paper-2:#efede7;--muted:#716e67;--line:rgba(23,23,20,.16);--dark:#20211e;--max:1440px;--pad:clamp(22px,4.5vw,76px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.65;font-weight:300;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}::selection{background:var(--ink);color:#fff}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);background:rgba(247,245,240,.98);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}.brand--horizontal{width:250px;height:72px;display:flex;align-items:center}.brand--horizontal img{width:100%;height:auto;max-height:72px;object-fit:contain;mix-blend-mode:multiply}.site-nav{display:flex;align-items:center;gap:30px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}.site-nav a{border-bottom:1px solid transparent;padding:5px 0}.site-nav a:hover{border-color:currentColor}.menu-toggle{display:none;background:none;border:0;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.hero{height:min(96vh,1100px);min-height:740px;position:relative;overflow:hidden;background:#222;color:#fff}.hero-media,.hero-overlay{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 70%}.hero-overlay{background:linear-gradient(90deg,rgba(12,12,11,.48),rgba(12,12,11,.12) 63%,transparent)}.hero-content{position:absolute;left:var(--pad);bottom:clamp(56px,8vh,96px);max-width:760px;z-index:2}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:600}.eyebrow{margin:0 0 18px;color:rgba(255,255,255,.78)}.display,.hero h1{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;line-height:1.02;letter-spacing:-.02em;margin:0}.hero h1{font-size:clamp(52px,7vw,102px)}.hero-copy{font-size:clamp(15px,1.25vw,19px);max-width:540px;color:rgba(255,255,255,.82);margin:24px 0 22px}.text-link{display:inline-flex;align-items:center;border-bottom:1px solid;padding-bottom:5px;font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:500}
.section-pad{padding:clamp(88px,9vw,145px) var(--pad);max-width:var(--max);margin:0 auto}.section-kicker{margin:0 0 22px;color:var(--muted)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:start}.display{font-size:clamp(44px,5vw,76px)}.intro-copy{font-size:clamp(16px,1.3vw,19px);max-width:610px}.intro-copy p{margin:0 0 20px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:52px}.section-note{max-width:430px;color:var(--muted);margin:0 0 5px;font-size:14px}
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.category-card{display:block}.category-grid--text{gap:16px}.category-card--text{min-height:210px;border:1px solid var(--line);padding:clamp(24px,2.6vw,38px);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;background:rgba(255,255,255,.16);transition:background .25s ease,border-color .25s ease}.category-card--text:hover{background:var(--paper-2);border-color:rgba(23,23,20,.28)}.category-card__number{grid-column:1;font-size:9px;letter-spacing:.12em;color:var(--muted)}.category-card--text h3{grid-column:1/-1;align-self:center;font-family:"Libre Caslon Display",Georgia,serif;font-size:clamp(36px,4vw,58px);font-weight:400;line-height:1.02;letter-spacing:-.015em;margin:18px 0}.category-card__link{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.1em;font-size:9px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}.category-card__link b{font-size:15px;font-weight:300;line-height:1;transition:transform .2s ease}.category-card--text:hover .category-card__link b{transform:translate(2px,-2px)}.category-grid--text .category-card--text:last-child:nth-child(odd){grid-column:1/-1}
.maker{padding-top:30px}.maker-card{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(260px,.58fr) minmax(0,1.42fr);align-items:center;min-height:0;padding:clamp(38px,4.5vw,68px) 0}.maker-photo{height:430px;min-height:0;overflow:hidden;background:#e9e6df}.maker-photo img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 40%}.maker-copy{padding:clamp(20px,4vw,64px);padding-right:0;display:flex;flex-direction:column;justify-content:center}.maker-copy p:not(.section-kicker){font-size:clamp(15px,1.2vw,18px);max-width:650px;color:#4f4d47;margin:0 0 20px}.maker-fun{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(34px,5vw,72px);align-items:center;padding:clamp(46px,5vw,74px) 0 0;margin-top:clamp(46px,5vw,74px);border-top:1px solid var(--line)}.maker-fun__copy h3{font-family:"Libre Caslon Display",Georgia,serif;font-size:clamp(30px,3.2vw,46px);font-weight:400;line-height:1.08;margin:0 0 18px}.maker-fun__copy>p:not(.section-kicker){font-size:15px;max-width:520px;color:#57544e;margin:0 0 24px}.maker-fun__gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.maker-fun__gallery span{height:250px;background:#eeeae2;display:flex;align-items:center;justify-content:center;overflow:hidden}.maker-fun__gallery img{width:100%;height:100%;object-fit:contain;transition:opacity .25s ease}.maker-fun__gallery:hover img{opacity:.94}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:48px 1fr 1fr;gap:34px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line)}.service-row>span{font-size:10px;color:var(--muted);padding-top:6px}.service-row h3{font-family:"Libre Caslon Display",serif;font-size:clamp(26px,2.6vw,40px);font-weight:400;margin:0}.service-row p{margin:4px 0 0;color:var(--muted);max-width:500px;font-size:14px}.featured{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;border-top:1px solid var(--line)}.featured-intro>p:last-child{font-size:16px;max-width:570px;margin-top:28px;color:#57534d}.press-list{border-top:1px solid var(--line)}.press-card{display:grid;grid-template-columns:1fr auto;gap:8px 24px;padding:26px 0;border-bottom:1px solid var(--line)}.press-publication{text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:600}.press-year{font-size:10px;color:var(--muted)}.press-card h3{grid-column:1/-1;font-family:"Libre Caslon Display",serif;font-size:clamp(24px,2.5vw,34px);font-weight:400;margin:8px 0 4px}.press-link{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.contact{background:var(--dark);color:#f4f1ea;padding:clamp(90px,10vw,145px) var(--pad)}.contact-inner{max-width:var(--max);margin:0 auto}.contact .section-kicker{color:rgba(255,255,255,.5)}.contact .display{font-size:clamp(54px,7vw,98px)}.contact p:not(.section-kicker){max-width:540px;font-size:16px;color:rgba(255,255,255,.65);margin:26px 0}.contact-actions{margin-top:34px}.button{display:inline-block;border-bottom:1px solid rgba(255,255,255,.65);padding:0 0 5px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.site-footer{display:flex;justify-content:space-between;gap:30px;padding:30px var(--pad);background:var(--dark);color:#ddd9d0;border-top:1px solid rgba(255,255,255,.12);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.site-footer>div{display:flex;gap:18px;align-items:center}.site-footer strong{font-weight:500}.site-footer span{color:#918e87}.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}.reveal.visible{opacity:1;transform:none}
/* Category pages */.category-page .site-header,.project-page .site-header{position:relative}.category-intro{max-width:var(--max);margin:0 auto;padding:clamp(56px,6vw,86px) var(--pad) clamp(44px,5vw,72px)}.project-back{display:inline-block;margin-bottom:30px;text-transform:uppercase;letter-spacing:.11em;font-size:10px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:4px}.category-intro .section-kicker{margin-bottom:14px}.category-title{font-family:"Libre Caslon Display",Georgia,serif;font-size:clamp(58px,7.5vw,112px);font-weight:400;line-height:.96;letter-spacing:-.025em;margin:0}.category-lede{font-size:clamp(16px,1.35vw,20px);max-width:720px;color:#514f49;margin:26px 0 0}.category-projects{max-width:var(--max);margin:0 auto;padding:0 var(--pad) clamp(100px,11vw,160px)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(46px,5vw,76px) clamp(18px,2vw,30px)}.project-card{display:block}.project-card__image{height:430px;overflow:hidden;background:#eeeae2;display:flex;align-items:center;justify-content:center}.project-card__image img{width:100%;height:100%;object-fit:contain;transition:opacity .25s ease}.project-card:hover img{opacity:.94}.project-card__meta{display:flex;justify-content:space-between;gap:16px;padding-top:13px}.project-card__title{font-family:"Libre Caslon Display",Georgia,serif;font-size:clamp(22px,2vw,30px);line-height:1.1}.project-card__type{text-transform:uppercase;letter-spacing:.1em;font-size:9px;color:var(--muted);padding-top:5px;white-space:nowrap}
/* Project detail pages */.project-intro{padding:clamp(54px,5vw,78px) var(--pad) clamp(28px,3vw,42px);max-width:var(--max);margin:0 auto}.project-intro .section-kicker{margin:0 0 10px}.project-title{font-family:"Libre Caslon Display",Georgia,serif;font-size:clamp(48px,6vw,88px);font-weight:400;line-height:.98;letter-spacing:-.025em;margin:0;max-width:1100px}.project-view-hint{margin:18px 0 0;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.09em}.project-images{max-width:1380px;margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.7vw,24px);align-items:stretch}.project-image{border:0;padding:0;margin:0;background:#eeeae2;cursor:zoom-in;height:min(58vh,580px);display:flex;align-items:center;justify-content:center;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:contain}.project-image:focus-visible,.small-work:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.project-description{max-width:970px;margin:0 auto;padding:clamp(58px,7vw,95px) var(--pad) clamp(90px,9vw,135px)}.project-description p{font-family:"Libre Caslon Display",Georgia,serif;font-size:clamp(23px,2.75vw,36px);line-height:1.31;margin:0}.project-next{border-top:1px solid var(--line);max-width:var(--max);margin:0 auto;padding:35px var(--pad) 60px;display:flex;justify-content:space-between;gap:30px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
/* Just for Fun gallery */.small-works-grid{max-width:var(--max);margin:0 auto;padding:0 var(--pad) clamp(100px,11vw,160px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(40px,5vw,70px) clamp(18px,2vw,30px)}.small-work{border:0;padding:0;background:transparent;text-align:left;cursor:zoom-in}.small-work__image{height:380px;background:#eeeae2;display:flex;align-items:center;justify-content:center}.small-work__image img{width:100%;height:100%;object-fit:contain}.small-work__title{display:block;font-family:"Libre Caslon Display",Georgia,serif;font-size:25px;margin-top:12px;border-top:1px solid var(--line);padding-top:11px}
/* Full-screen image viewer with zoom */.image-viewer{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;border:0;padding:0;background:#111;color:#fff}.image-viewer::backdrop{background:rgba(0,0,0,.92)}.image-viewer[open]{display:grid;grid-template-rows:58px 1fr}.viewer-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.15);background:#111;z-index:2}.viewer-toolbar button{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;height:32px;min-width:42px;padding:0 11px;cursor:pointer;font-size:12px}.viewer-toolbar .viewer-close{margin-left:8px;min-width:auto}.viewer-hint{margin-right:auto;color:rgba(255,255,255,.5);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.viewer-stage{overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:22px;overscroll-behavior:contain}.viewer-image{display:block;max-width:100%;max-height:calc(100vh - 104px);width:auto;height:auto;cursor:zoom-in;transition:width .12s ease}.viewer-image.is-zoomed{max-width:none;max-height:none;cursor:grab}.viewer-image.is-zoomed:active{cursor:grabbing}
@media(max-width:1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card__image{height:400px}.small-works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.maker-fun{grid-template-columns:1fr}.maker-fun__gallery span{height:220px}.site-header{height:76px}.brand--horizontal{width:205px;height:58px}.brand--horizontal img{max-height:58px}.menu-toggle{display:block}.site-nav{position:absolute;left:0;right:0;top:76px;display:none;flex-direction:column;align-items:stretch;background:var(--paper);padding:24px var(--pad) 30px;border-bottom:1px solid var(--line);gap:18px}.site-nav.open{display:flex}.hero{height:92svh;min-height:660px}.hero h1{font-size:clamp(48px,12vw,78px)}.hero-content{bottom:58px}.intro-grid,.maker-card,.featured{grid-template-columns:1fr}.intro-grid{gap:36px}.section-head{align-items:flex-start;flex-direction:column}.category-grid{grid-template-columns:1fr}.category-card__image{height:min(64vw,520px)}.maker-card{padding:0}.maker-photo{height:440px;min-height:0}.maker-photo img{height:100%;min-height:0;object-position:center 38%}.maker-copy{padding:40px 0 0}.service-row{grid-template-columns:36px 1fr;gap:12px}.service-row p{grid-column:2}.featured{gap:60px}.site-footer,.site-footer>div{align-items:flex-start;flex-direction:column}.project-images{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:22px;padding-right:22px}.project-image{height:min(52vh,470px)}}
@media(max-width:620px){.maker-fun__gallery{gap:8px}.maker-fun__gallery span{height:150px}.section-pad{padding-top:76px;padding-bottom:76px}.hero{height:86svh;min-height:600px}.hero-media img{object-position:54% 68%}.hero-overlay{background:linear-gradient(90deg,rgba(10,10,9,.56),rgba(10,10,9,.15))}.display{font-size:clamp(42px,13vw,62px)}.category-card__image{height:auto;min-height:260px}.category-card__image img{height:auto;max-height:440px}.category-card__meta{align-items:flex-start}.category-card__meta span{white-space:normal;text-align:right}.project-grid,.small-works-grid{grid-template-columns:1fr}.project-card__image,.small-work__image{height:auto;min-height:280px}.project-card__image img,.small-work__image img{width:100%;height:auto;max-height:520px;object-fit:contain}.project-images{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.project-image{height:auto;min-height:0}.project-image img{width:100%;height:auto;max-height:none}.project-title{font-size:clamp(46px,14vw,70px)}.viewer-hint{display:none}.viewer-stage{padding:12px}.image-viewer[open]{grid-template-rows:54px 1fr}.viewer-toolbar{padding:0 8px}.viewer-toolbar button{padding:0 9px}.site-footer{padding-top:26px;padding-bottom:26px}}
@media(min-width:1500px){.project-images{grid-template-columns:repeat(3,minmax(0,1fr))}.project-image{height:min(54vh,600px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.category-card__image img,.project-card__image img,.viewer-image{transition:none}}

/* Homepage category cards */
@media(max-width:900px){.category-grid--text{grid-template-columns:1fr 1fr}.category-grid--text .category-card--text:last-child:nth-child(odd){grid-column:1/-1}.category-card--text{min-height:185px}}
@media(max-width:620px){.category-grid--text{grid-template-columns:1fr}.category-grid--text .category-card--text:last-child:nth-child(odd){grid-column:auto}.category-card--text{min-height:165px}.category-card--text h3{font-size:clamp(34px,10vw,48px)}}

/* v17: unified Larry profile + personal work */
.maker{padding-top:30px}
.maker-profile-block{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:clamp(44px,5vw,72px) 0 clamp(42px,4.5vw,64px);
}
.maker-layout{
  display:grid;
  grid-template-columns:minmax(260px,320px) minmax(0,620px);
  gap:clamp(48px,7vw,100px);
  align-items:start;
  justify-content:start;
}
.maker-identity{min-width:0}
.maker-layout .maker-photo{
  width:100%;
  height:380px;
  min-height:0;
  overflow:hidden;
  background:#e9e6df;
}
.maker-layout .maker-photo img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center 38%;
}
.maker-caption{padding-top:18px}
.maker-caption h2{
  font-family:"Libre Caslon Display",Georgia,serif;
  font-size:clamp(27px,2.3vw,34px);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.012em;
  margin:0 0 6px;
}
.maker-caption p{
  margin:0;
  color:var(--muted);
  font-size:10px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.maker-layout .maker-copy{
  height:380px;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:18px;
  max-width:620px;
}
.maker-layout .maker-copy p{
  font-size:15px;
  line-height:1.62;
  color:#4f4d47;
  margin:0;
}
.maker-fun{
  margin-top:clamp(38px,4vw,56px);
  padding-top:clamp(30px,3vw,42px);
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:minmax(260px,320px) minmax(0,620px);
  gap:clamp(48px,7vw,100px);
  align-items:start;
  justify-content:start;
}
.maker-fun__copy{padding-top:2px}
.maker-fun__copy .section-kicker{margin-bottom:12px}
.maker-fun__copy h3{
  font-family:"Libre Caslon Display",Georgia,serif;
  font-size:clamp(28px,2.4vw,36px);
  font-weight:400;
  line-height:1.08;
  margin:0 0 12px;
}
.maker-fun__copy>p:not(.section-kicker){
  font-size:13.5px;
  line-height:1.58;
  max-width:300px;
  color:#57544e;
  margin:0 0 18px;
}
.maker-fun__gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  align-self:start;
}
.maker-fun__gallery span{
  height:150px;
  background:#eeeae2;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.maker-fun__gallery img{
  width:100%;
  height:100%;
  object-fit:contain;
  transition:opacity .25s ease;
}
.maker-fun__gallery:hover img{opacity:.94}

@media(max-width:1000px){
  .maker-layout,.maker-fun{grid-template-columns:minmax(230px,285px) minmax(0,1fr);gap:42px}
  .maker-layout .maker-photo,.maker-layout .maker-copy{height:340px}
  .maker-layout .maker-copy p{font-size:13.5px;line-height:1.56}
  .maker-caption h2{font-size:28px}
  .maker-fun__gallery span{height:140px}
}
@media(max-width:760px){
  .maker-profile-block{padding-top:38px}
  .maker-layout,.maker-fun{grid-template-columns:1fr;gap:30px}
  .maker-identity{max-width:340px}
  .maker-layout .maker-photo{height:390px}
  .maker-layout .maker-copy{height:auto;max-width:650px;gap:16px}
  .maker-layout .maker-copy p{font-size:14px;line-height:1.62}
  .maker-fun{margin-top:36px;padding-top:30px}
  .maker-fun__copy{max-width:520px}
  .maker-fun__copy>p:not(.section-kicker){max-width:480px}
  .maker-fun__gallery span{height:180px}
}
@media(max-width:620px){
  .maker-layout .maker-photo{height:380px}
  .maker-fun__gallery{gap:8px}
  .maker-fun__gallery span{height:140px}
}

/* v18: keep Larry's portrait and bio side by side on laptop/tablet widths */
@media (min-width:621px){
  .maker-layout{
    display:grid !important;
    grid-template-columns:minmax(240px,320px) minmax(0,620px) !important;
    gap:clamp(38px,6vw,88px) !important;
    align-items:start !important;
    justify-content:start !important;
  }
  .maker-identity{width:100%;max-width:320px}
  .maker-layout .maker-photo{
    width:100% !important;
    height:380px !important;
    min-height:0 !important;
  }
  .maker-layout .maker-copy{
    height:380px !important;
    padding:0 !important;
    margin:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    gap:18px !important;
    max-width:620px !important;
  }
  .maker-layout .maker-copy p{
    font-size:clamp(12.75px,1.08vw,14.5px) !important;
    line-height:1.55 !important;
    margin:0 !important;
  }
}

/* v18: project lightbox is a scrollable gallery, with zoom on the active image */
.image-viewer[open]{grid-template-rows:58px minmax(0,1fr)}
.viewer-toolbar{justify-content:flex-end}
.viewer-counter{font-size:11px;letter-spacing:.08em;color:rgba(255,255,255,.72);min-width:48px;text-align:center}
.viewer-prev,.viewer-next{font-size:16px !important;line-height:1}
.viewer-stage{
  overflow-x:auto !important;
  overflow-y:hidden !important;
  display:block !important;
  padding:0 !important;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior:contain;
  scrollbar-width:none;
}
.viewer-stage::-webkit-scrollbar{display:none}
.viewer-track{display:flex;width:100%;height:100%}
.viewer-slide{
  flex:0 0 100%;
  width:100%;
  height:100%;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  overflow:auto;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  background:#111;
}
.viewer-slide .viewer-image{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:calc(100vh - 104px);
  object-fit:contain;
  cursor:zoom-in;
  transition:width .12s ease;
  user-select:none;
  -webkit-user-drag:none;
}
.viewer-slide .viewer-image.is-zoomed{max-width:none;max-height:none;cursor:grab}
.viewer-slide .viewer-image.is-zoomed:active{cursor:grabbing}
@media(max-width:620px){
  .maker-layout{grid-template-columns:1fr !important}
  .maker-layout .maker-copy{height:auto !important}
  .viewer-slide{padding:10px}
  .viewer-counter{min-width:40px}
}


/* v20: About copy-only layout */
.intro-grid--copy-only{grid-template-columns:minmax(0,780px);gap:0}
.intro-grid--copy-only .intro-copy{max-width:780px}

/* v20: Larry photo caption */
.maker-project-caption{
  margin:10px 0 0;
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
  letter-spacing:.035em;
}
.maker-project-caption + .maker-caption{padding-top:12px}

/* v20: protect the top of the hero image on short/wide laptop screens.
   The image remains untouched; only the CSS crop position changes. */
@media (min-width:901px) and (max-height:850px){
  .hero-media img{object-position:center 57%}
}
@media (min-width:901px) and (max-height:720px){
  .hero-media img{object-position:center 53%}
}


/* v23: tighter, natural paragraph spacing in Larry bio */
@media (min-width:621px){
  .maker-layout .maker-copy{justify-content:flex-start !important;gap:18px !important;}
  .maker-layout .maker-copy p{margin:0 !important;}
}
@media (max-width:620px){
  .maker-layout .maker-copy{gap:14px !important;}
}
