/* The inner pages in the Home v13 look, 19 Oct 2026. Loaded after home-v13.css, which carries the approved
   system (palette, type, header, footer, buttons, labels, cards, the story band, the close). This file adds
   only the patterns the inner pages need. Nothing here changes Home. */

/* no word left alone on a line (Carrie, 19 Oct: "fix spacing so no lingering text on a line alone"):
   headings and short display lines balance their lines; paragraphs avoid a lone last word */
h1,h2,h3,.kick,.hero__italic,.job__line,.duo__sees,.came__lede,.bb__lede,.know p,.going__line,.jobs__end,.close h2,.entr__lede,.menu-card__lede,.stair__head > p,.stair__note,.jobs__lede,.sopen__who{text-wrap:balance}
p,li,figcaption,.card__line{text-wrap:pretty}

/* the closing band: Home's close, with two quiet doors beside the button */
.close__doors{display:flex;flex-wrap:wrap;align-items:center;gap:14px 30px}
.close__doors a:not(.btn){font-size:17px;color:var(--ink);border-bottom:1px solid var(--rule);padding-bottom:2px}
.close__doors a:not(.btn):hover{border-bottom-color:var(--ink)}

/* the page hero: Home's hero, shorter, with a label and room for a longer heading */
.hero--page{height:clamp(500px,68vh,660px)}
.hero--page .hero__in{gap:20px}
.hero--page .hero__in > *{max-width:580px}
.hero--page::after{background:linear-gradient(90deg,rgba(72,46,26,.86) 0%,rgba(84,55,32,.74) 34%,rgba(96,64,38,.34) 54%,rgba(96,64,38,0) 72%)}
.hero--page .kick{color:var(--cream);margin:0}
.hero--page .kick::after{background:var(--cream)}
.hero--page h1{font-size:clamp(50px,4.4vw,72px);line-height:1.04}
.hero--page .hero__italic{font-family:var(--serif);font-style:italic;font-size:clamp(26px,2.1vw,34px);line-height:1.2;color:var(--cream);margin:-8px 0 4px}
.hero--page .hero__in > h1,.hero--page .hero__in > .hero__italic{max-width:780px}
.hero--page .hero__pic img{object-position:50% 62%}

/* two perspectives: two calm columns, a fine rule between, each side as a ruled list */
.duo{background:var(--ground);padding:104px 0 104px}
.duo__head{text-align:center;font-size:clamp(38px,3.2vw,54px);line-height:1.08;margin:0 auto 60px;max-width:20ch}
.duo__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:1040px;margin:0 auto}
.duo__col{padding:0 64px}
.duo__col + .duo__col{border-left:1px solid var(--rule)}
.duo__name{font-family:var(--ui);font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin:0 0 10px}
.duo__sees{font-family:var(--serif);font-style:italic;font-size:clamp(28px,2.2vw,34px);line-height:1.2;color:var(--ink);margin:0 0 22px;text-wrap:balance}
.duo__brings{margin:22px 0 0;font-size:17.5px;color:var(--ink)}
.ruled{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--rule)}
.ruled li{border-top:1px solid var(--rule);padding:13px 0;font-size:17px;line-height:1.5}

/* why the combination matters: five numbered moments beside the real pieces, a gently staggered row
   (Carrie: "more inspiring - maybe numbers by things"). The numbers count the moments, never results. */
.jobs{background:var(--ground);padding:96px 0 112px;border-top:1px solid var(--rule)}
.jobs__head{max-width:780px;margin-bottom:56px}
.jobs__head h2{font-size:clamp(40px,3.4vw,56px);line-height:1.06;margin-bottom:18px;text-wrap:balance}
.jobs__lede{font-family:var(--serif);font-style:italic;font-size:clamp(24px,1.9vw,30px);line-height:1.3;color:var(--ink);margin:0;max-width:34ch}
.jobs__row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;align-items:start}
.jobs__end{font-family:var(--serif);font-size:clamp(28px,2.3vw,38px);line-height:1.25;color:var(--ink);margin:80px auto 0;max-width:30ch;text-align:center;text-wrap:balance}
.job{display:flex;flex-direction:column}
.job:nth-child(even){margin-top:72px}
.job__img{display:block;aspect-ratio:4/5;overflow:hidden;margin-bottom:18px}
.job__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.job:hover .job__img img{transform:scale(1.04)}
.job__num{font-family:var(--serif);font-style:italic;font-size:40px;line-height:1;color:var(--wine);margin-bottom:12px}
.job__label{font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin-bottom:8px}
.job__line{font-size:17px;line-height:1.5;color:var(--ink)}
@media (prefers-reduced-motion: no-preference){
  .jobs .job:nth-child(2){transition-delay:.12s}.jobs .job:nth-child(3){transition-delay:.24s}
  .jobs .job:nth-child(4){transition-delay:.36s}
}

/* where it came from: a quiet passage, the opening sentence large, the rest set in to the right */
.came{background:var(--paper);padding:104px 0}
.came__lede{font-family:var(--serif);font-size:clamp(32px,2.8vw,46px);line-height:1.2;color:var(--ink);margin:0 0 40px;max-width:30ch}
.came__body{margin:0 0 0 auto;max-width:58ch;font-size:18px;padding-top:28px;border-top:1px solid var(--rule)}

/* the brand of our own: the candle large off the right edge beside one column of words, the pieces under it,
   then the feeling as its own moment */
.bb{background:var(--ground);padding:0 0 104px}
.bb__top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:720px}
.bb__words{align-self:center;padding:96px 72px 96px max(var(--gut),calc((100vw - var(--wide)) / 2 + var(--gut)))}
.bb__lede{font-family:var(--serif);font-size:clamp(32px,2.6vw,44px);line-height:1.16;color:var(--ink);margin:0 0 26px}
.bb__words > p:not(.kick):not(.bb__lede){margin:0 0 16px;max-width:46ch;font-size:17.5px}
.bb__pic{position:relative;overflow:hidden}
.bb__pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
@media (prefers-reduced-motion: no-preference){.bb__pic img{animation:drift 38s ease-in-out infinite alternate}}
.bb__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:64px}
.bb__row .card__img{aspect-ratio:4/3}
.know{margin:104px 0 0;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:88px;align-items:center}
.know__pic{margin:0}
.know__pic img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.know__words p{font-family:var(--serif);font-size:clamp(28px,2.3vw,38px);line-height:1.25;color:var(--ink);margin:0 0 28px;max-width:26ch}
.know__words .know__end{font-style:italic;color:var(--wine);margin:40px 0 0;padding-top:30px;border-top:1px solid var(--rule);max-width:none}
@media (prefers-reduced-motion: no-preference){
  .know .rv{transition-duration:1.2s,1.3s}
  .know__words .rv:nth-child(2){transition-delay:.5s}.know__words .rv:nth-child(3){transition-delay:1s}
}

/* why the name: the words, and beside them the photograph of Castle Farm Road bleeding off the right edge at a
   moderate size, the hydrangeas and fence at its heart (Carrie, 19 Oct: "no i meant image with fence - keep but
   bleed off page"; on the full-width band: "its huge acros entire page") */
.road{background:var(--ground);padding:112px 0;overflow:hidden}
.road__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr auto auto 1fr;column-gap:96px}
.road__head{grid-column:1;grid-row:2}
.road h2{font-size:clamp(40px,3.4vw,56px);line-height:1.06;margin-bottom:28px;text-wrap:balance}
.road__words{grid-column:1;grid-row:3}
.road__words > p{margin:0 0 16px;max-width:56ch;font-size:17.5px}
.road__pic{grid-column:2;grid-row:1 / span 4;align-self:center;margin:0 calc(-1 * max(var(--gut), (100vw - var(--wide)) / 2 + var(--gut))) 0 0;height:clamp(560px,50vw,880px)}
.road__pic img{width:100%;height:100%;object-fit:cover;object-position:50% 52%}

/* where we are going: the studio's line, large and quiet */
.going{background:var(--paper);padding:100px 0 96px}
.going__in{max-width:860px;text-align:center}
.going__line{font-family:var(--serif);font-style:italic;font-size:clamp(46px,4.2vw,70px);line-height:1.05;color:var(--ink);margin:0 0 34px}
.going .kick{justify-content:center}
.going__in > p:not(.kick):not(.going__line){margin:0 auto 14px;max-width:60ch;font-size:17.5px}

