/* Brand service: editorial spacing, original mark and uncropped case imagery. */
.brand-crumbs { padding-top:28px; font-size:14px; color:var(--muted); }
.brand-crumbs ol { display:flex; flex-wrap:wrap; gap:12px; padding:0; margin:0; list-style:none; }
.brand-crumbs li + li::before { content:'/'; margin-right:12px; color:#77847e; }
.brand-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; padding-top:60px; align-items:center; }
.brand-hero h1 { font-size:clamp(40px,4vw,61px); }
.brand-hero h1 em { font-style:normal; color:#6a7967; }
.brand-hero-copy > p { margin-top:26px; max-width:560px; font-size:19px; color:var(--muted); }
.brand-hero-copy .brand-hero-caption { margin-top:30px; padding-top:22px; border-top:1px solid var(--line); font-size:14px; }
.brand-studio-board { position:relative; padding:20px 0 0 16px; min-width:0; }
.brand-board-main { position:relative; margin-right:66px; min-height:515px; padding:34px; border-radius:30px; background:var(--green); color:var(--white); transform:rotate(-3deg); box-shadow:0 22px 42px #163f3514; }
.brand-board-label { display:block; max-width:240px; font-size:12px; letter-spacing:.09em; text-transform:uppercase; color:#c9d6ce; }
.brand-board-mark { margin-top:30px; width:54px; height:63px; }
.brand-board-main > strong { display:block; margin-top:29px; font-size:clamp(36px,3.5vw,54px); font-weight:850; letter-spacing:-.04em; line-height:1.12; }
.brand-board-rule { display:block; height:1px; background:#617e70; margin-top:30px; }
.brand-board-signature { display:block; margin-top:15px; color:#d5e0d8; font-size:14px; }
.brand-type-sheet { position:absolute; right:0; top:118px; width:185px; padding:22px; background:var(--white); border:1px solid var(--line); border-radius:22px; transform:rotate(6deg); box-shadow:0 16px 40px #173d3412; }
.brand-type-sheet > span { display:block; font-size:12px; color:var(--muted); }
.brand-type-sheet > strong { display:block; font-size:80px; line-height:1.25; font-weight:850; letter-spacing:-.06em; }
.brand-type-sheet small { font-size:12px; }
.brand-color-strip { position:absolute; right:12px; bottom:100px; display:flex; gap:6px; padding:12px; border-radius:17px; background:var(--white); transform:rotate(4deg); box-shadow:0 14px 35px #173d3410; }
.brand-color-strip i { display:block; width:43px; height:62px; border-radius:9px; background:var(--green); }
.brand-color-strip i:nth-child(2) { background:var(--sage); }
.brand-color-strip i:nth-child(3) { background:var(--orange); }
.brand-color-strip i:nth-child(4) { background:#f5e2c0; }
.brand-studio-board figcaption { margin-top:35px; text-align:center; color:var(--muted); font-size:13px; }
.brand-section-heading { max-width:820px; margin-bottom:46px; }
.brand-section-heading > p { max-width:680px; margin-top:23px; color:var(--muted); font-size:18px; }
.brand-context-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:46px; }
.brand-context-grid article { padding-top:24px; border-top:1px solid var(--line); }
.brand-number { display:inline-grid; place-items:center; width:42px; height:42px; margin-bottom:25px; border-radius:13px; background:var(--sage); font-size:13px; font-weight:850; }
.brand-context-grid h3 { font-size:23px; }
.brand-context-grid p { margin-top:15px; color:var(--muted); }
.brand-system { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:72px; align-items:center; padding:60px; border-radius:34px; background:#edefe5; }
.brand-system-intro > p { margin-top:25px; color:var(--muted); font-size:18px; }
.brand-system-intro .text-link { margin-top:23px; }
.brand-system-pieces { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.brand-piece { min-width:0; border-radius:21px; background:var(--white); padding:25px; }
.brand-piece h3 { font-size:18px; }
.brand-piece p { margin-top:8px; font-size:14px; color:var(--muted); }
.brand-piece-sample { height:105px; display:flex; align-items:center; margin-bottom:22px; }
.brand-piece--sign .brand-mark { width:60px; height:70px; }
.brand-piece--type .brand-piece-sample { font-size:76px; letter-spacing:-.07em; font-weight:850; }
.brand-piece--color .brand-piece-sample i { width:45px; height:60px; border-radius:25px; background:var(--green); }
.brand-piece--color .brand-piece-sample i + i { margin-left:-9px; }
.brand-piece--color .brand-piece-sample i:nth-child(2) { background:#bdc8ae; }
.brand-piece--color .brand-piece-sample i:nth-child(3) { background:var(--orange); }
.brand-piece--graphic .brand-piece-sample { position:relative; overflow:hidden; }
.brand-piece--graphic .brand-piece-sample i { display:block; width:80px; height:80px; border:1px solid #869b83; border-radius:28px; transform:rotate(25deg); }
.brand-piece--graphic .brand-piece-sample i + i { margin-left:-35px; border-color:#d99323; transform:rotate(-15deg); background:#ff990015; }
.brand-case-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:46px; }
.brand-case-heading h2 { max-width:800px; }
.brand-case-heading > a { flex-shrink:0; }
.brand-case-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); align-items:start; gap:60px; }
.brand-case-image { display:block; overflow:hidden; background:#383940; border-radius:28px; }
.brand-case-image img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.brand-case-copy { padding:17px 0 0; }
.brand-case-tag { display:block; margin-bottom:22px; font-size:14px; color:var(--muted); }
.brand-case-copy h3 { font-size:30px; max-width:450px; }
.brand-case-copy > p { margin-top:20px; color:var(--muted); }
.brand-case-copy dl { margin:27px 0 15px; }
.brand-case-copy dl > div { display:grid; grid-template-columns:95px minmax(0,1fr); gap:20px; padding:18px 0; border-top:1px solid var(--line); }
.brand-case-copy dt { font-weight:800; font-size:15px; }
.brand-case-copy dd { margin:0; color:var(--muted); font-size:15px; }
.brand-application-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.brand-application-grid article { display:flex; flex-direction:column; align-items:flex-start; padding:34px; border:1px solid var(--line); border-radius:26px; background:var(--white); }
.brand-application-grid article:nth-child(2) { background:#fff0d7; border-color:#eedaba; }
.brand-application-grid .icon { width:32px; height:32px; margin-bottom:36px; }
.brand-application-grid h3 { font-size:22px; }
.brand-application-grid p { margin:17px 0 25px; color:var(--muted); font-size:16px; }
.brand-application-grid a { margin-top:auto; font-size:15px; }
.brand-process { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:75px; padding:60px; border-radius:34px; background:var(--green); color:var(--white); }
.brand-process .eyebrow { color:#becfc4; }
.brand-process > div > p { margin-top:25px; color:#d1ded6; font-size:18px; }
.brand-process-seal { display:flex; align-items:center; gap:22px; margin-top:45px; color:#d9e3cc; }
.brand-process-seal .brand-mark { width:56px; height:65px; }
.brand-process-seal span { font-size:17px; font-style:italic; line-height:1.4; }
.brand-process ol { list-style:none; margin:0; padding:0; }
.brand-process li { display:grid; grid-template-columns:42px minmax(0,1fr); gap:23px; padding:25px 0; border-top:1px solid #4d7062; }
.brand-process li:last-child { padding-bottom:0; }
.brand-process li > span { color:#ffc66b; font-size:14px; font-weight:800; padding-top:2px; }
.brand-process h3 { font-size:22px; }
.brand-process li p { margin-top:10px; color:#d1ded6; font-size:16px; }
.brand-delivery { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:80px; align-items:start; }
.brand-delivery-list details { border-bottom:1px solid var(--line); }
.brand-delivery-list details:first-child { border-top:1px solid var(--line); }
.brand-delivery-list summary { display:flex; gap:18px; align-items:center; padding:25px 0; cursor:pointer; list-style:none; font-size:21px; font-weight:800; line-height:1.35; }
.brand-delivery-list summary::-webkit-details-marker { display:none; }
.brand-delivery-list summary span { font-size:13px; color:var(--muted); }
.brand-delivery-list summary::after { content:'+'; flex-shrink:0; margin-left:auto; font-size:24px; font-weight:500; }
.brand-delivery-list details[open] summary::after { content:'−'; }
.brand-delivery-list p { padding:0 30px 28px 36px; font-size:16px; color:var(--muted); }
.brand-cta { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:55px; align-items:center; padding:55px; margin-bottom:var(--section-gap); border-radius:34px; background:var(--green); color:var(--white); }
.brand-cta .eyebrow { color:#becfc4; }
.brand-cta p { margin-top:23px; color:#d1ded6; }
.brand-cta-actions { display:flex; flex-direction:column; gap:15px; align-items:flex-start; }
.brand-cta .text-link { color:#ffc66b; }
.brand-context-grid > *, .brand-case-layout > *, .brand-application-grid > * { min-width:0; }
@media (max-width:1100px) {
  .brand-hero { gap:38px; }
  .brand-board-main { margin-right:40px; padding:28px; }
  .brand-type-sheet { width:150px; padding:19px; top:150px; }
  .brand-type-sheet strong { font-size:65px; }
  .brand-color-strip i { width:35px; height:53px; }
  .brand-system { grid-template-columns:1fr; gap:40px; padding:45px; }
  .brand-system-intro { max-width:750px; }
  .brand-piece { display:flex; align-items:center; gap:25px; }
  .brand-piece-sample { flex:0 0 110px; margin:0; }
  .brand-case-layout { gap:35px; }
  .brand-application-grid article { padding:26px; }
  .brand-process { padding:45px; gap:45px; }
  .brand-delivery { gap:40px; }
  .brand-cta { grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:35px; padding:45px; }
}
@media (max-width:800px) {
  .brand-hero { grid-template-columns:1fr; padding-top:42px; gap:42px; }
  .brand-hero-copy { max-width:650px; }
  .brand-studio-board { width:100%; max-width:550px; margin-inline:auto; }
  .brand-board-main { margin-right:70px; }
  .brand-type-sheet { width:180px; }
  .brand-type-sheet strong { font-size:80px; }
  .brand-context-grid { grid-template-columns:1fr; gap:32px; }
  .brand-context-grid article { display:grid; grid-template-columns:44px minmax(0,1fr); gap:0 20px; }
  .brand-context-grid .brand-number { grid-row:1/3; }
  .brand-context-grid p { grid-column:2; margin-top:10px; }
  .brand-piece { display:block; }
  .brand-piece-sample { margin-bottom:18px; }
  .brand-case-layout, .brand-delivery, .brand-process, .brand-cta { grid-template-columns:1fr; }
  .brand-case-image { max-width:600px; }
  .brand-case-heading { display:block; }
  .brand-case-heading > a { margin-top:15px; }
  .brand-case-copy { padding-top:0; }
  .brand-application-grid { grid-template-columns:1fr; }
  .brand-application-grid .icon { margin-bottom:20px; }
  .brand-application-grid p { max-width:570px; margin-bottom:15px; }
  .brand-delivery .brand-section-heading { margin-bottom:0; }
}
@media (max-width:500px) {
  .brand-hero-copy > p { font-size:18px; }
  .brand-studio-board { padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .brand-board-main { grid-column:1/-1; min-height:0; margin-right:0; padding:26px; transform:none; }
  .brand-board-main > strong { font-size:40px; }
  .brand-board-label { max-width:220px; font-size:10px; }
  .brand-type-sheet { position:static; width:auto; padding:16px; transform:none; }
  .brand-type-sheet strong { font-size:60px; }
  .brand-type-sheet small { font-size:10px; }
  .brand-color-strip { position:static; transform:none; align-items:center; justify-content:center; gap:4px; padding:9px; }
  .brand-color-strip i { width:22px; height:60px; border-radius:6px; }
  .brand-studio-board figcaption { grid-column:1/-1; margin-top:4px; }
  .brand-board-main > strong { max-width:175px; }
  .brand-system, .brand-process, .brand-cta { padding:32px 24px; border-radius:25px; }
  .brand-system-pieces { grid-template-columns:1fr; }
  .brand-piece { display:flex; padding:22px; gap:16px; }
  .brand-piece-sample { flex-basis:78px; height:90px; margin-bottom:0; }
  .brand-piece--type .brand-piece-sample { font-size:58px; }
  .brand-piece--color .brand-piece-sample i { width:31px; height:47px; }
  .brand-case-copy dl > div { grid-template-columns:1fr; gap:6px; }
  .brand-case-image { border-radius:22px; }
  .brand-process li { gap:12px; grid-template-columns:30px minmax(0,1fr); }
  .brand-delivery-list summary { font-size:18px; gap:13px; }
  .brand-delivery-list p { padding-left:0; padding-right:0; }
  .brand-cta-actions { align-items:stretch; }
  .brand-cta .text-link { justify-content:center; }
}
@media (max-width:360px) {
  .brand-type-sheet { padding:13px; }
  .brand-board-main > strong { font-size:35px; }
  .brand-board-main { padding:20px; }
  .brand-piece { display:block; }
  .brand-piece-sample { margin-bottom:18px; }
}
