/* Graphic design: a studio sample board and a broad, browsable service offering. */
.design-hero-grid { display:grid; grid-template-columns:1fr 1.08fr; gap:64px; align-items:center; }
.design-hero-grid > * { min-width:0; }
.design-page .page-hero h1 { font-size:clamp(58px,6.2vw,88px); max-width:none; line-height:1.03; }
.design-page .page-hero h1 em { color:var(--red); }
.design-page .design-hero-copy .lead { max-width:25ch; margin-bottom:22px; }
.design-hero-description { font-size:17px; color:var(--muted); max-width:44ch; }
.design-hero-copy .hero-actions { gap:18px 24px; margin-top:30px; }
.design-hero-copy .text-link { font-size:14px; }
.design-studio-board { background:#e5e2d8; padding:26px; overflow:hidden; }
.design-board-grid { display:grid; grid-template-columns:1.18fr 1fr; grid-template-rows:1fr .68fr; gap:18px; aspect-ratio:1 / 1.05; }
.design-board-grid > * { min-width:0; position:relative; }
.design-art-kicker { display:block; font-size:8px; line-height:1.4; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.design-poster { background:var(--red); color:var(--paper); padding:20px; display:flex; flex-direction:column; transform:rotate(-5deg); box-shadow:3px 6px 12px #1d1e1b1a; z-index:2; }
.design-poster-headline { font-size:clamp(29px,3.25vw,46px); font-weight:600; letter-spacing:-.06em; line-height:1.02; margin-top:22px; }
.design-poster-headline i { font-family:Georgia,serif; font-weight:400; }
.design-poster-arrow { font-size:56px; line-height:1; font-weight:400; margin-top:12px; }
.design-poster-footer { font-size:8px; margin-top:auto; padding-top:12px; letter-spacing:.04em; }
.design-bottle-scene { display:flex; justify-content:center; align-items:center; }
.design-bottle { position:relative; z-index:1; width:67%; height:84%; margin-top:20px; border-radius:32% 32% 17% 17% / 16% 16% 8% 8%; background:linear-gradient(90deg,#b0b59f,#dbe0c8 26%,#ccd1b8 65%,#a6ac97); transform:rotate(9deg); box-shadow:6px 10px 9px #1d1e1b12; display:flex; align-items:center; justify-content:center; }
.design-bottle-cap { position:absolute; left:26%; right:26%; top:-18px; height:25px; background:repeating-linear-gradient(90deg,#262a23 0 2px,#404438 2px 3px); border-radius:5px 5px 1px 1px; border-bottom:4px solid #191c17; }
.design-bottle-label { width:86%; text-align:center; padding-top:10px; color:#2a3525; }
.design-bottle-label > span { display:block; font-size:clamp(27px,3vw,41px); line-height:.86; font-weight:700; letter-spacing:-.07em; }
.design-bottle-dot { color:var(--red); }
.design-bottle-label small { display:block; font-size:8px; line-height:1.5; margin-top:20px; }
.design-bottle-shadow { position:absolute; width:75%; height:12px; background:#1d1e1b19; filter:blur(7px); bottom:0; border-radius:50%; transform:rotate(9deg); }
.design-certificate { background:#faf8ee; padding:20px; align-self:center; border:5px solid #faf8ee; outline:1px solid #8c8c7240; outline-offset:-11px; transform:rotate(-3deg); box-shadow:2px 5px 9px #1d1e1b1a; }
.design-certificate .design-art-kicker { font-size:6px; }
.design-certificate-title { display:block; font-family:Georgia,serif; font-size:clamp(20px,2.1vw,30px); line-height:1.05; margin:14px 0; letter-spacing:-.04em; }
.design-certificate-title i { color:var(--red); }
.design-certificate-rule { display:block; width:58%; border-top:1px solid #b2b29c; margin-bottom:7px; }
.design-certificate-detail { display:block; font-size:5px; }
.design-certificate-seal { position:absolute; right:17px; bottom:15px; display:grid; place-items:center; width:27px; height:27px; border:1px solid #9f8857; border-radius:50%; color:#9f8857; font-size:18px; }
.design-logo-card { align-self:center; background:var(--ink); color:var(--paper); padding:20px; transform:rotate(7deg); display:flex; flex-direction:column; justify-content:space-between; aspect-ratio:1.25; box-shadow:3px 6px 12px #1d1e1b1a; }
.design-logo-card .design-art-kicker { font-size:6px; }
.design-monogram { font-family:Georgia,serif; font-size:clamp(49px,5.2vw,74px); font-style:italic; line-height:1; letter-spacing:-.1em; }
.design-monogram > span { display:inline-block; color:#d1d6b7; font-family:Arial,sans-serif; font-size:.45em; vertical-align:top; margin-left:8px; padding-top:6px; }
.design-logo-caption { font-size:6px; letter-spacing:.03em; }
.design-hero-art figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 20px; padding-top:16px; font-size:11px; }
.design-hero-art figcaption > span:last-child { color:var(--muted); }
.design-format-line { display:flex; justify-content:space-between; gap:20px; margin-top:52px; padding-top:24px; border-top:1px solid var(--rule); font-size:12px; text-transform:uppercase; letter-spacing:.1em; font-weight:600; }
.design-capabilities { display:grid; grid-template-columns:repeat(3,1fr); gap:0 40px; margin-top:50px; }
.design-capability { border-top:1px solid var(--ink); padding:25px 0 34px; }
.design-capability-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:28px; }
.design-capability-top .step-number { font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
.design-category-mark { color:var(--red); font-family:Georgia,serif; font-size:36px; line-height:1; letter-spacing:-.08em; }
.design-capability h3 { font-size:29px; line-height:1.12; max-width:15ch; min-height:2.24em; margin:0 0 20px; }
.design-capability p { color:var(--muted); font-size:16px; margin-bottom:22px; }
.design-capability ul { list-style:none; padding:0; margin:0; font-size:13px; line-height:1.6; }
.design-capability li { padding:8px 0; border-top:1px solid var(--rule); }
.design-open-brief { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:25px 0 0; border-top:1px solid var(--rule); }
.design-open-brief p { font-size:16px; margin:0; max-width:58ch; }
.design-open-brief strong { font-weight:600; }
.design-open-brief .small-link { flex-shrink:0; }
.design-connected { background:var(--sage); }
.design-connected-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px 80px; }
.design-connected h2 { margin:0; }
.design-connected-copy > p:not(.lead) { color:var(--muted); font-size:17px; }
.design-connected-sequence { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:18px; padding-top:32px; margin-top:8px; border-top:1px solid #b8bdaf; font-size:clamp(16px,1.8vw,23px); letter-spacing:-.025em; }
.design-connected-sequence > span[aria-hidden] { color:var(--red); }
.design-work-intro { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; }
.design-work-intro h2 { margin:0; }
.design-work-intro > p { font-size:17px; color:var(--muted); max-width:38ch; margin:0; }
.design-work-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:42px; }
.design-work-story { min-width:0; }
.design-work-image { display:block; height:380px; background:#e9e2d7; padding:35px 35px 0; overflow:hidden; }
.design-work-image-sage { background:#dce1d8; }
.design-work-image img { width:min(100%,340px); height:auto; margin-inline:auto; box-shadow:0 3px 15px #1d1e1b14; }
.design-work-story .story-meta { margin-top:22px; gap:12px; flex-wrap:wrap; }
.design-work-story h3 { font-size:30px; margin:12px 0 4px; }
.design-work-story .small-link { margin-top:6px; }
@media (min-width:1500px) {
  .design-poster-headline { font-size:46px; }
}
@media (max-width:1100px) {
  .design-hero-grid { gap:36px; }
  .design-page .page-hero h1 { font-size:clamp(51px,6.2vw,72px); }
  .design-studio-board { padding:21px; }
  .design-board-grid { gap:14px; }
  .design-poster { padding:17px; }
  .design-poster-headline { margin-top:16px; }
  .design-poster-arrow { font-size:40px; margin-top:8px; }
  .design-capabilities { gap:0 28px; }
  .design-capability h3 { font-size:26px; }
  .design-connected-grid,.design-work-intro { gap:35px 45px; }
  .design-certificate { padding:16px; }
  .design-certificate-title { margin:10px 0; }
  .design-logo-card { padding:16px; }
}
@media (max-width:800px) {
  .design-hero-grid { grid-template-columns:1fr; gap:38px; }
  .design-page .page-hero h1 { font-size:clamp(58px,9vw,76px); }
  .design-page .design-hero-copy .lead { max-width:32ch; }
  .design-hero-description { max-width:58ch; }
  .design-hero-art { width:100%; max-width:600px; }
  .design-studio-board { padding:32px; }
  .design-board-grid { gap:24px; }
  .design-poster { padding:24px; }
  .design-poster-headline { font-size:clamp(33px,6.5vw,50px); margin-top:24px; }
  .design-poster-arrow { font-size:60px; }
  .design-art-kicker { font-size:9px; }
  .design-bottle-label > span { font-size:clamp(35px,6.5vw,48px); }
  .design-bottle-label small { font-size:9px; }
  .design-certificate { padding:23px; }
  .design-certificate-title { font-size:clamp(25px,4.3vw,34px); margin:18px 0; }
  .design-certificate-detail { font-size:6px; }
  .design-certificate-seal { width:31px; height:31px; }
  .design-logo-card { padding:24px; }
  .design-monogram { font-size:clamp(58px,11vw,80px); }
  .design-logo-caption,.design-logo-card .design-art-kicker,.design-certificate .design-art-kicker { font-size:7px; }
  .design-capabilities { grid-template-columns:1fr 1fr; gap:0 32px; margin-top:35px; }
  .design-capability h3 { font-size:28px; }
  .design-connected-grid,.design-work-intro { grid-template-columns:1fr; gap:28px; }
  .design-connected-copy { max-width:57ch; }
  .design-connected-sequence { flex-wrap:wrap; justify-content:flex-start; gap:12px 20px; font-size:18px; }
  .design-work-grid { gap:28px; }
  .design-work-image { height:320px; padding:26px 24px 0; }
  .design-work-story h3 { font-size:27px; }
  .design-open-brief { align-items:start; flex-direction:column; gap:10px; }
}
@media (max-width:540px) {
  .design-page .page-hero h1 { font-size:clamp(48px,12vw,64px); }
  .design-hero-description { font-size:16px; }
  .design-hero-copy .hero-actions { gap:12px; }
  .design-studio-board { padding:20px; }
  .design-board-grid { gap:14px; }
  .design-art-kicker { font-size:6px; }
  .design-poster { padding:14px; }
  .design-poster-headline { font-size:clamp(23px,6.5vw,34px); margin-top:15px; }
  .design-poster-arrow { font-size:38px; }
  .design-poster-footer { font-size:5px; padding-top:10px; }
  .design-bottle { height:80%; width:72%; margin-top:10px; }
  .design-bottle-cap { top:-12px; height:18px; }
  .design-bottle-label > span { font-size:clamp(23px,6.7vw,34px); }
  .design-bottle-label small { font-size:6px; margin-top:15px; }
  .design-certificate { padding:12px; outline-offset:-8px; }
  .design-certificate-title { font-size:clamp(18px,4.6vw,24px); margin:10px 0; }
  .design-certificate-detail { font-size:4px; }
  .design-certificate-seal { right:10px; bottom:10px; width:18px; height:18px; font-size:12px; }
  .design-certificate .design-art-kicker,.design-logo-card .design-art-kicker,.design-logo-caption { font-size:5px; }
  .design-logo-card { padding:14px; }
  .design-monogram { font-size:clamp(40px,11vw,57px); }
  .design-monogram > span { margin-left:5px; }
  .design-hero-art figcaption { font-size:10px; padding-top:13px; }
  .design-format-line { margin-top:30px; padding-top:18px; gap:8px; font-size:9px; letter-spacing:.04em; }
  .design-capabilities { grid-template-columns:1fr; }
  .design-capability { padding:22px 0 30px; }
  .design-capability-top { margin-bottom:22px; }
  .design-capability h3 { min-height:0; max-width:19ch; font-size:29px; margin-bottom:16px; }
  .design-capability p { max-width:42ch; }
  .design-connected-sequence { gap:12px; font-size:16px; }
  .design-work-grid { grid-template-columns:1fr; gap:38px; margin-top:30px; }
  .design-work-image { height:340px; padding:28px 28px 0; }
}
@media print {
  .design-hero-grid,.design-capabilities { grid-template-columns:1fr 1fr; }
  .design-studio-board { print-color-adjust:exact; }
  .design-capability { break-inside:avoid; }
}