@media (max-width:900px){
  .hero--page{height:auto}
  .hero--page .kick{color:var(--ink)}
  .hero--page .kick::after{background:var(--ink)}
  .hero--page h1{font-size:42px}
  .hero--page .hero__italic{color:var(--ink);font-size:27px}
  .hero--page .hero__pic img{object-position:50% 60%;height:46vh;min-height:280px}
  .duo{padding:56px 0}
  .duo__head{margin-bottom:36px}
  .duo__row{grid-template-columns:1fr;gap:40px}
  .duo__col{padding:0}
  .duo__col + .duo__col{border-left:0}
    .jobs{padding:56px 0 64px}
  .jobs__head{margin-bottom:36px}
  .jobs__row{grid-template-columns:1fr 1fr;gap:32px 16px}
  .job:nth-child(even){margin-top:48px}
  .job__num{font-size:32px}
  .jobs__end{margin-top:48px;text-align:left}
  .came{padding:56px 0}
  .came__lede{font-size:28px;margin-bottom:28px}
  .came__body{font-size:17px}
  .bb{padding-bottom:56px}
  .bb__top{grid-template-columns:1fr;min-height:0}
  .bb__words{padding:52px 20px 32px}
  .bb__pic{height:380px}
  .bb__row{grid-template-columns:1fr;gap:28px;margin-top:40px}
  .know{margin-top:56px;grid-template-columns:1fr;gap:28px}
  .know__words p{font-size:26px}
  .know__words .know__end{margin-top:24px;padding-top:22px}
  .road{padding:56px 0 0}
  .road__in{grid-template-columns:1fr;grid-template-rows:none;gap:24px}
  .road__head,.road__words{grid-row:auto}
  .road__pic{grid-column:1;grid-row:auto;margin:16px -20px 0;height:440px}
  .going{padding:56px 0}
  .going__line{font-size:40px}
  .close__doors{gap:14px 22px}
}

/* ===== Services (19 Oct, night), its own composition (Carrie: "it looks like we copied and pasted site over and
   over", "make this page creative") ===== */
/* a typographic opening: the question very large, the standfirst set to the right */
.sopen{background:var(--ground);padding:112px 0 80px}
.sopen__in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.sopen .kick{grid-column:1 / -1}
.sopen h1{grid-column:1 / 12;font-size:clamp(64px,7.2vw,132px);line-height:.98;margin:0}
.sopen__stand{grid-column:7 / 13;margin-top:44px}
.sopen__lead{font-size:20px;line-height:1.6;margin:0 0 24px}
.sopen__who{font-family:var(--serif);font-style:italic;font-size:clamp(22px,1.7vw,26px);line-height:1.35;color:var(--ink);margin:0;padding-left:18px;border-left:1px solid var(--rule)}

/* the index: a numbered list on the left, the chosen service large on the right */
.idx{background:var(--ground);padding:64px 0 120px;border-top:1px solid var(--rule)}
.idx__in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px;align-items:start}
.idx__tabs{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--rule)}
.idx__tabs li{border-top:1px solid var(--rule)}
.idx__tab{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:grid;grid-template-columns:64px minmax(0,1fr);padding:26px 0;align-items:baseline}
.idx__tab:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.idx__num{font-family:var(--serif);font-style:italic;font-size:28px;line-height:1;color:var(--wine)}
.idx__name{font-family:var(--serif);font-size:clamp(30px,2.5vw,42px);line-height:1.1;color:#9a8a7b;transition:color .35s}
.idx__tab:hover .idx__name,.idx__tab.is-on .idx__name{color:var(--ink)}
.idx__statement{grid-column:2;font-size:17px;line-height:1.5;color:var(--body);max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease,opacity .5s ease,margin .5s ease}
.idx__tab.is-on .idx__statement{max-height:120px;opacity:1;margin-top:12px}
.idx__panels{display:grid}
.idx__panel{grid-area:1 / 1}
.idx.js .idx__panel{opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s}
.idx.js .idx__panel.is-on{opacity:1;visibility:visible;transition:opacity .7s ease,visibility 0s}
.idx__pic{display:block;aspect-ratio:5/4;overflow:hidden}
.idx__pic img{width:100%;height:100%;object-fit:cover}
.idx__words{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:44px;margin-top:28px}
.idx__mobile-name{display:none}
.idx__line{grid-column:1;font-family:var(--serif);font-size:clamp(22px,1.7vw,26px);line-height:1.3;color:var(--ink);margin:0}
.idx__list{grid-column:2;grid-row:1 / span 2}
.idx__more{grid-column:1;align-self:end;justify-self:start;margin-top:22px;font-size:17px;color:var(--ink);border-bottom:1px solid var(--rule);padding-bottom:2px}
.idx__more:hover{border-bottom-color:var(--ink)}
.ruled--small li{font-size:15.5px;padding:9px 0}

/* how we work as a ruled ledger */
.led{background:var(--paper);padding:104px 0 96px}
.led__head{max-width:680px;margin-bottom:52px}
.led__head h2{font-size:clamp(38px,3.2vw,52px);line-height:1.08}
.led__cols,.led__row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,4fr);column-gap:56px}
.led__cols{padding-bottom:14px;border-bottom:1px solid var(--rule);font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#7d6e61}
.led__rows{list-style:none;margin:0;padding:0}
.led__row{padding:34px 0;border-bottom:1px solid var(--rule);align-items:center}
.led__step{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:22px;align-items:center}
.led__art{grid-row:1 / span 2}
.led__art img{width:96px;height:96px;object-fit:contain}
.led__num{font-family:var(--serif);font-style:italic;font-size:26px;line-height:1;color:var(--wine);align-self:end}
.led__step h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.2vw,34px);line-height:1.1;color:var(--ink);margin:4px 0 0;align-self:start}
.led__us{margin:0;font-size:17px}
.led__you{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(20px,1.5vw,23px);line-height:1.35;color:var(--ink)}
.led__noneed{margin:52px 0 0;font-family:var(--serif);font-size:clamp(24px,1.9vw,30px);line-height:1.3;color:var(--ink);max-width:44ch}

/* the review: the worked example bleeding off the left edge */
.rev{background:var(--ground)}
.rev--bleed{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:80px;align-items:center;padding:112px 0}
.rev__pic{margin:0}
.rev__pic img{width:100%;height:auto}
.rev__words{padding-right:max(var(--gut),calc((100vw - var(--wide)) / 2 + var(--gut)))}
.rev h2{font-size:clamp(40px,3.4vw,56px);line-height:1.06;margin-bottom:22px}
.rev__words > p:not(.kick):not(.rev__cap){margin:0 0 30px;max-width:46ch;font-size:17.5px}
.rev__cap{margin:30px 0 0;font-size:15.5px}
.rev__cap .card__label{display:block;margin-bottom:4px}

/* the two packages facing each other, "or" on the rule between */
.packs{background:var(--paper);padding:104px 0 96px}
.packs__kick{justify-content:center}
.packs__row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);margin-top:28px}
.pack{padding:8px 64px;text-align:center}
.pack h2{font-size:clamp(38px,3.2vw,54px);line-height:1.06;margin:0 0 10px}
.pack__line{font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);margin:0 0 20px}
.pack > p:not(.pack__line){margin:0 auto;max-width:44ch;font-size:17.5px}
.packs__or{display:flex;flex-direction:column;align-items:center;font-family:var(--serif);font-style:italic;font-size:30px;line-height:1;color:var(--wine)}
.packs__or::before,.packs__or::after{content:"";flex:1;width:1px;background:var(--rule);margin:12px 0}
.packs__more{margin:56px 0 0;text-align:center;font-size:18px}
.packs__more a{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px}

/* a typographic close */
.tclose{background:var(--ground);padding:128px 0 136px;border-top:1px solid var(--rule)}
.tclose__in{text-align:center;max-width:980px}
.tclose .kick{justify-content:center}
.tclose h2{font-size:clamp(50px,5vw,88px);line-height:1.02;margin:0 0 26px}
.tclose__in > p:not(.kick){margin:0 auto 36px;max-width:50ch;font-size:19px}
.tclose .close__doors{justify-content:center}

@media (prefers-reduced-motion: reduce){.idx__statement,.idx__name{transition:none}}

@media (max-width:900px){
  .sopen{padding:52px 0 40px}
  .sopen h1{grid-column:1 / -1;font-size:54px}
  .sopen__stand{grid-column:1 / -1;margin-top:28px}
  .sopen__lead{font-size:18px}
  .idx{padding:40px 0 56px}
  .idx__in{grid-template-columns:1fr;gap:0}
  .idx__tabs{display:none}
  .idx.js .idx__panel{opacity:1;visibility:visible}
  .idx__panel{grid-area:auto;margin-bottom:52px;display:flex;flex-direction:column}
  .idx__panel:last-child{margin-bottom:0}
  .idx__mobile-name{display:flex;gap:14px;align-items:baseline;font-family:var(--serif);font-size:30px;line-height:1.15;color:var(--ink);margin:0 0 16px}
  .idx__pic{order:-1;margin-bottom:20px}
  .idx__words{grid-template-columns:1fr;margin-top:0}
  .idx__list{grid-column:1;grid-row:auto;margin-top:18px}
  .led{padding:56px 0}
  .led__cols{display:none}
  .led__row{grid-template-columns:1fr;row-gap:14px;padding:28px 0}
  .led__step{grid-template-columns:72px minmax(0,1fr)}
  .led__art img{width:72px;height:72px}
  .rev--bleed{grid-template-columns:1fr;row-gap:32px;padding:56px 0}
  .rev__words{padding:0 var(--gut)}
  .packs{padding:56px 0}
  .packs__row{grid-template-columns:1fr}
  .pack{padding:0}
  .packs__or{flex-direction:row;margin:28px 0}
  .packs__or::before,.packs__or::after{height:1px;width:auto;margin:0 14px}
  .tclose{padding:64px 0 72px}
  .tclose h2{font-size:44px}
}
.idx__mname{text-wrap:balance}

