.editorial-home {
  --paper: #f4f0e9;
  --paper-light: #faf8f3;
  --ink: #20201e;
  --muted: #77736c;
  --line: #d5cec4;
  --accent: #c94734;
  --accent-deep: #ad3828;
  color: var(--ink);
  background:
    radial-gradient(circle at 88% 5%, rgba(215, 201, 181, .26), transparent 25rem),
    linear-gradient(115deg, #f7f4ee 0%, var(--paper) 54%, #eee9e1 100%);
}

/* Lightweight loading surfaces prevent broken-image icons and layout jumps. */
.editorial-home main img[data-loading="true"],
.editorial-home main img[data-loading="failed"] {
  opacity: 0;
}
.editorial-home main img {
  transition: opacity .28s ease;
}
.editorial-home .portrait-photo,
.editorial-home .ppt-player,
.editorial-home .poster-card,
.editorial-home .brochure-showcase,
.editorial-home .portfolio-showcase,
.editorial-home .birthday-preview {
  background: linear-gradient(110deg, rgba(225,219,209,.75) 8%, rgba(247,244,238,.95) 28%, rgba(225,219,209,.75) 46%);
  background-size: 220% 100%;
  animation: osprey-loading 1.6s ease-in-out infinite;
}
@keyframes osprey-loading {
  to { background-position-x: -220%; }
}
@media (prefers-reduced-motion: reduce) {
  .editorial-home .portrait-photo,
  .editorial-home .ppt-player,
  .editorial-home .poster-card,
  .editorial-home .brochure-showcase,
  .editorial-home .portfolio-showcase,
  .editorial-home .birthday-preview { animation: none; }
}

/* Refined navigation, opening portrait and personal introduction */
.editorial-home .menu-button { width: 22px; height: 9px; }
.editorial-home .hero-avatar { position: absolute; z-index: 3; right: 3%; top: 24px; margin: 0; width: 118px; }
.editorial-home .hero-avatar img { display: block; width: 104px; aspect-ratio: 1; margin-left: auto; border-radius: 50%; object-fit: cover; object-position: 50% 36%; box-shadow: 0 0 0 7px var(--paper),0 0 0 8px var(--line); }
.editorial-home .hero-avatar figcaption { margin-top: 13px; text-align: right; color: #6c675f; font-size: 9px; line-height: 1.5; letter-spacing: .25em; }
.editorial-home .personal-card { display: grid; grid-template-columns: 72px minmax(0,.9fr) minmax(300px,1.1fr); gap: 44px; align-items: center; padding-block: 100px; border-top: 1px solid var(--line); }
.editorial-home .about-index { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; padding-right: 18px; border-right: 1px solid var(--line); color: var(--accent); }
.editorial-home .about-index span { writing-mode: vertical-rl; font-size: 10px; letter-spacing: .28em; }
.editorial-home .about-index strong { font: 400 28px/1 Georgia,serif; }
.editorial-home .personal-card .portrait-photo { width: 100%; margin: 0; }
.editorial-home .personal-card .portrait-photo img { width: 100%; aspect-ratio: 1.05; object-fit: cover; object-position: 50% 34%; filter: none; }
.editorial-home .personal-card .portrait-photo figcaption { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); color: #777168; font: italic 15px Georgia,"Noto Serif SC",serif; }
.editorial-home .personal-card h2 { margin: 12px 0 24px; font-size: clamp(42px,5vw,64px); line-height: 1.08; letter-spacing: -.06em; }
.editorial-home .personal-card p { max-width: 460px; color: #625e57; line-height: 1.9; font-size: 17px; }
.editorial-home .about-signature { margin-top: 30px; color: var(--accent); font: italic 25px Georgia,serif; }
.editorial-home .about-signature small { display: block; margin-top: 8px; color: var(--muted); font: 10px/1.4 Arial,sans-serif; letter-spacing: .22em; }

@media (max-width: 760px) {
  .editorial-home .hero-avatar { right: 3px; top: 27px; width: 79px; }
  .editorial-home .hero-avatar img { width: 68px; box-shadow: 0 0 0 5px var(--paper),0 0 0 6px var(--line); }
  .editorial-home .hero-avatar figcaption { margin-top: 9px; font-size: 7px; }
  .editorial-home .personal-card { grid-template-columns: 34px 1fr; gap: 18px 20px; padding-block: 68px; align-items: start; }
  .editorial-home .about-index { grid-row: 1 / span 2; padding-right: 10px; }
  .editorial-home .about-index strong { font-size: 20px; }
  .editorial-home .about-copy { grid-column: 2; }
  .editorial-home .personal-card h2 { font-size: 42px; margin: 10px 0 18px; }
  .editorial-home .personal-card p { font-size: 15px; }
  .editorial-home .about-signature { margin-top: 22px; font-size: 21px; }
  .editorial-home .personal-card .portrait-photo { grid-column: 2; margin-top: 8px; }
  .editorial-home .personal-card .portrait-photo img { aspect-ratio: 1.16; }
}

/* Mobile line control and balanced service/contact spacing */
.editorial-home .service-ppt .card-copy,
.editorial-home .service-video .card-copy { padding-bottom: 12px; }
.editorial-home .service-ppt .card-copy > p,
.editorial-home .service-video .card-copy > p { max-width: 830px; }
.editorial-home .editorial-contact .qr-image { display: grid; place-items: center; width: 200px; padding: 10px; background: #fff; }
.editorial-home .editorial-contact .qr-image img { display: block; width: 180px; height: 180px; object-fit: cover; }
@media (max-width: 760px) {
  .editorial-home .editorial-hero h1 { font-size: clamp(43px,12.15vw,52px); letter-spacing: -.07em; }
  .editorial-home .editorial-hero h1 > span { white-space: nowrap; }
  .editorial-home .editorial-hero h1 > span:nth-child(2) { margin-left: 7%; }
  .editorial-home .service-ppt .card-copy,
  .editorial-home .service-video .card-copy { padding-top: 20px; padding-bottom: 18px; }
  .editorial-home .service-ppt .card-copy > p,
  .editorial-home .service-video .card-copy > p { line-height: 1.9; margin-bottom: 24px; }
  .editorial-home .editorial-contact .qr-image { width: min(100%,220px); padding: 12px; }
  .editorial-home .editorial-contact .qr-image img { width: 100%; height: auto; }
}

/* Handwritten closing statement and fullscreen video controls */
.editorial-home .video-actions > div { display: flex; gap: 8px; }
.editorial-home .contact-closing { max-width: 760px; font-family: "STKaiti","KaiTi","Kaiti SC","FZKai-Z03",cursive; font-size: 22px; line-height: 1.75; font-weight: 400; letter-spacing: .02em; }
.editorial-home .contact-closing span { display: block; }
@media (max-width: 760px) {
  .editorial-home .video-actions { align-items: flex-start; }
  .editorial-home .video-actions > div { flex-direction: column; gap: 6px; }
  .editorial-home .video-actions button { min-height: 38px; padding: 5px 10px; font-size: 12px; }
  .editorial-home .contact-closing { max-width: 310px; font-size: 18px; line-height: 1.85; }
  .editorial-home .contact-closing span { white-space: nowrap; }
}
@media (max-width: 360px) {
  .editorial-home .contact-closing { font-size: 16px; }
}

.editorial-home .wrap {
  width: min(1120px, calc(100% - 64px));
  margin-inline: auto;
}

.editorial-home .site-header {
  position: relative;
  z-index: 20;
  background: transparent;
  border: 0;
}

.editorial-home .header-inner {
  min-height: 92px;
  border-bottom: 1px solid var(--line);
}

.editorial-home .brand-mark { background: var(--accent); }
.editorial-home .brand-title { font-weight: 760; }
.editorial-home .header-nav { gap: 36px; }
.editorial-home .header-nav a { font-size: 16px; color: var(--ink); }

.editorial-home .menu-mark {
  width: 30px;
  height: 22px;
  display: grid;
  align-content: space-between;
  margin-left: 4px;
}

.editorial-home .menu-mark span {
  display: block;
  height: 1px;
  background: var(--ink);
}

.editorial-home .hero {
  min-height: 760px;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, .94fr);
  gap: 30px;
  align-items: center;
  padding-block: 62px 76px;
  border-bottom: 1px solid var(--line);
}

.editorial-home .hero-copy { position: relative; z-index: 2; }
.editorial-home .eyebrow { margin: 0 0 12px; color: var(--muted); font-size: 18px; }

.editorial-home .hero-disciplines,
.editorial-home .service-kicker,
.editorial-home .section-meta,
.editorial-home .visual-words,
.editorial-home .scroll-cue,
.editorial-home .contact-en {
  text-transform: uppercase;
  letter-spacing: .25em;
  font-size: 11px;
  line-height: 1.65;
}

.editorial-home .hero-disciplines { color: #6d6860; margin-bottom: 46px; }
.editorial-home .hero-disciplines span { display: block; }

.editorial-home .hero h1 {
  margin: 0;
  font-size: clamp(62px, 7.1vw, 104px);
  line-height: .99;
  letter-spacing: -.075em;
  font-weight: 820;
}

.editorial-home .hero h1 span { display: block; width: fit-content; }
.editorial-home .hero h1 span:nth-child(2) { margin-left: 7%; }
.editorial-home .hero h1 .hero-highlight {
  margin-top: 20px;
  margin-left: 0;
  padding: .13em .18em .18em .12em;
  color: white;
  background: var(--accent);
  box-shadow: 14px 13px 0 rgba(60, 42, 30, .12);
  font-size: .8em;
  letter-spacing: -.06em;
}

.editorial-home .hero-intro {
  max-width: 520px;
  margin: 38px 0 28px;
  color: #69655f;
  font-size: 20px;
  line-height: 1.75;
}

.editorial-home .hero-intro span { display: block; }
.editorial-home .primary-link,
.editorial-home .copy-wechat {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 52px;
  min-width: 326px;
  min-height: 68px;
  padding: 0 28px;
  color: white;
  background: var(--accent);
  border: 1px solid var(--accent);
  border-radius: 2px;
  text-decoration: none;
  font-size: 18px;
}

.editorial-home .primary-link:hover,
.editorial-home .copy-wechat:hover { background: var(--accent-deep); }
.editorial-home .scroll-cue { display: flex; align-items: center; gap: 14px; margin-top: 48px; }
.editorial-home .scroll-dot { width: 48px; height: 48px; border: 1px solid var(--ink); border-radius: 50%; position: relative; }
.editorial-home .scroll-dot::after { content: ""; position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--ink); inset: 0; margin: auto; }

.editorial-home .hero-collage { position: relative; min-height: 650px; }
.editorial-home .hero-collage::after {
  content: "";
  position: absolute;
  width: 310px;
  height: 155px;
  border: 2px solid var(--accent);
  border-radius: 50%;
  right: 1%;
  bottom: 80px;
  transform: rotate(-30deg);
  z-index: 5;
}

.editorial-home .collage-portrait,
.editorial-home .collage-detail { position: absolute; object-fit: cover; box-shadow: 0 12px 32px rgba(37, 30, 24, .12); }
.editorial-home .collage-portrait { width: 58%; height: 62%; right: 5%; top: 16%; filter: grayscale(1); }
.editorial-home .collage-detail.one { width: 37%; aspect-ratio: .82; left: 2%; bottom: 15%; }
.editorial-home .collage-detail.two { width: 49%; aspect-ratio: 1.25; right: 0; bottom: 0; }
.editorial-home .collage-red { position: absolute; width: 110px; height: 110px; background: var(--accent); bottom: 2%; left: 21%; }
.editorial-home .visual-words { position: absolute; right: -2%; top: 42%; color: #48443f; z-index: 4; }
.editorial-home .visual-words span { display: block; margin-bottom: 10px; }
.editorial-home .script-note { position: absolute; right: 15%; top: 2%; z-index: 5; color: var(--accent); font: italic 42px/1.02 Georgia, serif; transform: rotate(-7deg); }

.editorial-home .services { padding-block: 70px 110px; }
.editorial-home .section-heading {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: end;
  margin-bottom: 44px;
}
.editorial-home .section-index { color: var(--accent); font-size: 18px; }
.editorial-home .section-heading h2 { margin: 16px 0 10px; font-size: clamp(38px, 5vw, 64px); line-height: 1.05; letter-spacing: -.05em; }
.editorial-home .section-heading p { margin: 0; color: var(--muted); font-size: 18px; }
.editorial-home .section-meta { width: 130px; padding-bottom: 9px; }

.editorial-home .service-list { display: grid; gap: 88px; }
.editorial-home .service-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 0 !important;
  padding: 30px !important;
  background: rgba(250, 248, 243, .78) !important;
  border: 1px solid rgba(199, 190, 179, .82) !important;
  border-radius: 4px !important;
  box-shadow: 0 24px 60px rgba(74, 60, 48, .06) !important;
  overflow: hidden;
}
.editorial-home .service-card > * { min-width: 0; }
.editorial-home .service-heading { order: 1; display: flex; align-items: baseline; gap: 22px; margin: 0 0 4px; }
.editorial-home .service-heading .service-number { color: var(--accent); font-size: 19px; flex: 0 0 auto; }
.editorial-home .service-heading h3 { margin: 0; font-size: clamp(32px, 4vw, 54px); line-height: 1.1; letter-spacing: -.04em; }
.editorial-home .service-kicker { order: 2; margin: 0 0 24px 52px; color: #69645c; }
.editorial-home .ppt-player,
.editorial-home .poster-carousel,
.editorial-home .brochure-composition,
.editorial-home .portfolio-stage,
.editorial-home .birthday-preview { order: 3; }
.editorial-home .work-caption { order: 4; margin: 12px 0 0; color: #736e66; }
.editorial-home .card-copy { order: 5; padding: 24px 0 0 !important; }
.editorial-home .card-copy > .service-number,
.editorial-home .card-copy > h3 { display: none; }
.editorial-home .service-desc { margin: 0 0 20px; max-width: 720px; color: #5f5a53; font-size: 17px; line-height: 1.75; }
.editorial-home .card-action-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.editorial-home .price { font-size: 29px; font-weight: 760; }
.editorial-home .price small { font-size: 14px; font-weight: 400; }
.editorial-home .detail-link { color: var(--accent); }
.editorial-home .tag-list { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.editorial-home .tag-list span { padding: 7px 12px; border: 1px solid var(--line); border-radius: 3px; color: #59554f; background: rgba(255,255,255,.32); font-size: 13px; }
.editorial-home .service-quote { margin: 30px 0 0; padding-top: 22px; border-top: 1px solid var(--line); font: 20px/1.7 Georgia, "Noto Serif SC", serif; color: #514d47; }
.editorial-home .ppt-player video,
.editorial-home .birthday-preview img { width: 100%; max-height: 620px; object-fit: cover; border-radius: 2px; }

.editorial-home .poster-carousel { overflow: hidden; }
.editorial-home .poster-track { display: flex; gap: 20px; transition: transform .45s ease; }
.editorial-home .poster-slide { flex: 0 0 34%; aspect-ratio: 3/4; overflow: hidden; background: #e7e1d7; }
.editorial-home .poster-slide img { width: 100%; height: 100%; object-fit: cover; }
.editorial-home .poster-controls { margin-top: 14px; }

.editorial-home .brochure-composition {
  position: relative;
  min-height: 590px;
  background: linear-gradient(135deg, #e5ded2, #f2eee7);
  overflow: hidden;
}
.editorial-home .brochure-composition img { position: absolute; object-fit: cover; box-shadow: 0 18px 42px rgba(42, 33, 25, .2); }
.editorial-home .brochure-cover { width: 42%; height: 78%; left: 15%; top: 11%; z-index: 3; transform: rotate(-2deg); }
.editorial-home .brochure-page.one { width: 36%; height: 62%; right: 15%; top: 17%; transform: rotate(4deg); z-index: 2; }
.editorial-home .brochure-page.two { width: 28%; height: 48%; right: 3%; bottom: 4%; transform: rotate(8deg); z-index: 1; }

.editorial-home .portfolio-stage { position: relative; min-height: 610px; background: #e9e4db; overflow: hidden; }
.editorial-home .portfolio-stage::before { content: "把经历，变成可以被看见的专业价值。"; position: absolute; left: 5%; top: 9%; width: 180px; z-index: 4; font: 24px/1.55 Georgia, "Noto Serif SC", serif; }
.editorial-home .portfolio-portrait { position: absolute; right: 7%; top: 7%; width: 44%; height: 66%; object-fit: cover; }
.editorial-home .portfolio-book { position: absolute; left: 18%; bottom: 4%; width: 57%; max-height: 42%; object-fit: cover; box-shadow: 0 16px 34px rgba(42, 33, 25, .18); }

.editorial-home .about { padding-block: 86px; border-top: 1px solid var(--line); }
.editorial-home .about-card { display: grid; grid-template-columns: 220px 1fr; gap: 42px; align-items: center; }
.editorial-home .about-card img { width: 100%; aspect-ratio: .82; object-fit: cover; filter: grayscale(.25); }
.editorial-home .about-card h2 { font-size: 42px; margin: 0 0 18px; }
.editorial-home .about-card p { color: #625e57; line-height: 1.9; font-size: 17px; }

.editorial-home .contact { padding-block: 82px 110px; border-top: 1px solid var(--line); }
.editorial-home .contact-heading { display: flex; justify-content: space-between; align-items: start; gap: 24px; }
.editorial-home .contact h2 { margin: 0; font-size: clamp(48px, 7vw, 82px); letter-spacing: -.055em; }
.editorial-home .contact-en { color: var(--accent); font: italic 32px/1.1 Georgia, serif; letter-spacing: 0; text-transform: none; transform: rotate(-5deg); }
.editorial-home .contact-intro { margin: 14px 0 26px; color: #5e5a54; font-size: 18px; line-height: 1.8; }
.editorial-home .contact-panel { display: grid; grid-template-columns: 1fr auto; gap: 30px; padding: 28px; border: 1px solid var(--line); background: rgba(255,255,255,.35); }
.editorial-home .wechat-id { font-size: 20px; font-weight: 700; }
.editorial-home .contact-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.editorial-home .contact-actions button { min-height: 48px; }
.editorial-home .qr-visual img { width: 180px; height: 180px; object-fit: cover; }
.editorial-home footer { border-top: 1px solid var(--line); background: transparent; }

@media (max-width: 760px) {
  .editorial-home .wrap { width: min(100% - 34px, 680px); }
  .editorial-home .header-inner { min-height: 76px; }
  .editorial-home .brand-mark { width: 38px; height: 48px; }
  .editorial-home .brand-title { font-size: 17px; }
  .editorial-home .brand-subtitle { font-size: 10px; }
  .editorial-home .header-nav { gap: 20px; }
  .editorial-home .header-nav a { font-size: 13px; }
  .editorial-home .menu-mark { width: 23px; height: 18px; }
  .editorial-home .hero { display: block; min-height: 0; padding-block: 42px 58px; overflow: hidden; }
  .editorial-home .eyebrow { font-size: 16px; }
  .editorial-home .hero-disciplines { margin-bottom: 34px; font-size: 9px; }
  .editorial-home .hero h1 { font-size: clamp(48px, 14.2vw, 72px); line-height: 1.03; }
  .editorial-home .hero h1 span:nth-child(2) { margin-left: 9%; }
  .editorial-home .hero h1 .hero-highlight { margin-top: 14px; font-size: .69em; box-shadow: 8px 8px 0 rgba(60,42,30,.1); }
  .editorial-home .hero-intro { margin-top: 30px; font-size: 17px; line-height: 1.75; }
  .editorial-home .primary-link { width: min(100%, 310px); min-width: 0; min-height: 60px; }
  .editorial-home .scroll-cue { display: none; }
  .editorial-home .hero-collage { min-height: 440px; margin-top: 30px; }
  .editorial-home .collage-portrait { width: 55%; height: 63%; right: 2%; top: 9%; }
  .editorial-home .collage-detail.one { width: 35%; left: 3%; bottom: 15%; }
  .editorial-home .collage-detail.two { width: 48%; bottom: 0; }
  .editorial-home .script-note { right: 5%; font-size: 30px; }
  .editorial-home .visual-words { right: -4%; top: 38%; font-size: 8px; }
  .editorial-home .hero-collage::after { width: 230px; height: 108px; bottom: 44px; }
  .editorial-home .collage-red { width: 72px; height: 72px; }
  .editorial-home .services { padding-block: 52px 78px; }
  .editorial-home .section-heading { display: block; margin-bottom: 28px; }
  .editorial-home .section-heading h2 { font-size: 40px; }
  .editorial-home .section-heading p { font-size: 15px; line-height: 1.7; }
  .editorial-home .section-meta { margin-top: 18px; }
  .editorial-home .service-list { gap: 64px; }
  .editorial-home .service-card { padding: 17px !important; }
  .editorial-home .service-heading { gap: 12px; }
  .editorial-home .service-heading .service-number { font-size: 15px; }
  .editorial-home .service-heading h3 { font-size: 27px; }
  .editorial-home .service-kicker { margin: 5px 0 19px 39px; font-size: 9px; }
  .editorial-home .card-copy { padding-top: 18px !important; }
  .editorial-home .service-desc { font-size: 15px; margin-bottom: 14px; }
  .editorial-home .price { font-size: 24px; }
  .editorial-home .detail-link { font-size: 14px; }
  .editorial-home .tag-list { margin-top: 17px; gap: 7px; }
  .editorial-home .tag-list span { padding: 6px 9px; font-size: 11px; }
  .editorial-home .service-quote { margin-top: 22px; padding-top: 17px; font-size: 17px; }
  .editorial-home .poster-track { gap: 12px; }
  .editorial-home .poster-slide { flex-basis: 79%; }
  .editorial-home .brochure-composition { min-height: 420px; }
  .editorial-home .brochure-cover { width: 50%; height: 75%; left: 7%; }
  .editorial-home .brochure-page.one { width: 43%; height: 58%; right: 6%; top: 19%; }
  .editorial-home .brochure-page.two { width: 34%; height: 42%; right: -4%; }
  .editorial-home .portfolio-stage { min-height: 450px; }
  .editorial-home .portfolio-stage::before { width: 120px; font-size: 17px; }
  .editorial-home .portfolio-portrait { width: 51%; height: 58%; right: 3%; }
  .editorial-home .portfolio-book { left: 8%; width: 72%; max-height: 39%; }
  .editorial-home .about { padding-block: 66px; }
  .editorial-home .about-card { grid-template-columns: 112px 1fr; gap: 20px; align-items: start; }
  .editorial-home .about-card h2 { font-size: 31px; margin-bottom: 10px; }
  .editorial-home .about-card p { margin: 0; font-size: 14px; line-height: 1.75; }
  .editorial-home .contact { padding-block: 64px 90px; }
  .editorial-home .contact h2 { font-size: 48px; }
  .editorial-home .contact-en { font-size: 22px; }
  .editorial-home .contact-panel { grid-template-columns: 1fr; padding: 18px; }
  .editorial-home .contact-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .editorial-home .contact-actions button { width: 100%; }
  .editorial-home .copy-wechat { min-width: 0; }
  .editorial-home .qr-visual { justify-self: center; }
}

@media (max-width: 420px) {
  .editorial-home .header-nav a:first-child { display: none; }
  .editorial-home .hero h1 { font-size: 13.6vw; }
  .editorial-home .service-heading h3 { font-size: 25px; }
  .editorial-home .card-action-row { align-items: flex-end; }
}

@media (prefers-reduced-motion: reduce) {
  .editorial-home * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Current homepage markup */
.editorial-home > header { position: relative; z-index: 20; background: transparent; border: 0; }
.editorial-home > header nav { min-height: 92px; border-bottom: 1px solid var(--line); }
.editorial-home .navlinks { gap: 36px; }
.editorial-home .navlinks a { color: var(--ink); }
.editorial-home .menu-button { width: 25px; height: 15px; display: grid; align-content: space-between; }
.editorial-home .menu-button span { display: block; width: 100%; height: 1px; background: var(--ink); }

.editorial-home .editorial-hero { min-height: 760px; grid-template-columns: minmax(0,1.06fr) minmax(360px,.94fr); padding-block: 62px 76px; }
.editorial-home .editorial-hero { display: block; min-height: 0; }
.editorial-home .editorial-hero .hero-copy { max-width: 920px; }
.editorial-home .editorial-hero .hero-intro { margin: 0 0 46px; font-size: 18px; color: var(--muted); }
.editorial-home .editorial-hero .hero-intro span { display: block; }
.editorial-home .editorial-hero .hero-intro small { display: block; margin-top: 12px; font-size: 11px; line-height: 1.65; letter-spacing: .25em; }
.editorial-home .editorial-hero h1 { font-size: clamp(62px,7.1vw,104px); line-height: .99; letter-spacing: -.075em; }
.editorial-home .editorial-hero h1 > span { display: block; width: fit-content; }
.editorial-home .editorial-hero h1 > span:nth-child(2) { margin-left: 7%; }
.editorial-home .editorial-hero h1 .accent { margin-top: 20px; padding: .13em .18em .18em .12em; color: #fff; background: var(--accent); box-shadow: 14px 13px 0 rgba(60,42,30,.12); font-size: .8em; }
.editorial-home .editorial-hero .hero-copy > p { max-width: 520px; margin: 38px 0 28px; color: #69655f; font-size: 20px; line-height: 1.75; }
.editorial-home .editorial-hero .hero-copy > .btn { min-width: 326px; min-height: 68px; justify-content: space-between; padding-inline: 28px; border-radius: 2px; font-size: 18px; background: var(--accent); }
.editorial-home .hero-collage .hero-portrait,
.editorial-home .hero-collage .hero-detail { position: absolute; object-fit: cover; box-shadow: 0 12px 32px rgba(37,30,24,.12); }
.editorial-home .hero-collage .hero-portrait { width: 58%; height: 62%; right: 5%; top: 16%; filter: grayscale(1); }
.editorial-home .hero-collage .hero-detail-one { width: 37%; aspect-ratio: .82; left: 2%; bottom: 15%; }
.editorial-home .hero-collage .hero-detail-two { width: 49%; aspect-ratio: 1.25; right: 0; bottom: 0; }
.editorial-home .hero-collage .hero-words { position: absolute; right: -2%; top: 42%; z-index: 4; font-size: 11px; line-height: 2.5; letter-spacing: .25em; }

.editorial-home .services-editorial { padding-block: 70px 110px; }
.editorial-home .services-editorial .section-heading > small { width: 130px; padding-bottom: 9px; font-size: 11px; line-height: 1.65; letter-spacing: .25em; }
.editorial-home .services-editorial .section-heading h2 span { display: inline; }
.editorial-home .service-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 88px; }
.editorial-home .service-card .card-copy > p { margin: 0 0 20px; max-width: 760px; color: #5f5a53; font-size: 17px; line-height: 1.75; }
.editorial-home .service-grid > .service-card,
.editorial-home .service-grid > .service-card.featured { grid-column: 1 / -1; width: 100%; max-width: 100%; }
.editorial-home .service-card .cardfoot { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.editorial-home .service-card .link { color: var(--accent); }
.editorial-home .brochure-showcase,
.editorial-home .portfolio-showcase { order: 3; width: 100%; border: 0; background: transparent; }
.editorial-home .brochure-showcase { min-height: 0; padding: 0; background: transparent; }
.editorial-home .brochure-showcase img { width: 100%; height: auto; max-height: 540px; object-fit: contain; }
.editorial-home .portfolio-showcase { overflow: hidden; background: #e7e2da; }
.editorial-home .portfolio-showcase img { display: block; width: 100%; height: auto; object-fit: cover; }
.editorial-home .service-brochure .card-copy,
.editorial-home .service-portfolio .card-copy { order: 5; grid-row: auto !important; grid-column: auto !important; }
.editorial-home .service-card blockquote { margin: 30px 0 0; padding-top: 22px; border-top: 1px solid var(--line); font: 20px/1.7 Georgia,"Noto Serif SC",serif; color: #514d47; }
.editorial-home .ppt-player video { aspect-ratio: 16/9; }
.editorial-home .poster-slide figcaption { padding-top: 8px; color: #6c675f; font-size: 12px; }
.editorial-home .poster-carousel .carousel-controls { display: flex; justify-content: space-between; align-items: center; margin-top: 18px; }
.editorial-home .poster-carousel .carousel-controls button { width: 44px; height: 40px; border: 1px solid var(--line); background: transparent; }
.editorial-home .brochure-composition .book-cover,
.editorial-home .brochure-composition .book-spread { position: absolute; }
.editorial-home .brochure-composition .book-cover { width: 42%; height: 78%; left: 15%; top: 11%; z-index: 3; transform: rotate(-2deg); }
.editorial-home .brochure-composition .book-cover img { width: 100%; height: 100%; object-fit: cover; }
.editorial-home .brochure-composition .book-spread { display: contents; }
.editorial-home .brochure-composition .book-spread button:first-child { width: 36%; height: 62%; right: 15%; top: 17%; transform: rotate(4deg); z-index: 2; }
.editorial-home .brochure-composition .book-spread button:last-child { width: 28%; height: 48%; right: 3%; bottom: 4%; transform: rotate(8deg); z-index: 1; }
.editorial-home .brochure-composition .book-spread button,
.editorial-home .brochure-composition .book-spread img { position: absolute; object-fit: cover; box-shadow: 0 18px 42px rgba(42,33,25,.2); }
.editorial-home .brochure-composition .book-spread img { width: 100%; height: 100%; }
.editorial-home .portfolio-stage > span { display: none; }
.editorial-home .portfolio-stage .portfolio-person { position: absolute; right: 7%; top: 7%; width: 44%; height: 66%; object-fit: cover; }
.editorial-home .portfolio-stage .portfolio-book { position: absolute; left: 18%; bottom: 4%; width: 57%; height: 42%; }
.editorial-home .portfolio-stage .portfolio-book img { width: 100%; height: 100%; object-fit: cover; }

.editorial-home .personal-card { display: grid; grid-template-columns: 220px 1fr; gap: 42px; align-items: center; padding-block: 86px; border-top: 1px solid var(--line); }
.editorial-home .personal-card .portrait-photo img { width: 100%; aspect-ratio: .82; object-fit: cover; filter: grayscale(.25); }
.editorial-home .personal-card h2 { margin: 0 0 18px; font-size: 42px; }
.editorial-home .personal-card h2 span { display: block; color: var(--accent); font: italic 25px Georgia,serif; }
.editorial-home .personal-card p { color: #625e57; line-height: 1.9; font-size: 17px; }
.editorial-home .editorial-contact { padding-block: 82px 110px; border-top: 1px solid var(--line); }
.editorial-home .contact-title { display: flex; justify-content: space-between; align-items: start; gap: 24px; }
.editorial-home .contact-title h2 { margin: 0; font-size: clamp(48px,7vw,82px); letter-spacing: -.055em; }
.editorial-home .contact-title em { color: var(--accent); font: italic 32px/1.1 Georgia,serif; transform: rotate(-5deg); }
.editorial-home .editorial-contact > p { margin: 14px 0 26px; color: #5e5a54; font-size: 18px; line-height: 1.8; }
.editorial-home .editorial-contact .qr-image img { width: 180px; height: 180px; object-fit: cover; }
.editorial-home .editorial-contact > blockquote { margin: 32px 0 0; padding-top: 24px; border-top: 1px solid var(--line); font: 20px/1.7 Georgia,"Noto Serif SC",serif; }

@media (max-width: 760px) {
  .editorial-home > header nav { min-height: 76px; }
  .editorial-home .navlinks { gap: 20px; }
  .editorial-home .editorial-hero { display: block; min-height: 0; padding-block: 42px 58px; overflow: hidden; }
  .editorial-home .editorial-hero .hero-intro { margin-bottom: 34px; font-size: 16px; }
  .editorial-home .editorial-hero h1 { font-size: clamp(48px,14.2vw,72px); line-height: 1.03; }
  .editorial-home .editorial-hero h1 .accent { margin-top: 14px; font-size: .69em; box-shadow: 8px 8px 0 rgba(60,42,30,.1); }
  .editorial-home .editorial-hero .hero-copy > p { margin-top: 30px; font-size: 17px; }
  .editorial-home .editorial-hero .hero-copy > .btn { width: min(100%,310px); min-width: 0; min-height: 60px; }
  .editorial-home .hero-collage .hero-portrait { width: 55%; height: 63%; right: 2%; top: 9%; }
  .editorial-home .hero-collage .hero-detail-one { width: 35%; left: 3%; bottom: 15%; }
  .editorial-home .hero-collage .hero-detail-two { width: 48%; bottom: 0; }
  .editorial-home .hero-collage .hero-words { right: -4%; top: 38%; font-size: 8px; }
  .editorial-home .services-editorial { padding-block: 52px 78px; }
  .editorial-home .services-editorial .section-heading > small { margin-top: 18px; display: block; }
  .editorial-home .services-editorial .section-heading h2 span { display: block; }
  .editorial-home .services-editorial .section-heading h2 span + span { margin-top: 2px; }
  .editorial-home .service-grid { gap: 64px; }
  .editorial-home .service-grid > .service-card,
  .editorial-home .service-grid > .service-card.featured { width: 100%; margin: 0; }
  .editorial-home .service-card .card-copy > p { font-size: 15px; margin-bottom: 14px; }
  .editorial-home .service-card blockquote { margin-top: 22px; padding-top: 17px; font-size: 17px; }
  .editorial-home .brochure-showcase { min-height: 0; padding: 0; background: transparent; }
  .editorial-home .brochure-showcase img { max-height: none; }
  .editorial-home .portfolio-showcase img { aspect-ratio: 1/1; object-fit: cover; }
  .editorial-home .brochure-composition .book-cover { width: 50%; height: 75%; left: 7%; }
  .editorial-home .brochure-composition .book-spread button:first-child { width: 43%; height: 58%; right: 6%; top: 19%; }
  .editorial-home .brochure-composition .book-spread button:last-child { width: 34%; height: 42%; right: -4%; }
  .editorial-home .portfolio-stage .portfolio-person { width: 51%; height: 58%; right: 3%; }
  .editorial-home .portfolio-stage .portfolio-book { left: 8%; width: 72%; height: 39%; }
  .editorial-home .personal-card { grid-template-columns: 112px 1fr; gap: 20px; padding-block: 66px; align-items: start; }
  .editorial-home .personal-card h2 { font-size: 31px; margin-bottom: 10px; }
  .editorial-home .personal-card p { margin: 0; font-size: 14px; line-height: 1.75; }
  .editorial-home .editorial-contact { padding-block: 64px 90px; }
  .editorial-home .contact-title h2 { font-size: 48px; }
  .editorial-home .contact-title em { font-size: 22px; }
  .editorial-home .editorial-contact .contact-panel { grid-template-columns: 1fr; }
}

/* Poster deck: click the front artwork to deal the next card forward. */
.editorial-home .service-poster .poster-carousel {
  position: relative;
  overflow: hidden;
  padding: 14px 0 0;
}
.editorial-home .service-poster .poster-track {
  position: relative;
  display: block;
  height: clamp(520px, 64vw, 680px);
  padding: 0;
  overflow: visible;
  touch-action: manipulation;
  isolation: isolate;
}
.editorial-home .service-poster .poster-slide {
  position: absolute;
  inset: 10px auto 28px 50%;
  width: min(62%, 520px);
  height: calc(100% - 38px);
  margin: 0;
  display: flex;
  flex-direction: column;
  opacity: 0;
  pointer-events: none;
  transform-origin: 50% 92%;
  transition: transform .62s cubic-bezier(.22,.8,.25,1), opacity .42s ease, filter .42s ease;
  will-change: transform, opacity;
}
.editorial-home .service-poster .poster-slide.is-active {
  z-index: 5;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0) rotate(-1.6deg) scale(1);
  filter: drop-shadow(0 22px 25px rgba(45,35,25,.18));
}
.editorial-home .service-poster .poster-slide.is-next {
  z-index: 4;
  opacity: .92;
  transform: translateX(-27%) translateY(22px) rotate(3.8deg) scale(.93);
  filter: drop-shadow(0 15px 18px rgba(45,35,25,.12));
}
.editorial-home .service-poster .poster-slide.is-after {
  z-index: 3;
  opacity: .48;
  transform: translateX(-13%) translateY(42px) rotate(6deg) scale(.86);
}
.editorial-home .service-poster .poster-slide.is-prev {
  z-index: 2;
  opacity: .32;
  transform: translateX(-78%) translateY(32px) rotate(-7deg) scale(.88);
}
.editorial-home .service-poster .poster-slide.is-before {
  z-index: 1;
  opacity: 0;
  transform: translateX(-96%) translateY(52px) rotate(-10deg) scale(.8);
}
.editorial-home .service-poster .poster-card {
  flex: 1;
  min-height: 0;
  width: 100%;
  padding: 11px;
  border: 1px solid #d6cec1;
  background: #eee9e0;
  cursor: pointer;
  overflow: hidden;
}
.editorial-home .service-poster .poster-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.editorial-home .service-poster .poster-slide figcaption {
  height: 28px;
  margin: 8px 0 0;
  padding: 0;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .3s ease .2s, transform .3s ease .2s;
}
.editorial-home .service-poster .poster-slide.is-active figcaption {
  opacity: 1;
  transform: translateY(0);
}
.editorial-home .service-poster .carousel-controls {
  position: relative;
  z-index: 8;
  margin-top: 3px;
}
.editorial-home .service-poster .carousel-controls button { transition: background .2s ease, color .2s ease, transform .2s ease; }
.editorial-home .service-poster .carousel-controls button:hover { color: white; background: var(--accent); transform: translateY(-2px); }

@media (max-width: 760px) {
  .editorial-home .service-poster .poster-track { height: clamp(420px, 126vw, 540px); }
  .editorial-home .service-poster .poster-slide { width: 76%; top: 6px; }
  .editorial-home .service-poster .poster-slide.is-active { transform: translateX(-55%) rotate(-2deg); }
  .editorial-home .service-poster .poster-slide.is-next { transform: translateX(-29%) translateY(18px) rotate(4deg) scale(.92); }
  .editorial-home .service-poster .poster-slide.is-after { transform: translateX(-16%) translateY(35px) rotate(6deg) scale(.84); }
  .editorial-home .service-poster .poster-slide.is-prev { transform: translateX(-86%) translateY(28px) rotate(-7deg) scale(.86); }
}

@media (prefers-reduced-motion: reduce) {
  .editorial-home .service-poster .poster-slide,
  .editorial-home .service-poster .poster-slide figcaption { transition-duration: .01ms; }
}

/* Gallery carousel: one hero poster with adjacent projects in view. */
.editorial-home .service-poster .poster-carousel {
  margin-inline: -30px;
  padding: 24px 30px 8px;
  background: linear-gradient(110deg, rgba(225,218,207,.78), rgba(250,248,243,.32) 44%, rgba(220,212,201,.72));
}
.editorial-home .service-poster .poster-track {
  height: 700px;
}
.editorial-home .service-poster .poster-slide {
  inset: 12px auto 48px 50%;
  width: min(54%, 470px);
  height: calc(100% - 60px);
  transform-origin: center;
}
.editorial-home .service-poster .poster-slide.is-active {
  transform: translateX(-50%) scale(1);
  filter: drop-shadow(0 28px 32px rgba(45,35,25,.2));
}
.editorial-home .service-poster .poster-slide.is-next {
  opacity: .82;
  transform: translateX(60%) scale(.88);
  filter: drop-shadow(0 15px 20px rgba(45,35,25,.12));
}
.editorial-home .service-poster .poster-slide.is-after {
  opacity: 0;
  transform: translateX(128%) scale(.76);
}
.editorial-home .service-poster .poster-slide.is-prev {
  opacity: .72;
  transform: translateX(-160%) scale(.88);
  filter: drop-shadow(0 15px 20px rgba(45,35,25,.1));
}
.editorial-home .service-poster .poster-slide.is-before {
  opacity: 0;
  transform: translateX(-228%) scale(.76);
}
.editorial-home .service-poster .poster-card {
  padding: 0;
  border: 0;
  border-radius: 18px;
  background: #1f1e1b;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
}
.editorial-home .service-poster .poster-card img {
  object-fit: cover;
  border-radius: inherit;
}
.editorial-home .service-poster .poster-slide figcaption {
  height: 34px;
  margin-top: 11px;
  text-align: center;
  font-size: 13px;
  letter-spacing: .08em;
}
.editorial-home .service-poster .carousel-controls {
  position: relative;
  min-height: 62px;
  margin: 0;
  padding: 19px 22px 0;
  border-top: 1px solid rgba(157,145,130,.42);
}
.editorial-home .service-poster .carousel-count {
  display: flex;
  align-items: center;
  gap: 18px;
  width: min(280px, 52%);
  font-size: 12px;
  letter-spacing: .25em;
  color: #4b4741;
}
.editorial-home .service-poster .carousel-count::after {
  content: "";
  flex: 1;
  height: 2px;
  background: linear-gradient(90deg, var(--accent) 0 var(--poster-progress,20%), #cec5b8 var(--poster-progress,20%) 100%);
  transition: background .4s ease;
}
.editorial-home .service-poster .carousel-controls > div {
  position: absolute;
  z-index: 10;
  left: 4.5%;
  right: 4.5%;
  top: -390px;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}
.editorial-home .service-poster .carousel-controls button {
  width: 58px;
  height: 58px;
  min-height: 58px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(103,94,83,.28);
  border-radius: 50%;
  background: rgba(250,248,243,.94);
  color: var(--ink);
  box-shadow: 0 8px 24px rgba(48,39,30,.12);
  pointer-events: auto;
  backdrop-filter: blur(8px);
}

@media (max-width: 760px) {
  .editorial-home .service-poster .poster-carousel { margin-inline: -17px; padding: 18px 17px 5px; }
  .editorial-home .service-poster .poster-track { height: 540px; }
  .editorial-home .service-poster .poster-slide { width: 72%; height: calc(100% - 54px); top: 8px; }
  .editorial-home .service-poster .poster-slide.is-active { transform: translateX(-50%) scale(1); }
  .editorial-home .service-poster .poster-slide.is-next { transform: translateX(54%) scale(.86); }
  .editorial-home .service-poster .poster-slide.is-after { transform: translateX(118%) scale(.74); }
  .editorial-home .service-poster .poster-slide.is-prev { transform: translateX(-154%) scale(.86); }
  .editorial-home .service-poster .poster-slide.is-before { transform: translateX(-218%) scale(.74); }
  .editorial-home .service-poster .carousel-controls { min-height: 56px; padding: 17px 8px 0; }
  .editorial-home .service-poster .carousel-controls > div { left: 1.5%; right: 1.5%; top: -305px; }
  .editorial-home .service-poster .carousel-controls button { width: 48px; height: 48px; min-height: 48px; }
  .editorial-home .service-poster .carousel-count { width: 58%; }
}

/* Final portrait and about layout overrides */
.editorial-home .navlinks .menu-button { width: 22px; min-height: 0; height: 10px; align-self: center; }
.editorial-home .hero-avatar { position: absolute; z-index: 3; right: 3%; top: 24px; margin: 0; width: 118px; }
.editorial-home .hero-avatar img { display: block; width: 104px; aspect-ratio: 1; margin-left: auto; border-radius: 50%; object-fit: cover; object-position: 50% 36%; box-shadow: 0 0 0 7px var(--paper),0 0 0 8px var(--line); }
.editorial-home .hero-avatar figcaption { margin-top: 13px; text-align: right; color: #6c675f; font-size: 9px; line-height: 1.5; letter-spacing: .25em; }
.editorial-home .personal-card { display: grid; grid-template-columns: 72px minmax(0,.9fr) minmax(300px,1.1fr); gap: 44px; align-items: center; padding-block: 100px; border-top: 1px solid var(--line); }
.editorial-home .about-index { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; padding-right: 18px; border-right: 1px solid var(--line); color: var(--accent); }
.editorial-home .about-index span { writing-mode: vertical-rl; font-size: 10px; letter-spacing: .28em; }
.editorial-home .about-index strong { font: 400 28px/1 Georgia,serif; }
.editorial-home .personal-card .portrait-photo { width: 100%; margin: 0; }
.editorial-home .personal-card .portrait-photo img { width: 100%; aspect-ratio: 1.05; object-fit: cover; object-position: 50% 34%; filter: none; }
.editorial-home .personal-card .portrait-photo figcaption { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); color: #777168; font: italic 15px Georgia,"Noto Serif SC",serif; }
.editorial-home .personal-card h2 { margin: 12px 0 24px; font-size: clamp(42px,5vw,64px); line-height: 1.08; letter-spacing: -.06em; }
.editorial-home .personal-card p { max-width: 460px; color: #625e57; line-height: 1.9; font-size: 17px; }
.editorial-home .about-signature { margin-top: 30px; color: var(--accent); font: italic 25px Georgia,serif; }
.editorial-home .about-signature small { display: block; margin-top: 8px; color: var(--muted); font: 10px/1.4 Arial,sans-serif; letter-spacing: .22em; }

@media (max-width: 760px) {
  .editorial-home .editorial-hero .hero-intro small { visibility: hidden; }
  .editorial-home .hero-avatar { right: 3px; top: 27px; width: 79px; }
  .editorial-home .hero-avatar img { width: 68px; box-shadow: 0 0 0 5px var(--paper),0 0 0 6px var(--line); }
  .editorial-home .hero-avatar figcaption { margin-top: 9px; font-size: 7px; }
  .editorial-home .personal-card { grid-template-columns: 34px 1fr; gap: 18px 20px; padding-block: 68px; align-items: start; }
  .editorial-home .about-index { grid-row: 1 / span 2; padding-right: 10px; }
  .editorial-home .about-index strong { font-size: 20px; }
  .editorial-home .about-copy { grid-column: 2; }
  .editorial-home .personal-card h2 { font-size: 42px; margin: 10px 0 18px; }
  .editorial-home .personal-card p { font-size: 15px; }
  .editorial-home .about-signature { margin-top: 22px; font-size: 21px; }
  .editorial-home .personal-card .portrait-photo { grid-column: 2; margin-top: 8px; }
  .editorial-home .personal-card .portrait-photo img { aspect-ratio: 1.16; }
}

.editorial-home .wrap {
  width: min(1120px, calc(100% - 64px));

  margin-inline: auto;
}

/* Final mobile content balance overrides */
/* Mobile line control and balanced service/contact spacing */
.editorial-home .service-ppt .card-copy,
.editorial-home .service-video .card-copy { padding-bottom: 12px; }
.editorial-home .service-ppt .card-copy > p,
.editorial-home .service-video .card-copy > p { max-width: 830px; }
.editorial-home .editorial-contact .qr-image { display: grid; place-items: center; width: 200px; padding: 10px; background: #fff; }
.editorial-home .editorial-contact .qr-image img { display: block; width: 180px; height: 180px; object-fit: cover; }
@media (max-width: 760px) {
  .editorial-home .editorial-hero h1 { font-size: clamp(43px,12.15vw,52px); letter-spacing: -.07em; }
  .editorial-home .editorial-hero h1 > span { white-space: nowrap; }
  .editorial-home .editorial-hero h1 > span:nth-child(2) { margin-left: 7%; }
  .editorial-home .service-ppt .card-copy,
  .editorial-home .service-video .card-copy { padding-top: 20px; padding-bottom: 18px; }
  .editorial-home .service-ppt .card-copy > p,
  .editorial-home .service-video .card-copy > p { line-height: 1.9; margin-bottom: 24px; }
  .editorial-home .editorial-contact .qr-image { width: min(100%,220px); padding: 12px; }
  .editorial-home .editorial-contact .qr-image img { width: 100%; height: auto; }
}

/* Final closing statement and fullscreen video controls */
.editorial-home .video-actions > div { display: flex; gap: 8px; }
.editorial-home .editorial-contact > .contact-closing { max-width: 760px; font-family: "STKaiti","KaiTi","Kaiti SC","FZKai-Z03",cursive; font-size: 22px; line-height: 1.75; font-weight: 400; letter-spacing: .02em; }
.editorial-home .contact-closing span { display: block; }
@media (max-width: 760px) {
  .editorial-home .video-actions { align-items: flex-start; }
  .editorial-home .video-actions > div { flex-direction: column; gap: 6px; }
  .editorial-home .video-actions button { min-height: 38px; padding: 5px 10px; font-size: 12px; }
  .editorial-home .editorial-contact > .contact-closing { max-width: 310px; font-size: 18px; line-height: 1.85; }
  .editorial-home .contact-closing span { white-space: nowrap; }
}
@media (max-width: 360px) {
  .editorial-home .editorial-contact > .contact-closing { font-size: 16px; }
}

/* Compact one-line video actions; native controls appear after touching the video. */
.editorial-home .video-actions { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; }
.editorial-home .video-actions > span { min-width: 0; }
.editorial-home .video-actions > div { display: flex; flex-direction: row; gap: 7px; flex-wrap: nowrap; }
.editorial-home .video-actions button { white-space: nowrap; }
@media (max-width: 760px) {
  .editorial-home .video-actions { grid-template-columns: minmax(0,1fr) auto; gap: 7px; align-items: center; font-size: 11px; }
  .editorial-home .video-actions > div { flex-direction: row; gap: 5px; }
  .editorial-home .video-actions button { min-height: 36px; padding: 4px 8px; font-size: 11px; }
}
@media (max-width: 360px) {
  .editorial-home .video-actions { gap: 5px; font-size: 10px; }
  .editorial-home .video-actions button { padding-inline: 6px; font-size: 10px; }
}

/* Homepage as a personal introduction: identity first, services second. */
.home-page{transition:opacity .24s ease,filter .24s ease}.home-page.is-jumping{opacity:.28;filter:blur(2px)}
.editorial-home .landing-hero{position:relative;display:block;min-height:calc(100svh - 84px);padding:62px 0 76px;overflow:hidden;isolation:isolate}
.editorial-home .landing-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--paper) 0%,rgba(245,242,236,.92) 43%,rgba(245,242,236,.2) 69%,transparent 100%)}
.editorial-home .landing-portrait{position:absolute;z-index:-2;right:-7%;bottom:-14%;width:68%;height:auto;max-height:112%;object-fit:contain;object-position:right bottom}
.editorial-home .landing-hero .hero-copy{position:relative;z-index:1;max-width:720px}
.editorial-home .landing-kicker{display:flex;justify-content:space-between;align-items:center;max-width:650px;margin-bottom:62px;color:#625d56;font-size:18px}
.editorial-home .landing-kicker small{font:10px/1.4 Georgia,serif;letter-spacing:.22em;color:#9a7461}
.editorial-home .landing-hero h1{font-size:clamp(58px,6.6vw,94px);line-height:1.08;letter-spacing:-.075em}
.editorial-home .landing-hero h1>span{display:block;width:max-content;max-width:100%}
.editorial-home .landing-hero h1>span:nth-child(2){margin-left:0}
.editorial-home .landing-hero h1 .accent{margin:4px 0 0;color:var(--accent);background:transparent;box-shadow:none;padding:0;font-size:1em}
.editorial-home .landing-hero .hero-copy>p{max-width:570px;margin:28px 0 30px;color:#4f4a44;font-size:18px;line-height:1.8}
.editorial-home .landing-actions{display:flex;gap:16px;max-width:590px}
.editorial-home .landing-actions .btn{flex:1;min-width:0;min-height:62px;justify-content:space-between;padding-inline:26px;font-size:17px}
.editorial-home .landing-actions .btn-outline{background:rgba(245,242,236,.68);color:var(--accent)}
.editorial-home .landing-actions .btn-outline:hover{background:#fff4ef;color:#a53c2c}
.editorial-home .landing-scroll{position:absolute;left:49%;bottom:-28vh;color:#756d65;font:10px Georgia,serif;letter-spacing:.22em;writing-mode:vertical-rl}
.editorial-home .home-about{scroll-margin-top:84px}
.editorial-home .home-about .about-copy p+p{margin-top:16px}
.editorial-home .services-editorial{scroll-margin-top:84px}
.editorial-home .service-card .price{display:none!important}
.editorial-home .service-card .cardfoot{justify-content:flex-end}
.editorial-home .service-card .cardfoot .link{margin-left:auto;justify-content:flex-end;min-height:44px;text-align:right}

@media(max-width:700px){
.editorial-home .landing-hero{min-height:calc(100svh - 70px);padding:34px 0 0;margin:0;overflow:hidden}
.editorial-home .landing-hero:after{background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 47%,rgba(245,242,236,.88) 57%,rgba(245,242,236,.04) 76%,transparent 100%)}
.editorial-home .landing-portrait{right:-20px;bottom:-1px;width:calc(100% + 40px);height:52%;max-height:none;object-fit:cover;object-position:center 22%}
.editorial-home .landing-kicker{margin-bottom:30px;font-size:14px}
.editorial-home .landing-kicker small{font-size:8px;letter-spacing:.14em}
.editorial-home .landing-hero h1{font-size:clamp(39px,11.3vw,49px);line-height:1.15;letter-spacing:-.07em}
.editorial-home .landing-hero h1>span{white-space:nowrap}
.editorial-home .landing-hero .hero-copy>p{max-width:330px;margin:19px 0 20px;font-size:15px;line-height:1.72}
.editorial-home .landing-actions{gap:10px}
.editorial-home .landing-actions .btn{min-height:52px;padding:9px 15px;font-size:15px;gap:10px}
.editorial-home .landing-scroll{left:50%;bottom:18px;color:#f6efe8;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.editorial-home .home-about{grid-template-columns:34px 1fr;padding-block:62px}
.editorial-home .home-about .about-copy{grid-column:2}
.editorial-home .home-about .portrait-photo{grid-column:2;width:100%;margin-top:28px}
.editorial-home .home-about .portrait-photo img{aspect-ratio:1.08;object-fit:cover;object-position:center 32%}
.editorial-home .home-about h2{font-size:40px}
.editorial-home .home-about p{font-size:15px;line-height:1.85}
}

/* Keep the closing statement optically centered between its two rules. */
.editorial-home .editorial-contact{padding-bottom:0}
.editorial-home .editorial-contact > .contact-closing{
  margin-bottom:0;
  padding-block:56px;
}
@media(max-width:700px){
  .editorial-home .editorial-contact > .contact-closing{padding-block:64px}
}

/* Standalone full-screen opening — entry is possible only through the two choices. */
.home-page.splash-active{height:100svh;overflow:hidden;overscroll-behavior:none}
.home-page.splash-active>header,
.home-page.splash-active>.mobilebar{opacity:0;visibility:hidden;pointer-events:none}
.home-page>header,
.home-page>.mobilebar{transition:opacity .35s ease,visibility .35s ease}
.editorial-home .landing-hero{
  position:fixed;inset:0;z-index:1000;width:100vw;height:100svh;min-height:0;margin:0;padding:0;
  overflow:hidden;background:#f5f2ec;isolation:isolate;opacity:1;filter:none;transform:scale(1)
}
.editorial-home .landing-hero[hidden]{display:none}
.home-page.splash-leaving .landing-hero{opacity:0;filter:blur(7px);transform:scale(1.012);pointer-events:none;transition:opacity 2s cubic-bezier(.4,0,.2,1),filter 2s ease,transform 2s ease}
.home-page.splash-returning .landing-hero{opacity:0;filter:blur(7px);transform:scale(1.012)}
.home-page .landing-hero{transition:opacity .7s ease,filter .7s ease,transform .7s ease}
.home-page>header,
.home-page main>section:not(.landing-hero),
.home-page>footer,
.home-page>.mobilebar{transition:opacity .48s ease,visibility .35s ease}
.home-page.content-entering>header,
.home-page.content-entering main>section:not(.landing-hero),
.home-page.content-entering>footer,
.home-page.content-entering>.mobilebar{opacity:0;visibility:hidden}
.editorial-home .mobile-splash-art{display:none}
.editorial-home .landing-hero:after{display:none}
.editorial-home .splash-shell{width:min(1180px,calc(100% - 72px));height:100%;margin:auto;display:grid;grid-template-columns:minmax(0,.98fr) minmax(380px,1.02fr);grid-template-rows:auto 1fr;column-gap:54px}
.editorial-home .splash-nav{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;height:92px;border-bottom:1px solid rgba(83,73,63,.18)}
.editorial-home .splash-brand{display:flex;align-items:center;gap:13px;color:#28241f;font-size:17px;font-weight:700;line-height:1.05}
.editorial-home .splash-brand small{display:block;margin-top:5px;font:9px/1.2 Arial,sans-serif;letter-spacing:.16em;color:#736c64}
.editorial-home .splash-monogram{display:grid;place-items:center;width:46px;height:46px;background:#bd4937}
.editorial-home .splash-monogram img{display:block;width:76%;height:76%;object-fit:contain}
.editorial-home .splash-menu{display:grid;gap:5px;width:32px;padding:6px 0}
.editorial-home .splash-menu i{display:block;height:1px;background:#29251f}.editorial-home .splash-menu i:nth-child(2){width:72%;margin-left:auto}
.editorial-home .landing-hero .hero-copy{grid-column:1;align-self:center;max-width:650px;padding:22px 0 40px;position:relative;z-index:2}
.editorial-home .landing-kicker{margin:0 0 42px;max-width:610px;align-items:flex-start;font-size:15px}
.editorial-home .landing-kicker small{text-align:right;font-size:9px;line-height:1.75;letter-spacing:.2em}
.editorial-home .landing-hero h1{margin:0;font-size:clamp(56px,6vw,88px);line-height:1.07;letter-spacing:-.075em}
.editorial-home .landing-hero h1>span{white-space:nowrap}
.editorial-home .landing-hero h1 .accent{margin-top:7px;color:#bd4937}
.editorial-home .landing-hero .hero-copy>p{max-width:500px;margin:28px 0 28px;font-size:17px;line-height:1.75;color:#554f48}
.editorial-home .landing-actions{max-width:520px;gap:12px}
.editorial-home .landing-actions .btn{min-height:58px;padding:10px 22px;font-size:16px}
.editorial-home .landing-actions .btn-outline{background:transparent;border:1px solid #bd4937;color:#a94131}
.editorial-home .splash-visual{grid-column:2;grid-row:2;align-self:end;height:calc(100svh - 92px);min-height:0;overflow:hidden;position:relative}
.editorial-home .landing-portrait{position:absolute;z-index:0;inset:auto 0 0;width:100%;height:94%;max-height:none;object-fit:cover;object-position:center 32%;filter:none}

@media(max-width:700px){
  .editorial-home .landing-hero{background:#f5f2ec}
  .editorial-home .splash-shell{display:none}
  .editorial-home .mobile-splash-art{position:absolute;inset:0;display:flex;justify-content:center;align-items:flex-start;background:#f5f2ec;overflow:hidden}
  .editorial-home .mobile-splash-sheet{position:relative;width:min(100vw,56.25svh);aspect-ratio:9/16;flex:0 0 auto}
  .editorial-home .mobile-splash-sheet>img{display:block;width:100%;height:100%;object-fit:contain}
  .editorial-home .mobile-splash-logo{position:absolute;z-index:3;left:6.45%;top:2.72%;width:8.2%;aspect-ratio:1;display:grid;place-items:center;background:#bd4937}
  .editorial-home .mobile-splash-logo img{display:block;width:78%;height:78%;object-fit:contain}
  .editorial-home .mobile-splash-hotspot{position:absolute;z-index:3;top:40.89%;height:6.38%;display:block;background:transparent;opacity:0;-webkit-tap-highlight-color:transparent}
  .editorial-home .mobile-splash-about{left:7.18%;width:35.19%}
  .editorial-home .mobile-splash-services{left:44.91%;width:32.29%}
  .editorial-home .mobile-splash-hotspot:focus-visible{opacity:1;outline:3px solid rgba(189,73,55,.55);outline-offset:2px}
  .editorial-home .splash-shell{width:100%;display:grid;grid-template-columns:1fr;grid-template-rows:72px auto minmax(0,1fr);padding:0 25px}
  .editorial-home .splash-nav{grid-column:1;grid-row:1;height:72px}
  .editorial-home .splash-monogram{width:38px;height:38px;font-size:21px}
  .editorial-home .splash-brand{gap:10px;font-size:15px}.editorial-home .splash-brand small{font-size:7px}
  .editorial-home .splash-menu{width:27px}
  .editorial-home .landing-hero .hero-copy{grid-column:1;grid-row:2;align-self:start;max-width:none;padding:24px 0 18px}
  .editorial-home .landing-kicker{position:absolute;top:30px;right:0;margin:0}.editorial-home .landing-kicker>span{display:none}.editorial-home .landing-kicker small{font-size:7px;line-height:1.7;letter-spacing:.15em}
  .editorial-home .landing-hero h1{font-size:clamp(37px,11.5vw,50px);line-height:1.08;letter-spacing:-.07em;padding-right:12px}
  .editorial-home .landing-hero h1>span{white-space:nowrap}.editorial-home .landing-hero h1 .accent{margin-top:5px}
  .editorial-home .landing-hero .hero-copy>p{max-width:305px;margin:17px 0 18px;font-size:14px;line-height:1.65}
  .editorial-home .landing-actions{gap:9px;max-width:none}
  .editorial-home .landing-actions .btn{min-height:49px;padding:8px 14px;font-size:14px}
  .editorial-home .splash-visual{grid-column:1;grid-row:3;height:auto;align-self:stretch;margin:0 -25px;overflow:hidden}
  .editorial-home .landing-portrait{height:100%;width:100%;right:auto;bottom:0;object-fit:cover;object-position:center 24%}
}

@media(max-width:380px){
  .editorial-home .splash-shell{padding-inline:20px;grid-template-rows:64px auto minmax(0,1fr)}
  .editorial-home .splash-nav{height:64px}.editorial-home .landing-hero .hero-copy{padding-top:17px;padding-bottom:13px}
  .editorial-home .landing-hero h1{font-size:36px}.editorial-home .landing-hero .hero-copy>p{margin-block:12px;font-size:13px}
  .editorial-home .landing-actions .btn{min-height:45px;font-size:13px}.editorial-home .splash-visual{margin-inline:-20px}
}

@media(max-width:700px){
  body.editorial-home .landing-hero .splash-shell{display:none}
  .editorial-home .home-about{grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto auto auto auto auto;gap:10px 20px;align-items:start;padding-block:54px}
  .editorial-home .home-about .about-index{grid-column:1;grid-row:1 / span 7;align-self:stretch}
  .editorial-home .home-about .about-copy{display:contents}
  .editorial-home .home-about .about-copy>.service-kicker{grid-column:2;grid-row:1}
  .editorial-home .home-about .about-copy>h2{grid-column:2;grid-row:2;margin:4px 0 8px}
  .editorial-home .home-about .portrait-photo{grid-column:2;grid-row:3;width:100%;margin:2px 0 16px}
  .editorial-home .home-about .about-copy>p{grid-column:2;margin:0 0 8px}
  .editorial-home .home-about .about-copy>p:first-of-type{grid-row:4}
  .editorial-home .home-about .about-copy>p:last-of-type{grid-row:5}
  .editorial-home .home-about .about-signature{grid-column:2;grid-row:6;margin-top:8px}
  .editorial-home .home-about .portrait-photo img{aspect-ratio:1.08;object-fit:cover;object-position:center 32%}
  .editorial-home .service-card .cardfoot{justify-content:flex-end}
  .editorial-home .service-card .cardfoot .link{margin-left:auto;padding-left:18px;text-align:right}
}

/* Homepage service actions — compact metadata followed by one clear action. */
.editorial-home .service-card .card-copy{
  display:flex;
  flex-direction:column;
}
.editorial-home .service-card .card-copy>p{order:1}
.editorial-home .service-card .tag-list{
  order:2;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  width:100%;
  margin:0;
}
.editorial-home .service-card .tag-list span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:8px 6px;
  text-align:center;
  white-space:nowrap;
}
.editorial-home .service-card .cardfoot{
  order:3;
  display:block;
  width:100%;
  margin:16px 0 0;
  padding:0;
  border:0;
}
.editorial-home .service-card .cardfoot .link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:58px;
  margin:0;
  padding:10px 20px;
  border:1px solid var(--accent);
  border-radius:2px;
  color:var(--accent);
  background:rgba(245,242,236,.18);
  font-size:16px;
  text-align:left;
  transition:background .2s ease,color .2s ease;
}
.editorial-home .service-card .cardfoot .link:hover{
  background:var(--accent);
  color:#fff;
}
.editorial-home .service-card blockquote{order:4}

@media(max-width:700px){
  .editorial-home .service-card .tag-list{gap:7px}
  .editorial-home .service-card .tag-list span{min-height:42px;padding:7px 3px;font-size:12px}
  .editorial-home .service-card .cardfoot{margin-top:13px}
  .editorial-home .service-card .cardfoot .link{
    min-height:54px;
    margin:0;
    padding:9px 16px;
    font-size:15px;
    text-align:left;
  }
}

/* Desktop refinement: keep the established mobile composition untouched while
   giving large screens deliberate image/copy relationships. */
@media(min-width:900px){
  .editorial-home .splash-shell{
    width:min(1440px,calc(100% - 72px));
    grid-template-columns:minmax(0,.96fr) minmax(560px,1.04fr);
    column-gap:64px;
  }
  .editorial-home .splash-visual{
    display:grid;
    place-items:end center;
    height:min(calc(100svh - 92px),860px);
    min-height:620px;
    overflow:hidden;
  }
  .editorial-home .landing-portrait{
    position:relative;
    inset:auto;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center bottom;
  }
  .editorial-home .service-ppt.featured,
  .editorial-home .service-portfolio.service-card{
    grid-template-columns:minmax(0,1.28fr) minmax(340px,.72fr) !important;
    grid-template-rows:auto auto auto;
    column-gap:64px !important;
    row-gap:0 !important;
    align-items:start;
    padding:38px !important;
  }
  .editorial-home .service-ppt .service-heading,
  .editorial-home .service-portfolio .service-heading{
    grid-column:1/-1;
    grid-row:1;
  }
  .editorial-home .service-ppt>.service-kicker,
  .editorial-home .service-portfolio>.service-kicker{
    grid-column:1/-1;
    grid-row:2;
  }
  .editorial-home .service-ppt .ppt-player{
    grid-column:1;
    grid-row:3;
    padding-right:4px;
  }
  .editorial-home .service-ppt .card-copy{
    grid-column:2;
    grid-row:3;
    padding:0 0 0 6px !important;
  }
  .editorial-home .service-portfolio .portfolio-showcase{
    grid-column:1;
    grid-row:3;
    align-self:stretch;
    background:#e7e2da;
  }
  .editorial-home .service-portfolio .portfolio-showcase img{
    width:100%;
    height:100%;
    aspect-ratio:1/1;
    object-fit:cover;
  }
  .editorial-home .service-portfolio .card-copy{
    grid-column:2 !important;
    grid-row:3 !important;
    max-width:none;
    padding:0 !important;
  }
}
