/* Each portfolio keeps its own identity, with an editorial structure for its work. */
.client-voice { border-block:1px solid var(--line,#ffffff30); padding:40px 0; scroll-margin-top:28px; }
.client-voice * { box-sizing:border-box; }
.voice-wrap { width:min(1200px,calc(100% - 96px)); margin-inline:auto; }
.voice-heading { min-width:0; }
.voice-eyebrow,.voice-service { margin:0 0 12px; font-size:9px; font-weight:650; line-height:1.65; letter-spacing:.11em; text-transform:uppercase; }
.client-voice h2 { margin:0 0 22px; font-size:clamp(36px,4.2vw,58px); line-height:1.05; letter-spacing:-.025em; text-wrap:balance; }
.voice-intro { margin:0; max-width:54ch; font-size:14px; line-height:1.8; }
.voice-aside { margin:16px 0 0; max-width:53ch; font-size:12px; line-height:1.8; opacity:.8; }
.voice-note { min-width:0; }
.client-voice .voice-note h3 { margin:0 0 10px; font-size:25px; line-height:1.16; font-weight:500; letter-spacing:-.02em; }
.voice-note>p:last-child { margin:0; font-size:12px; line-height:1.85; }
.voice-note .voice-service { margin:0 0 9px; }
.voice-website { min-width:0; margin:0; }
.voice-website>a { display:block; overflow:hidden; border:1px solid currentColor; border-radius:0; color:inherit; text-decoration:none; }
.voice-browser { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 13px; font:500 9px/1.5 'DM Sans',Arial,sans-serif; border-bottom:1px solid currentColor; overflow-wrap:anywhere; }
.voice-browser>span { flex:none; font-size:13px; }
.voice-website img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; object-position:top; }
.voice-website figcaption { position:static; padding:11px 0 0; margin:0; font-size:10px; line-height:1.7; color:inherit; background:none; opacity:.8; }
.voice-website a:focus-visible { outline:3px solid currentColor; outline-offset:5px; }

/* Casa reads like a café menu: warm paper, an open invitation, short selections. */
.voice-casa { background:var(--surface); padding-block:36px; }
.casa-menu { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px 66px; padding:30px 34px; border-block:3px double var(--accent); }
.voice-casa .voice-heading { grid-column:1; }
.voice-casa h2 { font-family:var(--serif); font-weight:500; font-size:clamp(36px,4vw,53px); }
.voice-casa .voice-eyebrow,.voice-casa .voice-service { color:var(--ink); }
.voice-casa .voice-website { grid-column:1; width:100%; max-width:430px; }
.casa-menu-items { grid-column:2; grid-row:1 / span 2; border-left:1px solid var(--line); padding-left:35px; }
.casa-menu-items .voice-note { padding:19px 0; border-bottom:1px solid var(--line); }
.casa-menu-items .voice-note:first-child { padding-top:0; }
.casa-menu-items .voice-note:last-child { border-bottom:0; padding-bottom:0; }
.voice-casa .voice-note h3 { font-family:var(--serif); font-size:29px; }
.voice-casa .voice-service { font-size:8px; }
.voice-casa .voice-website>a { background:var(--bg); border-color:var(--line); }
.voice-casa .voice-browser { border-color:var(--line); }
.casa-expanded .casa-collection-intro>span { font-style:italic; }

/* Skybox has the direct scale and clear divisions of a game-night board. */
.voice-skybox { padding-top:34px; border-top:4px solid var(--accent); }
.skybox-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:45px; align-items:end; margin-bottom:30px; }
.voice-skybox h2 { font-family:var(--serif); text-transform:uppercase; font-weight:700; font-size:clamp(43px,5vw,70px); line-height:.97; margin-bottom:0; }
.voice-skybox .voice-eyebrow,.voice-skybox .voice-service { color:var(--accent); }
.skybox-heading .voice-intro { font-size:13px; max-width:48ch; }
.skybox-digital { display:grid; grid-template-columns:1.15fr 1fr; gap:40px; align-items:center; background:var(--surface); padding:24px; border:1px solid var(--line); }
.skybox-digital .voice-website { max-width:540px; }
.skybox-digital .voice-website>a,.skybox-digital .voice-browser { border-color:var(--line); }
.skybox-digital-copy h3 { margin:0 0 15px; font:700 clamp(29px,3.3vw,43px)/1.02 var(--serif); text-transform:uppercase; }
.skybox-digital-copy>p:last-child { max-width:43ch; margin:0; font-size:12px; line-height:1.9; }
.skybox-game-plan { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:27px; }
.skybox-game-plan .voice-note { border-top:2px solid var(--accent); padding-top:17px; }
.voice-skybox .voice-note h3 { font-family:var(--serif); text-transform:uppercase; font-weight:700; font-size:28px; }
.world-skybox .world-services { font:700 25px/1.1 var(--serif); letter-spacing:.12em; color:var(--accent); margin:22px 0; }