/* ===== Pricing (19 Oct, late night), its own composition ===== */
/* a title page: the heading centred between fine rules, the intro in two columns, a contents line */
.ptitle{background:var(--ground);padding:104px 0 72px}
.ptitle__in{text-align:center}
.ptitle .kick{justify-content:center}
.ptitle h1{font-size:clamp(56px,6vw,108px);line-height:1;margin:0 auto;max-width:1120px;padding:34px 0 38px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.ptitle__intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;max-width:960px;margin:44px auto 0;text-align:left}
.ptitle__intro p{margin:0;font-size:18.5px}
.ptitle__toc{display:block;text-align:center;text-wrap:balance;line-height:2.4;margin:52px auto 0;max-width:1100px;font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.ptitle__toc a{display:inline-block;line-height:1.4;color:var(--ink);padding:4px 18px;border-left:1px solid var(--rule)}
.ptitle__toc a:first-child{border-left:0}
.ptitle__toc a:hover{color:var(--wine)}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
section[id]{scroll-margin-top:24px}

/* for brands that sell to stores: the heading beside a picture off the right edge, then a staircase of offers */
.stair{background:var(--paper);padding:0 0 120px}
.stair__top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:520px}
.stair__head{align-self:center;padding:88px 72px 88px max(var(--gut),calc((100vw - var(--wide)) / 2 + var(--gut)))}
.stair__head h2{font-size:clamp(44px,3.8vw,64px);line-height:1.04;margin:0 0 20px}
.stair__head > p{margin:0;max-width:38ch;font-family:var(--serif);font-size:clamp(23px,1.8vw,28px);line-height:1.3;color:var(--ink)}
.stair__pic{position:relative;overflow:hidden}
.stair__pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.stair__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;align-items:start;margin-top:80px}
.stair__step{border-top:1px solid var(--ink);padding-top:26px}
.stair__step--1{margin-top:168px}.stair__step--2{margin-top:112px}.stair__step--3{margin-top:56px}
.stair__step h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.2vw,34px);line-height:1.1;color:var(--ink);margin:0 0 8px}
.stair__price{font-family:var(--serif);font-size:clamp(40px,3.2vw,52px);line-height:1;color:var(--wine);margin:0 0 20px}
.stair__price small{display:block;font-family:var(--ui);font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-top:10px}
.stair__step > p:not(.stair__price):not(.stair__note){margin:0 0 12px;font-size:16.5px}
.stair__step .ruled{margin:6px 0 16px}
.stair__note{margin:0 0 16px;font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.35;color:var(--ink)}
.stair__cta{display:inline-block;font-size:16.5px;color:var(--ink);border-bottom:1px solid var(--rule);padding-bottom:2px}
.stair__cta:hover{border-bottom-color:var(--ink)}
@media (prefers-reduced-motion: no-preference){
  .stair .stair__step--2{transition-delay:.12s}.stair .stair__step--3{transition-delay:.24s}.stair .stair__step--4{transition-delay:.36s}
}

/* Make an Entrance: the brand study wide, the words in two columns under it */
.entr{background:var(--ground);padding:112px 0}
.entr__pic{margin:0}
.entr__pic img{width:100%;height:auto;aspect-ratio:16/8;object-fit:cover;object-position:50% 46%}
.entr__trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.entr__trio div{padding:56px 24px 52px;text-align:center}
.entr__trio div + div{border-left:1px solid var(--rule)}
.entr__trio b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(96px,9vw,160px);line-height:.85;color:var(--wine)}
.entr__trio span{display:block;margin-top:18px;font-family:var(--ui);font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);text-wrap:balance}
.entr__words{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px;margin-top:52px}
.entr h2{font-size:clamp(46px,4.2vw,72px);line-height:1;margin:0 0 14px}
.entr__price{font-family:var(--serif);font-size:clamp(40px,3.2vw,52px);line-height:1;color:var(--wine);margin:0}
.entr__lede{font-family:var(--serif);font-size:clamp(26px,2vw,32px);line-height:1.25;color:var(--ink);margin:0 0 18px}
.entr__words > div > p:not(.kick):not(.entr__price):not(.entr__lede){margin:0 0 14px;max-width:56ch;font-size:17.5px}
.entr .btn{margin-top:14px}

/* websites: the price list beside the site on a laptop */
.web{background:var(--paper);padding:112px 0}
.web__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center}
.web h2{font-size:clamp(40px,3.4vw,56px);line-height:1.06;margin-bottom:20px}
.web__words > p:not(.kick):not(.web__note){margin:0 0 26px;max-width:56ch;font-size:17.5px}
.plist{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--rule)}
.plist li{display:flex;justify-content:space-between;align-items:baseline;gap:24px;border-top:1px solid var(--rule);padding:13px 0;font-size:16.5px;line-height:1.45}
.plist b{flex:0 0 auto;font-family:var(--serif);font-weight:400;font-size:23px;color:var(--ink);white-space:nowrap}
.web__note{margin:22px 0 22px;max-width:60ch;font-size:15.5px}
.web__cta,.ongo__cta{display:inline-block;font-size:17px;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px}
.web__pic{margin:0}
.browser{display:block;background:#FCF8F2;border:1px solid rgba(51,38,29,.14);border-radius:10px;overflow:hidden;box-shadow:0 26px 50px -30px rgba(51,38,29,.5)}
.browser__bar{display:flex;align-items:center;gap:6px;height:32px;padding:0 14px;border-bottom:1px solid rgba(51,38,29,.1);font-family:var(--ui);font-size:11.5px;letter-spacing:.04em;color:#8a7b6d}
.browser__bar i{width:9px;height:9px;border-radius:50%;background:#E4D8CA}
.browser__bar span{margin-left:12px}
.browser .screen{height:auto;aspect-ratio:16/11;border:0;border-radius:0}

/* ongoing creative support: the page's one full-width band, a sunlit shop corner with the words on a warm wash */
.ongo{position:relative;overflow:hidden;background:var(--ground);padding:0;min-height:clamp(520px,62vh,700px);display:flex;align-items:center}
.ongo__pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.ongo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ground) 0%,rgba(250,245,238,.94) 30%,rgba(250,245,238,.55) 50%,rgba(250,245,238,0) 66%)}
.ongo__in{position:relative;z-index:1;width:100%;padding-top:96px;padding-bottom:96px}
.ongo__in > *{max-width:560px}
.ongo h2{font-size:clamp(46px,4.2vw,72px);line-height:1.02;margin:0 0 24px}
.ongo__in > p:not(.kick){margin:0 0 14px;font-size:18px;color:var(--ink)}
.ongo__cta{margin-top:18px}
@media (prefers-reduced-motion: no-preference){.ongo__pic img{animation:drift 40s ease-in-out infinite alternate}}

/* individual projects: a menu card */
.menu-card{background:var(--paper);padding:104px 0}
.menu-card__head{max-width:760px;margin-bottom:52px}
.menu-card__lede{font-family:var(--serif);font-size:clamp(25px,2vw,31px);line-height:1.3;color:var(--ink);margin:0}
.menu-card__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px;align-items:start}
.menu-card__img{display:block;aspect-ratio:17/11;overflow:hidden;margin-bottom:24px}
.menu-card__img img{width:100%;height:100%;object-fit:cover}
.menu-card h3{font-family:var(--ui);font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin:0 0 14px}
.menu-card .plist b{font-size:21px}
.menu-card__note{margin:16px 0 0;font-size:15.5px}

/* a few things to know: two by two */
.qs{background:var(--ground);padding:104px 0 96px}
.qs__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 80px;margin-top:12px}
.qs__grid > div{border-top:1px solid var(--rule);padding-top:24px}
.qs h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2vw,32px);line-height:1.15;color:var(--ink);margin:0 0 12px}
.qs__grid p{margin:0;max-width:56ch;font-size:17px}

/* the close as a sign-off */
.sign{background:var(--paper);padding:112px 0 120px;border-top:1px solid var(--rule)}
.sign__in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:80px;align-items:end}
.sign h2{font-size:clamp(50px,5vw,88px);line-height:1;margin:0}
.sign__words p{margin:0 0 28px;max-width:42ch;font-size:19px}

@media (max-width:1100px) and (min-width:901px){
  .stair__row{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:56px}
  .stair__step--1,.stair__step--3{margin-top:56px}.stair__step--2,.stair__step--4{margin-top:0}
  .menu-card__cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .ptitle{padding:52px 0 44px}
  .ptitle h1{font-size:46px;padding:22px 0 24px}
  .ptitle__intro{grid-template-columns:1fr;gap:16px;margin-top:28px}
  .ptitle__intro p{font-size:17.5px}
  .ptitle__toc{text-align:left;margin-top:32px}
  .ptitle__toc a{border-left:0;padding:4px 16px 4px 0}
  .stair{padding-bottom:56px}
  .stair__top{grid-template-columns:1fr;min-height:0}
  .stair__head{padding:48px 20px 32px}
  .stair__pic{height:300px}
  .stair__row{grid-template-columns:1fr;gap:44px;margin-top:44px}
  .stair__step--1,.stair__step--2,.stair__step--3{margin-top:0}
  .entr{padding:56px 0}
  .entr__trio div{padding:28px 6px 26px}
  .entr__trio b{font-size:72px}
  .entr__trio span{font-size:11px;letter-spacing:.14em}
  .entr__words{grid-template-columns:1fr;gap:24px;margin-top:32px}
  .web{padding:56px 0}
  .web__in{grid-template-columns:1fr;gap:36px}
  .plist b{font-size:20px}
  .ongo{display:block;background:var(--ground);min-height:0}
  .ongo::after{display:none}
  .ongo__pic img{position:relative;height:320px}
  .ongo__in{padding-top:36px;padding-bottom:56px}
  .ongo .kick,.ongo h2,.ongo__cta{color:var(--ink) !important}
  .ongo .kick::after{background:var(--ink)}
  .ongo h2 em{color:var(--wine)}
  .ongo h2{font-size:42px}
  .ongo__in > p:not(.kick){color:var(--body)}
  .ongo__cta{border-bottom-color:var(--ink) !important}
  .menu-card{padding:56px 0}
  .menu-card__cols{grid-template-columns:1fr;gap:40px}
  .qs{padding:56px 0}
  .qs__grid{grid-template-columns:1fr;gap:32px}
  .sign{padding:64px 0 72px}
  .sign__in{grid-template-columns:1fr;gap:24px}
  .sign h2{font-size:44px}
}

/* ===== Work (19 Oct, late night), its own composition: a shape per section ===== */
.wopen{background:var(--ground);padding:104px 0 72px}
.wopen h1{font-size:clamp(58px,6.4vw,116px);line-height:.98;margin:0 0 26px;max-width:14ch}
.wopen__line{font-family:var(--serif);font-style:italic;font-size:clamp(24px,1.9vw,30px);line-height:1.3;color:var(--ink);margin:0 0 56px;max-width:40ch}
.wopen__index{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.wopen__index a{padding:20px 18px 22px;border-left:1px solid var(--rule);font-family:var(--serif);font-size:clamp(19px,1.45vw,23px);line-height:1.2;color:var(--ink);transition:background .3s}
.wopen__index a:first-child{border-left:0;padding-left:0}
.wopen__index a:hover{color:var(--wine)}
.wopen__index span{display:block;font-style:italic;font-size:17px;color:var(--wine);margin-bottom:8px}

.wsec{padding:104px 0;background:var(--ground);border-top:1px solid var(--rule)}
.wsec--brand,.wsec--look,.wsec--img{background:var(--paper)}
.wsec__head{display:grid;grid-template-columns:96px minmax(0,6fr) minmax(0,5fr);column-gap:32px;align-items:end;margin-bottom:56px}
.wsec__num{font-family:var(--serif);font-style:italic;font-size:clamp(56px,4.6vw,76px);line-height:.85;color:var(--wine)}
.wsec__head h2{font-size:clamp(38px,3.2vw,54px);line-height:1.06;margin:0;text-wrap:balance}
.wsec__head .kick{margin-bottom:12px}
.wsec__line{margin:0;font-size:17.5px;max-width:46ch;justify-self:end}

.pc{margin:0}
.pc__img{display:block;overflow:hidden}
.pc__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
a.pc__img:hover img{transform:scale(1.03)}
.pc figcaption{margin-top:16px}
.pc__label{display:block;font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin-bottom:8px}
.pc__title{display:block;font-family:var(--serif);font-size:clamp(23px,1.7vw,27px);line-height:1.2;color:var(--ink);margin-bottom:6px}
.pc__line{display:block;font-size:16.5px;line-height:1.5;max-width:44ch}

/* 01 three sites side by side */
.w-sites{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.w-sites .pc__img{aspect-ratio:4/3}

/* 02 one wide board beside one square mark */
.w-brand{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:40px;align-items:end}
.w-brand .pc--wide .pc__img{aspect-ratio:3/2}
.w-brand .pc:not(.pc--wide) .pc__img{aspect-ratio:1/1}

/* 03 a wall of tall and wide pieces */
.w-wall{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px 28px;align-items:start}
.w-wall .pc:nth-child(1){grid-column:1 / span 3}
.w-wall .pc:nth-child(2){grid-column:4 / span 6;margin-top:96px}
.w-wall .pc:nth-child(3){grid-column:10 / span 3}
.w-wall .pc:nth-child(4){grid-column:2 / span 3}
.w-wall .pc:nth-child(5){grid-column:6 / span 6;margin-top:56px}
.w-wall .pc--tall .pc__img{aspect-ratio:2/3}
.w-wall .pc--wide .pc__img{aspect-ratio:4/3}

/* 04 a lookbook turning its pages, two pieces beside it, a row under */
.w-look{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:44px;align-items:start}
.pc__img--book{background:var(--blush);padding:44px 40px;display:flex;justify-content:center}
.w-look .flip{position:relative;display:block;width:100%;box-shadow:0 26px 44px -26px rgba(51,38,29,.6)}
.w-look__side{display:grid;gap:40px}
.w-look__side .pc__img{aspect-ratio:3/2}
.w-look__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:64px}
.w-look__row .pc__img{aspect-ratio:4/3}

/* 05 the planner wide, two guides standing beside it */
.w-tools{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,3fr) minmax(0,3fr);gap:36px;align-items:end}
.w-tools .pc--wide .pc__img{aspect-ratio:3/2}
.w-tools .pc--tall .pc__img{aspect-ratio:2/3;box-shadow:0 22px 40px -26px rgba(51,38,29,.55)}

/* 06 product imagery as a grid around its line */
.w-img{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(0,auto);gap:24px}
.w-img > span{display:block;overflow:hidden}
.w-img img{width:100%;height:100%;object-fit:cover}
.w-img__a{grid-column:1 / span 7;aspect-ratio:3/2}
.w-img__b{grid-column:8 / span 5;grid-row:span 2}
.w-img__c{grid-column:1 / span 3;aspect-ratio:2/3}
.w-img__d{grid-column:4 / span 4;align-self:start;aspect-ratio:3/2}
.w-img__cap{grid-column:4 / span 4;margin:0;align-self:end}

@media (max-width:1100px) and (min-width:901px){
  .wopen__index{grid-template-columns:repeat(3,minmax(0,1fr))}
  .wopen__index a:nth-child(4){border-left:0;padding-left:0}
  .wopen__index a:nth-child(-n+3){border-bottom:1px solid var(--rule)}
}
@media (max-width:900px){
  .wopen{padding:52px 0 40px}
  .wopen h1{font-size:50px}
  .wopen__line{margin-bottom:32px}
  .wopen__index{grid-template-columns:1fr 1fr}
  .wopen__index a{border-left:0;padding:14px 0;border-bottom:1px solid var(--rule)}
  .wopen__index a:nth-child(even){padding-left:16px;border-left:1px solid var(--rule)}
  .wopen__index a:nth-last-child(-n+2){border-bottom:0}
  .wsec{padding:56px 0}
  .wsec__head{grid-template-columns:56px minmax(0,1fr);row-gap:14px;margin-bottom:32px}
  .wsec__num{font-size:46px}
  .wsec__head h2{font-size:31px}
  .wsec__line{grid-column:1 / -1;justify-self:start}
  .w-sites,.w-brand,.w-look,.w-look__row,.w-tools{grid-template-columns:1fr;gap:36px}
  .w-wall{grid-template-columns:1fr 1fr;gap:32px 14px}
  .w-wall .pc:nth-child(n){grid-column:auto;margin-top:0}
  .w-wall .pc--wide{grid-column:1 / -1 !important}
  .pc__img--book{padding:22px 16px}
  .w-look__row{margin-top:36px}
  .w-tools .pc--tall{max-width:320px}
  .w-img{grid-template-columns:1fr 1fr;gap:12px}
  .w-img > span,.w-img__cap{grid-column:auto !important;grid-row:auto !important}
  .w-img__a,.w-img__d{grid-column:1 / -1 !important}
  .w-img__b,.w-img__c{aspect-ratio:2/3}
  .w-img__cap{grid-column:1 / -1 !important;margin-top:8px}
}