/* Penny's court journal is a readable page inside her green-and-pink world. */
.voice-penny { border-color:#527967; padding-block:38px; }
.penny-journal { color:var(--penny-ink); background:var(--penny-paper); padding:34px 40px; border-top:6px solid var(--penny-pink); }
.voice-penny .voice-heading { display:grid; grid-template-columns:1.05fr 1fr; gap:0 55px; align-items:end; padding-bottom:26px; border-bottom:1px solid #164c3b35; }
.voice-penny .voice-eyebrow { grid-column:1/-1; color:var(--penny-ink); }
.voice-penny h2 { font:400 clamp(38px,4.4vw,62px)/1.04 'Instrument Serif',Georgia,serif; letter-spacing:-.025em; margin:0; }
.voice-penny .voice-intro { max-width:43ch; font-size:13px; }
.penny-journal-content { display:grid; grid-template-columns:1fr 1.08fr; gap:42px; padding-top:26px; align-items:center; }
.penny-journal-notes .voice-note { padding:0 0 20px 18px; border-left:3px solid var(--penny-pink); }
.penny-journal-notes .voice-note:last-child { padding-bottom:0; }
.voice-penny .voice-note h3 { font:500 18px/1.3 'Manrope',Arial,sans-serif; letter-spacing:-.035em; }
.voice-penny .voice-service { font-size:8px; }
.voice-penny .voice-website>a,.voice-penny .voice-browser { border-color:#164c3b45; }
.penny-world .penny-index-strip { letter-spacing:.08em; }

/* H Wellness gives the care and the practical appointment information equal weight. */
.voice-hwellness { border-top:1px solid var(--accent); padding-block:42px; }
.care-heading { display:grid; grid-template-columns:1fr 1fr; column-gap:65px; align-items:end; margin-bottom:30px; }
.care-heading .voice-eyebrow { grid-column:1/-1; color:var(--accent); }
.voice-hwellness h2 { font-family:var(--serif); font-weight:500; font-size:clamp(44px,4.5vw,63px); margin-bottom:0; }
.care-heading .voice-intro { max-width:43ch; font-size:14px; }
.care-experience { display:grid; grid-template-columns:.9fr 1.1fr; gap:65px; align-items:center; }
.care-notes .voice-note { border-top:1px solid var(--line); padding:20px 0; }
.care-notes .voice-note:last-child { padding-bottom:0; }
.voice-hwellness .voice-note h3 { font-family:var(--serif); font-size:30px; font-weight:500; }
.voice-hwellness .voice-service { color:var(--ink); font-size:8px; letter-spacing:.08em; }
.voice-hwellness .voice-website { padding:18px; background:var(--surface); border:1px solid var(--line); }
.voice-hwellness .voice-website>a,.voice-hwellness .voice-browser { border-color:var(--line); }
.world-h-wellness .world-summary { border-left:1px solid var(--accent); padding-left:26px; }

/* Sunday Blitz uses a production rundown, with the show's actual site alongside it. */
.voice-blitz { padding-block:38px; border-top:4px solid var(--red); }
.blitz-rundown-heading { display:grid; grid-template-columns:1.12fr 1fr; gap:45px; align-items:end; margin-bottom:28px; }
.voice-blitz .voice-eyebrow,.voice-blitz .voice-service { color:var(--red-text); }
.voice-blitz h2 { font:400 clamp(40px,4.9vw,67px)/.95 'Blitz Display',Impact,sans-serif; margin:0; letter-spacing:0; text-transform:uppercase; }
.blitz-rundown-heading .voice-intro { font-size:12px; max-width:48ch; line-height:1.9; }
.blitz-rundown { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:center; }
.blitz-rundown-notes { border-top:1px solid var(--line); }
.blitz-rundown .voice-note { display:grid; grid-template-columns:.8fr 1.2fr; gap:4px 21px; padding:18px 0; border-bottom:1px solid var(--line); }
.blitz-rundown .voice-service { grid-column:1/-1; font-size:8px; margin-bottom:4px; }
.voice-blitz .voice-note h3 { font:400 27px/1.02 'Blitz Display',Impact,sans-serif; letter-spacing:0; text-transform:uppercase; margin:0; }
.blitz-rundown .voice-note>p:last-child { font-size:11px; line-height:1.8; }
.voice-blitz .voice-website>a { border-color:#ffffff40; }
.voice-blitz .voice-browser { border-color:#ffffff30; background:#16191f; }
.voice-blitz .voice-website figcaption { color:#c6c9d0; }

@media(max-width:1050px) {
  .voice-wrap { width:calc(100% - 56px); }
  .casa-menu { padding:25px; column-gap:35px; }
  .casa-menu-items { padding-left:25px; }
  .skybox-heading,.skybox-digital,.care-heading,.care-experience,.blitz-rundown-heading,.blitz-rundown { column-gap:30px; }
  .penny-journal { padding:29px; }
  .voice-penny .voice-heading,.penny-journal-content { column-gap:30px; }
  .blitz-rundown .voice-note { grid-template-columns:1fr; gap:8px; }
}
@media(max-width:760px) {
  .client-voice { padding-block:28px; }
  .voice-wrap { width:calc(100% - 38px); }
  .client-voice h2 { font-size:clamp(34px,9vw,46px); }
  .voice-intro { font-size:13px; line-height:1.8; }
  .casa-menu,.skybox-heading,.skybox-digital,.skybox-game-plan,.voice-penny .voice-heading,.penny-journal-content,.care-heading,.care-experience,.blitz-rundown-heading,.blitz-rundown { grid-template-columns:1fr; gap:24px; }
  .casa-menu { padding:21px 0; }
  .voice-casa .voice-heading,.voice-casa .voice-website,.casa-menu-items { grid-column:1; grid-row:auto; }
  .casa-menu-items { padding-left:0; border-left:0; }
  .voice-casa .voice-website { max-width:none; }
  .casa-menu-items .voice-note { padding-block:18px; }
  .voice-casa .voice-note h3 { font-size:27px; }
  .skybox-heading { margin-bottom:23px; }
  .skybox-digital { padding:17px; }
  .skybox-digital-copy h3 { font-size:34px; }
  .skybox-game-plan { margin-top:24px; gap:21px; }
  .skybox-game-plan .voice-note { padding-top:15px; }
  .penny-journal { padding:23px 20px; }
  .voice-penny .voice-heading { row-gap:15px; padding-bottom:23px; }
  .voice-penny .voice-eyebrow { margin-bottom:0; }
  .penny-journal-content { padding-top:23px; }
  .voice-penny .voice-website { grid-row:2; }
  .care-heading { margin-bottom:23px; row-gap:15px; }
  .care-heading .voice-eyebrow { margin-bottom:0; }
  .care-experience { gap:25px; }
  .voice-hwellness .voice-website { padding:13px; }
  .blitz-rundown-heading { margin-bottom:23px; }
  .blitz-rundown { gap:25px; }
  .blitz-rundown .voice-note { padding-block:17px; }
  .voice-blitz .voice-note h3 { font-size:28px; }
  .world-h-wellness .world-summary { padding-left:18px; }
}