/* ===== Contact (19 Oct, late night): a letter, the left side stays while you fill in the form ===== */
.ct13{background:var(--ground);padding:96px 0 120px}
.ct13__in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:96px;align-items:start}
.ct13__side{position:sticky;top:32px}
.ct13 h1{font-size:clamp(48px,4.4vw,76px);line-height:1.02;margin:0 0 22px}
.ct13__lead{font-size:18.5px;margin:0 0 32px;max-width:42ch}
.ct13__pic{aspect-ratio:4/3;overflow:hidden;margin-bottom:22px}
.ct13__pic img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.ct13__alt{margin:0;font-family:var(--serif);font-style:italic;font-size:22px;color:var(--ink)}
.ct13__alt a{font-style:normal;font-family:var(--book);font-size:17px;border-bottom:1px solid var(--ink);margin-left:6px}
.ct__form{display:block;margin:0}
.ct__form[hidden],.ct__thanks[hidden]{display:none}
.ct__form .row2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.q{display:block;border:0;margin:0;padding:22px 0 24px;border-top:1px solid var(--rule);font-family:var(--serif);font-size:clamp(23px,1.7vw,26px);line-height:1.25;color:var(--ink)}
.row2 .q{border-top:1px solid var(--rule)}
fieldset.q{min-width:0}
.q legend{float:left;width:100%;padding:0;margin-bottom:14px}
.q legend + .pills{clear:both}
.q small{display:block;margin-top:6px;font-family:var(--book);font-size:15.5px;line-height:1.5;color:var(--body)}
.q__req{font-family:var(--ui);font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#8a7b6d;margin-left:8px;vertical-align:4px}
.q input[type=text],.q input[type=email],.q input[type=url],.q textarea{display:block;width:100%;margin-top:12px;padding:10px 0 9px;border:0;border-bottom:1px solid #b9a691;background:transparent;font-family:var(--book);font-size:18px;color:var(--ink);border-radius:0}
.q textarea{border:1px solid #cbb9a5;padding:12px 14px;resize:vertical;background:rgba(255,255,255,.35)}
.q input:focus,.q textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 1px 0 var(--ink)}
.q textarea:focus{box-shadow:none}
.q [aria-invalid=true]{border-color:var(--wine)}
.q__err{display:block;font-family:var(--ui);font-size:13.5px;letter-spacing:.02em;color:var(--wine);margin-top:8px;min-height:0}
.q__err:empty{display:none}
.pills{display:flex;flex-wrap:wrap;gap:10px}
.pills label{position:relative;cursor:pointer}
.pills input{position:absolute;opacity:0;width:1px;height:1px}
.pills span{display:inline-block;padding:9px 16px;border:1px solid #cbb9a5;border-radius:999px;font-family:var(--book);font-size:16px;line-height:1.3;color:var(--ink);transition:background .2s,border-color .2s,color .2s}
.pills label:hover span{border-color:var(--ink)}
.pills input:checked + span{background:var(--moss);border-color:var(--moss);color:var(--cream)}
.pills input:focus-visible + span{outline:2px solid var(--ink);outline-offset:2px}
.ct__form .btn{margin-top:30px;border:0;cursor:pointer;font-size:17px;padding:16px 32px}
.ct__thanks{padding:72px 0;border-top:1px solid var(--rule)}
.ct__thanks h2{font-size:clamp(48px,4.4vw,72px);line-height:1;margin:0 0 18px}
.ct__thanks p:not(.kick){font-size:19px;max-width:44ch}
@media (max-width:900px){
  .ct13{padding:44px 0 64px}
  .ct13__in{grid-template-columns:1fr;gap:36px}
  .ct13__side{position:static}
  .ct13 h1{font-size:44px}
  .ct__form .row2{grid-template-columns:1fr;gap:0}
  .q{font-size:22px}
}

/* the live intake form (Gravity Forms) in the same look as the preview form */
.ct__form--gf .gform_wrapper{margin:0}
.ct__form--gf .gform_heading{display:none}
.ct__form--gf .gform_fields{display:block !important}
.ct__form--gf .gfield{border-top:1px solid var(--rule);padding:22px 0 24px !important;margin:0 !important}
.ct__form--gf .gfield_label,.ct__form--gf legend.gfield_label{font-family:var(--serif) !important;font-weight:400 !important;font-size:clamp(23px,1.7vw,26px) !important;line-height:1.25;color:var(--ink) !important}
.ct__form--gf .gfield_required{font-family:var(--ui);font-size:10.5px !important;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#8a7b6d !important}
.ct__form--gf .gfield_description{font-family:var(--book);font-size:15.5px !important;color:var(--body);padding:6px 0 0 !important}
.ct__form--gf input[type=text],.ct__form--gf input[type=email],.ct__form--gf input[type=url]{width:100%;padding:10px 0 9px !important;border:0 !important;border-bottom:1px solid #b9a691 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;font-family:var(--book);font-size:18px !important;color:var(--ink)}
.ct__form--gf textarea{width:100%;border:1px solid #cbb9a5 !important;border-radius:0 !important;padding:12px 14px !important;background:rgba(255,255,255,.35) !important;font-family:var(--book);font-size:18px !important}
.ct__form--gf .ginput_complex label,.ct__form--gf .gform-field-label--type-sub{font-family:var(--ui) !important;font-size:12px !important;letter-spacing:.14em;text-transform:uppercase;color:#8a7b6d}
.ct__form--gf .gfield_checkbox,.ct__form--gf .gfield_radio{display:flex !important;flex-wrap:wrap;gap:10px}
.ct__form--gf .gchoice{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid #cbb9a5;border-radius:999px;font-family:var(--book);font-size:16px;color:var(--ink)}
.ct__form--gf .gchoice input{accent-color:var(--moss);margin:0}
.ct__form--gf .gchoice label{margin:0 !important;font-size:16px !important}
.ct__form--gf .validation_message,.ct__form--gf .gfield_validation_message{background:none !important;border:0 !important;padding:8px 0 0 !important;font-family:var(--ui);font-size:13.5px;color:var(--wine) !important}
.ct__form--gf .gform_validation_errors{background:none !important;border:1px solid var(--wine) !important;border-radius:2px !important;box-shadow:none !important}
.ct__form--gf .gform_validation_errors h2{font-family:var(--ui) !important;font-size:14px !important;color:var(--wine) !important}
.ct__form--gf .gform_footer{padding:30px 0 0 !important;margin:0 !important}
.ct__form--gf .gform_button{background:var(--moss) !important;color:var(--cream) !important;border:0 !important;border-radius:2px !important;font-family:var(--book) !important;font-size:17px !important;padding:16px 32px !important;cursor:pointer}
.ct__form--gf .gform_confirmation_message{font-family:var(--serif);font-size:clamp(26px,2.2vw,34px);line-height:1.3;color:var(--ink);padding:48px 0;border-top:1px solid var(--rule)}

/* ===== The four service group pages (19 Oct, late night): one shared shape for the set ===== */
.gx-open{background:var(--ground);padding:104px 0 88px}
.gx-open__in{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:88px;align-items:end}
.gx-open h1{font-size:clamp(50px,5vw,88px);line-height:1.02;margin:0 0 28px;text-wrap:balance}
.gx-open__lead{font-size:19px;line-height:1.65;max-width:58ch;margin:0}
.gx-open__chapters{border-top:1px solid var(--ink)}
.gx-open__chapters a{display:flex;gap:18px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--rule);font-family:var(--serif);font-size:clamp(21px,1.6vw,25px);line-height:1.2;color:var(--ink)}
.gx-open__chapters a:hover{color:var(--wine)}
.gx-open__chapters span{font-style:italic;font-size:18px;color:var(--wine);min-width:26px}
.gx__num{font-family:var(--serif);font-style:italic;font-size:clamp(40px,3.2vw,54px);line-height:.9;color:var(--wine);margin:0 0 14px}
.gx__pic{display:block;overflow:hidden}
.gx__pic img{width:100%;height:100%;object-fit:cover}
.gx__pic.browser .screen{aspect-ratio:16/11}
.gx__pic.browser .screen img{height:auto;object-fit:initial}

.gx-feat{background:var(--paper);padding:104px 0}
.gx-feat__in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:80px;align-items:center}
.gx-feat__vis .gx__pic:not(.browser){aspect-ratio:3/2;box-shadow:0 26px 50px -30px rgba(51,38,29,.5)}
.gx-feat h2{font-size:clamp(36px,3vw,50px);line-height:1.08;margin:0 0 20px;text-wrap:balance}
.gx-feat__words > p:not(.kick):not(.gx__num){margin:0;max-width:48ch;font-size:18px}

.gx-row{background:var(--ground);padding:104px 0 88px}
.gx-row__in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;align-items:start}
.gx-piece .gx__pic{margin-bottom:26px}
.gx-piece .gx__pic:not(.browser){aspect-ratio:4/3}
.gx-piece .gx__num{font-size:clamp(34px,2.6vw,44px);margin-bottom:10px}
.gx-piece .kick{margin-bottom:10px}
.gx-piece h3{font-family:var(--serif);font-weight:400;font-size:clamp(25px,1.9vw,30px);line-height:1.15;color:var(--ink);margin:0 0 12px;text-wrap:balance}
.gx-piece > p:last-child{margin:0;font-size:16.5px}
@media (prefers-reduced-motion: no-preference){.gx-row .gx-piece:nth-child(2){transition-delay:.12s}.gx-row .gx-piece:nth-child(3){transition-delay:.24s}}
.gx-more{display:flex;flex-wrap:wrap;gap:14px 36px;margin:72px 0 0;padding-top:28px;border-top:1px solid var(--rule);font-size:18px}
.gx-more a{color:var(--ink);border-bottom:1px solid var(--rule);padding-bottom:2px}
.gx-more a:hover{border-bottom-color:var(--ink)}

@media (max-width:900px){
  .gx-open{padding:52px 0 44px}
  .gx-open__in{grid-template-columns:1fr;gap:36px}
  .gx-open h1{font-size:42px}
  .gx-open__lead{font-size:17.5px}
  .gx-feat,.gx-row{padding:56px 0}
  .gx-feat__in,.gx-row__in{grid-template-columns:1fr;gap:40px}
  .gx-feat__in{gap:28px}
  .gx-more{margin-top:44px}
}
@media (max-width:1100px) and (min-width:901px){.gx-row__in{grid-template-columns:1fr 1fr}}

/* the starting price on a service group page (20 Oct) */
.gx-price{margin:72px 0 0;padding-top:30px;border-top:1px solid var(--rule);font-family:var(--serif);font-size:clamp(26px,2.1vw,34px);line-height:1.25;color:var(--ink)}
.gx-price b{font-weight:400;color:var(--wine)}
.gx-price + .gx-more{margin-top:20px;padding-top:0;border-top:0}
@media (max-width:900px){.gx-price{margin-top:44px;font-size:25px}}

/* ===== Websites: the live site viewer (20 Oct) ===== */
.gx-open--short{padding:64px 0 40px}
.gx-open--short h1{font-size:clamp(44px,4vw,68px) !important;line-height:1.04}
.gx-open--short .gx-open__lead{font-size:18px}
.gx-open--short .gx-open__in{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end}
.gx-open--short h1{margin:0}
.sv{background:var(--paper);padding:28px 0 112px;border-top:1px solid var(--rule)}
.sv__tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--rule);margin-bottom:40px}
.sv__tab{all:unset;box-sizing:border-box;cursor:pointer;padding:18px 18px 20px 0;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:var(--serif);font-size:clamp(20px,1.6vw,25px);line-height:1.2;color:#9a8a7b;transition:color .3s,border-color .3s}
.sv__tab span{display:block;font-style:italic;font-size:17px;color:var(--wine);margin-bottom:6px}
.sv__tab:hover{color:var(--ink)}
.sv__tab.is-on{color:var(--ink);border-bottom-color:var(--ink)}
.sv__tab:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.sv__panels{display:grid}
.sv__panel{grid-area:1 / 1;display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:72px;align-items:center}
.sv.js .sv__panel{opacity:0;visibility:hidden;transition:opacity .8s ease,visibility 0s linear .8s}
.sv.js .sv__panel.is-on{opacity:1;visibility:visible;transition:opacity .8s ease,visibility 0s}
.sv__stage{position:relative;padding:0 64px 48px 0}
.sv__desk{box-shadow:0 34px 60px -34px rgba(51,38,29,.55)}
.sv__desk .screen{aspect-ratio:16/10}
.sv__desk .screen img,.sv__phone .screen img{height:auto}
.sv__phone{position:absolute;right:0;bottom:0;width:clamp(150px,13vw,210px);aspect-ratio:9/19;border-radius:26px;padding:7px}
.sv__phone .screen{border-radius:20px}
.sv__words h2{font-size:clamp(32px,2.6vw,44px);line-height:1.1;margin:0 0 18px;text-wrap:balance}
.sv__words > p:not(.kick):not(.gx__num){margin:0 0 14px;font-size:17.5px;max-width:42ch}
.sv__extra{font-family:var(--serif);font-style:italic;font-size:20px !important;line-height:1.35;color:var(--ink)}
.sv__visit{display:inline-block;margin-top:12px;font-size:17px;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px}
.gx-row--after{padding:0 0 88px;background:var(--paper)}
.gx-row--after .gx-price{margin-top:0}
@media (max-width:1100px) and (min-width:901px){.sv__panel{grid-template-columns:1fr;gap:40px}}
@media (max-width:900px){
  .gx-open--short{padding:48px 0 32px}
  .gx-open--short .gx-open__in{grid-template-columns:1fr;gap:20px}
  .sv{padding:28px 0 56px}
  .sv__tabs{grid-template-columns:1fr 1fr;column-gap:16px;margin-bottom:28px;border-bottom:0}
  .sv__tab{padding:12px 0 14px;font-size:19px;border-bottom:1px solid var(--rule);margin-bottom:0}
  .sv__tab.is-on{border-bottom:2px solid var(--ink)}
  .sv__panel{grid-template-columns:1fr;gap:28px;align-items:start}
  .sv__stage{padding:0}
  .sv__phone{display:none}
  .gx-row--after{padding-bottom:56px}
}

/* ===== Lookbooks: the open-book viewer (20 Oct) ===== */
.bk__table{background:var(--blush);padding:56px 48px;display:flex;justify-content:center;align-items:center;min-height:clamp(420px,36vw,600px)}
.bk{position:relative;display:block;width:100%;max-width:880px;aspect-ratio:1600/1035;box-shadow:0 30px 50px -26px rgba(51,38,29,.6)}
.bk__spread{position:absolute;inset:0;display:flex;opacity:0;transition:opacity 1.1s ease}
.bk__spread.is-on{opacity:1}
.bk__spread img{width:50%;height:100%;object-fit:cover;background:#fff}
.bk__gutter{position:absolute;top:0;bottom:0;left:50%;width:40px;transform:translateX(-50%);background:linear-gradient(90deg,rgba(51,38,29,0) 0%,rgba(51,38,29,.12) 45%,rgba(51,38,29,.18) 50%,rgba(51,38,29,.12) 55%,rgba(51,38,29,0) 100%);pointer-events:none}
.bk__photo{display:block;width:100%;max-width:880px;aspect-ratio:3/2;overflow:hidden;box-shadow:0 30px 50px -26px rgba(51,38,29,.6)}
.bk__photo img{width:100%;height:100%;object-fit:cover}
@media (prefers-reduced-motion: reduce){.bk__spread{transition:none}}
@media (max-width:900px){.bk__table{padding:24px 14px;min-height:0}}
/* emails scrolling in phones (Design & marketing, 20 Oct) */
.bk__phones{display:flex;gap:clamp(14px,2vw,30px);justify-content:center;align-items:flex-end;width:100%}
.bk__phone{flex:0 0 auto;width:clamp(150px,15vw,250px);aspect-ratio:900/1350;border-radius:6px;padding:0;overflow:hidden;background:#fff;box-shadow:0 26px 44px -26px rgba(51,38,29,.55)}
.bk__phone:nth-child(2){margin-bottom:48px}
.bk__phone .screen{border-radius:0;border:0;height:100%}
.bk__phone .screen img{height:100%;width:100%;object-fit:cover;object-position:50% 0;animation:none !important;transform:none !important}
@media (max-width:900px){.bk__phone{width:31%}.bk__phone:nth-child(2){margin-bottom:20px}}
/* Writing & imagery (20 Oct): live pages in browser frames, product imagery as a grid */
.bk__browser{display:block;width:100%;max-width:880px;box-shadow:0 30px 50px -28px rgba(51,38,29,.55)}
.bk__browser .screen{aspect-ratio:16/10}
.bk__browser .screen img{height:auto}
.bk__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:880px}
.bk__grid > span{display:block;aspect-ratio:1/1;overflow:hidden}
.bk__grid img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.bk__grid > span:hover img{transform:scale(1.04)}

/* ===== The Wholesale Brand Review (20 Oct): the review itself as a document, the six things as a ledger ===== */
.ropen{background:var(--ground);padding:88px 0 104px}
.ropen__in{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:88px;align-items:center}
.ropen h1{font-size:clamp(50px,4.8vw,84px);line-height:1.02;margin:0 0 26px;text-wrap:balance}
.ropen__lead{font-size:19px;line-height:1.65;margin:0 0 32px;max-width:48ch}
.ropen__price{display:flex;align-items:baseline;gap:22px;margin:0 0 32px;padding:20px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.ropen__price b{font-family:var(--serif);font-weight:400;font-size:clamp(52px,4.4vw,72px);line-height:1;color:var(--wine)}
.ropen__price span{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.35;color:var(--ink);max-width:30ch}
.rdoc{display:block;background:var(--blush);padding:48px 44px 28px}
.rdoc__page{position:relative;display:block;background:#FDFBF7;padding:40px 40px 0;max-height:660px;overflow:hidden;box-shadow:0 30px 50px -28px rgba(51,38,29,.55);transition:transform .5s ease}
.rdoc:hover .rdoc__page{transform:translateY(-4px)}
.rdoc__top{display:flex;justify-content:space-between;font-family:var(--ui);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#8a7b6d;margin-bottom:18px}
.rdoc__title{display:block;font-family:var(--serif);font-size:30px;line-height:1.12;color:var(--ink);padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--rule)}
.rdoc__h{display:block;font-family:var(--serif);font-size:21px;color:var(--ink);margin:18px 0 8px}
.rdoc__p{display:block;font-size:14.5px;line-height:1.6;color:var(--body);margin-bottom:8px}
.rdoc__ol{display:flex;gap:12px;font-size:14.5px;line-height:1.5;color:var(--ink);padding:6px 0;border-top:1px solid #efe6da}
.rdoc__ol i{font-family:var(--serif);font-style:italic;color:var(--wine);min-width:20px}
.rdoc__fade{position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(180deg,rgba(253,251,247,0),#FDFBF7)}
.rdoc__cap{display:block;margin-top:20px;font-size:15px;line-height:1.5;color:var(--ink)}
.rsix{background:var(--paper);padding:104px 0}
.rsix__head{max-width:640px;margin-bottom:48px}
.rsix h2{font-size:clamp(40px,3.4vw,56px);line-height:1.06}
.rledger{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:80px;border-top:1px solid var(--ink)}
.rledger__row{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:baseline;padding:26px 0;border-bottom:1px solid var(--rule)}
.rledger__num{font-family:var(--serif);font-style:italic;font-size:34px;line-height:1;color:var(--wine)}
.rledger h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2vw,32px);line-height:1.15;color:var(--ink);margin:0 0 6px}
.rledger p{margin:0;font-size:17px}
.rget{background:var(--ground);padding:112px 0}
.rget__in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:96px;align-items:center}
.rget h2{font-size:clamp(38px,3.2vw,52px);line-height:1.08;margin-bottom:22px}
.rget__words > p:not(.kick){margin:0 0 14px;font-size:18px;max-width:48ch}
.rget__quote{margin:0;padding:8px 0 8px 40px;border-left:1px solid var(--wine)}
.rget__quote blockquote{margin:0 0 24px;font-family:var(--serif);font-size:clamp(28px,2.4vw,40px);line-height:1.28;color:var(--ink);text-wrap:balance}
.rget__quote figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 28px}
.rget__quote figcaption .pc__label{margin:0}
.rget__quote figcaption a{font-size:17px;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px}
.rnext{background:var(--paper);padding:104px 0 96px}
.rnext__head{max-width:760px;margin-bottom:44px}
.rnext__lede{font-family:var(--serif);font-size:clamp(25px,2vw,31px);line-height:1.3;color:var(--ink);margin:0;text-wrap:balance}
.rnext__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.rnext__item{padding:6px 64px 0 0}
.rnext__item + .rnext__item{padding:6px 0 0 64px;border-left:1px solid var(--rule)}
.rnext__item h3{font-family:var(--serif);font-weight:400;font-size:clamp(32px,2.6vw,42px);line-height:1.1;color:var(--ink);margin:0 0 6px}
.rnext__price{font-family:var(--serif);font-size:clamp(40px,3.2vw,52px);line-height:1;color:var(--wine);margin:0 0 18px}
.rnext__item > p:not(.rnext__price){margin:0 0 12px;font-size:17.5px;max-width:48ch}
.rnext__note{font-family:var(--serif);font-style:italic;font-size:20px !important;line-height:1.35;color:var(--ink)}
.rnext__more{margin:48px 0 0;font-size:18px}
.rnext__more a{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px}
@media (max-width:900px){
  .ropen{padding:44px 0 56px}
  .ropen__in{grid-template-columns:1fr;gap:40px}
  .ropen h1{font-size:44px}
  .ropen__lead{font-size:17.5px}
  .ropen__price{flex-direction:column;gap:8px}
  .rdoc{padding:22px 16px 18px}
  .rdoc__page{padding:26px 22px 0;max-height:480px}
  .rdoc__title{font-size:25px}
  .rsix,.rget,.rnext{padding:56px 0}
  .rledger{grid-template-columns:1fr}
  .rledger__row{grid-template-columns:52px minmax(0,1fr)}
  .rget__in{grid-template-columns:1fr;gap:40px}
  .rget__quote{padding-left:22px}
  .rnext__row{grid-template-columns:1fr;gap:36px}
  .rnext__item,.rnext__item + .rnext__item{padding:0;border-left:0}
  .rnext__item + .rnext__item{padding-top:32px;border-top:1px solid var(--rule)}
}

/* ===== Review, second version (20 Oct): Carrie's words, booking details, the sample review ===== */
.ropen__lead p{margin:0 0 14px}
.ropen__lead p:last-child{margin-bottom:0}
.rdoc__demo{display:block;font-family:var(--serif);font-style:italic;font-size:16px;line-height:1.4;color:var(--wine);margin:-6px 0 18px}
.rnext__solo{max-width:820px}
.rnext__solo h2{font-size:clamp(40px,3.4vw,56px);line-height:1.06;margin-bottom:22px}
.rnext__solo > p:not(.kick){margin:0 0 14px;font-size:18.5px;max-width:58ch}
.rget__quote blockquote .pc__label{display:block;margin-bottom:14px;font-size:12px}
.rget__quote blockquote{font-size:clamp(24px,1.9vw,30px)}
.rbook{background:var(--ground);padding:104px 0 96px;border-top:1px solid var(--rule)}
.rbook__proposed{display:inline-block;font-family:var(--ui);font-size:12.5px;letter-spacing:.06em;color:var(--wine);border:1px dashed var(--wine);padding:6px 14px;margin:0 0 28px}
.rbook__head{max-width:720px;margin-bottom:44px}
.rbook__head h2{font-size:clamp(36px,3vw,48px);line-height:1.08}
.rbook__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px;align-items:start}
.rbook h3{font-family:var(--ui);font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin:0 0 14px}
.rbook .ruled li{font-size:16.5px;line-height:1.5}
.rbook__note{margin:18px 0 0;font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.4;color:var(--ink)}
.rclose__price{font-family:var(--serif);font-size:clamp(48px,4vw,64px) !important;line-height:1;color:var(--wine);margin:6px auto 30px !important}
/* the sample review */
.sopen-r{background:var(--ground);padding:96px 0 72px}
.sopen-r__in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:80px;align-items:end}
.sopen-r h1{font-size:clamp(60px,6vw,108px);line-height:.98;margin:0}
.sopen-r__demo > p:first-child{font-family:var(--serif);font-style:italic;font-size:clamp(24px,1.9vw,30px);line-height:1.3;color:var(--wine);margin:0 0 22px}
.sopen-r__what{margin:0;font-size:17px;padding-top:18px;border-top:1px solid var(--rule)}
.sopen-r__what b,.spr__item b{display:block;font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);margin-bottom:6px}
.sfirst{background:var(--paper);padding:96px 0}
.sfirst__in{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:80px;align-items:center}
.sfirst__pic img{width:100%;height:auto;box-shadow:0 26px 50px -30px rgba(51,38,29,.5)}
.sfirst__lede{font-family:var(--serif);font-size:clamp(30px,2.6vw,42px);line-height:1.15;color:var(--ink);margin:0 0 20px;text-wrap:balance}
.sfirst__in > div > p:not(.kick):not(.sfirst__lede){margin:0 0 14px;font-size:18px;max-width:52ch}
.sgood{background:var(--ground);padding:96px 0}
.sgood__head{margin-bottom:40px}
.sgood h2{font-size:clamp(38px,3.2vw,52px);line-height:1.06}
.sgood__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 80px;border-top:1px solid var(--ink)}
.sgood__list li{padding:26px 0;border-bottom:1px solid var(--rule)}
.sgood__list h3{font-family:var(--serif);font-weight:400;font-size:clamp(25px,1.9vw,30px);line-height:1.15;color:var(--ink);margin:0 0 8px}
.sgood__list p{margin:0;font-size:17px}
.spr{background:var(--paper);padding:104px 0}
.spr__head{margin-bottom:40px}
.spr h2{font-size:clamp(38px,3.2vw,52px);line-height:1.06}
.spr__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.spr__item{display:grid;grid-template-columns:96px minmax(0,1fr);padding:34px 0;border-bottom:1px solid var(--rule)}
.spr__num{font-family:var(--serif);font-style:italic;font-size:44px;line-height:1;color:var(--wine)}
.spr__item h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.2vw,36px);line-height:1.12;color:var(--ink);margin:0 0 18px}
.spr__item > div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:56px}
.spr__item h3{grid-column:1 / -1}
.spr__item p{margin:0;font-size:17px}
.spr__also{margin-top:48px;max-width:760px}
.spr__also h3{font-family:var(--ui);font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin:0 0 12px}
.sconv{background:var(--ground);padding:96px 0}
.sconv__in{max-width:820px}
.sconv__lede{text-wrap:balance;font-family:var(--serif);font-size:clamp(32px,2.8vw,46px);line-height:1.12;color:var(--ink);margin:0 0 18px}
.sconv__in > p:not(.kick):not(.sconv__lede){margin:0;font-size:18px;max-width:58ch}
@media (max-width:900px){
  .rbook{padding:56px 0}
  .rbook__cols{grid-template-columns:1fr;gap:36px}
  .sopen-r{padding:48px 0 40px}
  .sopen-r__in,.sfirst__in{grid-template-columns:1fr;gap:28px}
  .sopen-r h1{font-size:54px}
  .sfirst,.sgood,.spr,.sconv{padding:56px 0}
  .sgood__list{grid-template-columns:1fr}
  .spr__item{grid-template-columns:52px minmax(0,1fr)}
  .spr__num{font-size:34px}
  .spr__item > div{grid-template-columns:1fr;row-gap:14px}
}
.rclose__when{margin:-18px auto 30px !important;font-size:16.5px !important;max-width:46ch}

/* ===== Websites for breeders (20 Oct) ===== */
.bopen{background:var(--ground);padding:80px 0 88px}
.bopen__in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:88px;align-items:center}
.bopen h1{font-size:clamp(44px,4.2vw,72px);line-height:1.04;margin:0 0 26px;text-wrap:balance}
.bopen__lead{font-size:19px;line-height:1.65;margin:0 0 32px;max-width:52ch}
.bopen__tablet{display:block;justify-self:center;width:100%;max-width:400px;aspect-ratio:3/4;border-radius:26px;padding:10px;box-shadow:0 34px 60px -32px rgba(51,38,29,.6)}
.bopen__tablet .screen{height:100%;border-radius:18px}
.bopen__tablet .screen img{height:auto}
.sv--breeders{padding-top:88px}
.sv__intro{max-width:760px;margin-bottom:40px}
.sv__intro h2{font-size:clamp(40px,3.4vw,56px);line-height:1.06;margin-bottom:16px}
.sv__intro p{margin:0;font-size:18.5px;max-width:56ch}
.sv__tabs--six{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px}
.sv__tabs--six .sv__tab{font-size:clamp(19px,1.45vw,23px);padding-right:12px}
.bstory{background:var(--ground);padding:104px 0}
.bstory__in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:80px;align-items:start}
.bstory h2{font-size:clamp(40px,3.4vw,56px);line-height:1.06}
.bstory__copy p{margin:0 0 14px;font-size:18px;max-width:56ch}
.bstory__quote{font-family:var(--serif);font-size:clamp(23px,1.8vw,28px) !important;line-height:1.3;color:var(--ink)}
.bstory__strip{margin-top:56px}
.bstory__strip img{width:100%;height:auto}
.bcost{background:var(--paper);padding:104px 0}
.bcost__in{max-width:900px}
.bcost h2{font-size:clamp(40px,3.4vw,56px);line-height:1.06;margin-bottom:32px}
.bcost__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);margin-bottom:28px}
.bcost__row div{padding:24px 0}
.bcost__row div + div{padding-left:40px;border-left:1px solid var(--rule)}
.bcost__row b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(46px,4vw,64px);line-height:1;color:var(--wine);margin-bottom:10px}
.bcost__row span{font-size:17px;color:var(--ink)}
.bcost__in > p:not(.kick){margin:0 0 12px;font-size:18px;max-width:60ch}
@media (max-width:900px){
  .bopen{padding:44px 0 52px}
  .bopen__in{grid-template-columns:1fr;gap:36px}
  .bopen h1{font-size:40px}
  .bopen__tablet{max-width:300px}
  .sv--breeders{padding-top:52px}
  .sv__tabs--six{grid-template-columns:1fr 1fr}
  .bstory,.bcost{padding:56px 0}
  .bstory__in{grid-template-columns:1fr;gap:24px}
  .bcost__row{grid-template-columns:1fr}
  .bcost__row div + div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
}
.bstory__pups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:56px}
.bstory__pups span{display:block;aspect-ratio:3/4;overflow:hidden}
.bstory__pups img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.bstory__pups{grid-template-columns:1fr 1fr;gap:12px;margin-top:32px}}

/* ---- Network News, October 2026 (network-news-v13-build.py): a short opening and a way back; the newsletter between keeps its own look ---- */
.nnopen{background:var(--ground);padding:80px 0 72px;border-bottom:1px solid var(--rule)}
.nnopen__in{max-width:980px}
.nnopen h1{font-size:clamp(50px,4.8vw,84px);line-height:1.02;margin:0 0 22px;text-wrap:balance}
.nnopen__in > p:not(.kick){font-size:19px;line-height:1.65;margin:0;max-width:52ch}
.nnback{background:var(--ground);padding:72px 0 80px;border-top:1px solid var(--rule)}
.nnback .close__doors{justify-content:center}
@media (max-width:900px){
  .nnopen{padding:44px 0 40px}
  .nnopen__in > p:not(.kick){font-size:17.5px}
  .nnback{padding:48px 0 56px}
}

/* ---- client words (21 Oct 2026): Work's "In their words" band and M&M's line on the puppies page ---- */
.words{background:var(--ground);padding:104px 0 96px;border-top:1px solid var(--rule)}
.words .kick{justify-content:center;text-align:center}
.words__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px;margin-top:40px;max-width:1120px;margin-left:auto;margin-right:auto}
.words__one{margin:0;padding-top:28px;border-top:1px solid var(--rule)}
.words__one blockquote,.bstory__said blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(23px,1.8vw,29px);line-height:1.32;color:var(--ink);text-wrap:pretty}
.words__one figcaption,.bstory__said figcaption{margin-top:18px;font-size:15px;letter-spacing:.04em;color:var(--ink)}
.bstory__said{margin:34px 0 30px;padding:26px 0 0;border-top:1px solid var(--rule)}
@media (max-width:900px){
  .words{padding:64px 0 60px}
  .words__row{grid-template-columns:1fr;gap:40px;margin-top:28px}
}

/* ---- Lookbooks: the Sentry lookbook with Tara's words (21 Oct 2026) ---- */
.lbsaid{padding:24px 0 96px}
.lbsaid__in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:72px;align-items:center}
.lbsaid__pic{margin:0;box-shadow:0 24px 48px -28px rgba(40,30,20,.35)}
.lbsaid__pic img{width:100%;height:auto}
.lbsaid__words{margin:0}
.lbsaid__words blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(28px,2.4vw,40px);line-height:1.2;color:var(--ink);text-wrap:balance}
.lbsaid__words figcaption{margin-top:20px;font-size:15px;letter-spacing:.04em;color:var(--ink)}
@media (max-width:900px){
  .lbsaid{padding:8px 0 56px}
  .lbsaid__in{grid-template-columns:1fr;gap:32px}
}
/* 27 Oct 2026: the Betty Blu Valentine's & Spring flyer, front and back, full width under the lookbook row */
.w-look__feature{margin-top:64px}
.w-look__feature .pc__img{aspect-ratio:8/5}
@media (max-width:760px){.w-look__feature{margin-top:36px}}
/* 27 Oct 2026, Design & marketing calmed (Carrie: "this grouping is too busy"): three pieces in one row, same height, no staggering */
.w-wall--three{grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,3fr);gap:32px;align-items:start}
.w-wall--three .pc:nth-child(n){grid-column:auto;margin-top:0}
.w-wall--three .pc--wide .pc__img{aspect-ratio:4/3}
.w-wall--three .pc--tall .pc__img{aspect-ratio:2/3}
@media (max-width:760px){.w-wall--three{grid-template-columns:1fr 1fr}.w-wall--three .pc--wide{grid-column:1 / -1}}
/* 27 Oct 2026: Privacy policy and Terms, one quiet reading column */
.legal{padding:72px 0 112px}
.legal__in{max-width:760px}
.legal h1{font-family:var(--serif,inherit);font-weight:400;font-size:clamp(40px,5vw,60px);line-height:1.05;margin:10px 0 8px}
.legal__date{font-family:var(--ui,inherit);font-size:13px;letter-spacing:.06em;color:#8A7F74;margin:0 0 40px}
.legal__body h3{font-family:var(--ui,inherit);font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin:40px 0 10px}
.legal__body p,.legal__body li{font-size:18px;line-height:1.7;margin:0 0 14px}
.legal__body ul{padding-left:20px;margin:0 0 14px}
.legal__body a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:760px){.legal{padding:44px 0 72px}.legal__body p,.legal__body li{font-size:17px}}
