/* Studio Dawn — Website v3 + BNSonic wordmark + CSS suns. Loads after system.css. */

.shell { max-width: 1320px; margin: 0 auto; padding-inline: clamp(20px, 4vw, 64px); }
.hr { height: 1px; background: var(--hair); border: 0; margin: 0; }

/* ---------- wordmark (BNSonic SVG text, full-bleed width) ---------- */
.wm-svg { display: block; width: 100%; overflow: visible; }
.wm-svg text { font-family: 'BNSonic', var(--grotesque); }
.wm-img { display: block; width: 100%; height: auto; }

/* Hero wordmark — crimson */
.hero-wm { position: absolute; left: 0; right: 0; bottom: clamp(24px, 4vh, 52px);
  padding-inline: clamp(16px, 1.8vw, 24px); }

/* Footer wordmark — pink */
.foot-wm { padding: 0 clamp(16px,2.4vw,40px) clamp(16px,1.8vw,26px); }

/* ---------- CSS sun circles (ecosystem rows) ---------- */
.sun-eco {
  display: inline-block; flex: none;
  width: 14px; height: 14px; border-radius: 50%;
}
.sun-eco.red {
  background: radial-gradient(circle at 35% 35%, #F4844A 0%, #B30024 55%, #7A0018 100%);
}
.sun-eco.coral {
  background: radial-gradient(circle at 35% 35%, #F9A97A 0%, #E05A6B 55%, #B03050 100%);
}

/* ---------- buttons ---------- */
.btn { display: inline-flex; align-items: center; gap: 8px; font-family: var(--grotesque); white-space: nowrap;
  font-weight: 500; font-size: 13px; letter-spacing: 0.01em; padding: 9px 18px;
  border-radius: 999px; border: 1px solid var(--crimson); color: var(--crimson);
  background: transparent; text-decoration: none; transition: background .18s, color .18s; cursor: pointer; }
.btn:hover { background: var(--crimson); color: var(--canvas); }
.btn.on-dark { border-color: color-mix(in oklab, var(--pink) 70%, transparent); color: var(--pink); }
.btn.on-dark:hover { background: var(--pink); color: var(--umber); }

/* ---------- nav ---------- */
.nav { position: fixed; top: 0; left: 0; right: 0; z-index: 50; transition: background .3s, border-color .3s, color .3s;
  border-bottom: 1px solid transparent; color: var(--umber); }
.nav.solid { background: color-mix(in oklab, var(--canvas) 90%, transparent); backdrop-filter: blur(8px);
  border-bottom-color: var(--hair); color: var(--umber); }
.nav-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: clamp(16px,1.8vw,24px); transition: padding .25s; }
.nav.solid .nav-in { padding-block: 13px; }
.brand { font-family: var(--grotesque); font-weight: 600; font-size: 16px; letter-spacing: -0.02em; text-decoration: none; color: inherit; white-space: nowrap; }
.nav-links { display: flex; align-items: center; gap: clamp(18px, 2.4vw, 34px); }
.nav-links a { font-family: var(--mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
  text-decoration: none; color: inherit; opacity: .85; transition: opacity .2s; }
.nav-links a:hover { opacity: 1; }

/* ---------- hero ---------- */
.hero { background: var(--cream); color: var(--umber); min-height: 100vh; position: relative;
  display: flex; flex-direction: column; overflow: hidden; }
.hero-fill { flex: 1; }

/* ---------- content ---------- */
.content { background: var(--canvas); color: var(--umber); position: relative; z-index: 1; }

/* ---------- band backgrounds ---------- */
.band-approach { background: var(--pink); color: var(--umber); }
.band-work     { background: var(--umber); color: var(--cream); }
.band-network  { background: var(--cream); color: var(--umber); }
.band-eco      { background: var(--pink); color: var(--umber); }
.band-contact  { background: var(--umber); color: var(--cream); }

/* dark bands — light heads */
.band-work .sec-head, .band-contact .sec-head { color: color-mix(in oklab, var(--cream) 80%, transparent); }
.band-work .sec-title { color: var(--cream); }
.band-work .sec-sub { color: color-mix(in oklab, var(--cream) 82%, transparent); }

/* ways to work on umber */
.band-work .group { border-top-color: rgba(245,230,208,0.28); }
.band-work .group .g-lab { color: var(--pink); }
.band-work .group .g-meta { color: color-mix(in oklab, var(--cream) 66%, transparent); }
.band-work .offer { border-top-color: rgba(245,230,208,0.18); }
.band-work .offer .nm { color: var(--cream); }
.band-work .offer .for { color: var(--cream); }
.band-work .offer .detail p { color: color-mix(in oklab, var(--cream) 88%, transparent); }
.band-work .offer .detail .lead { color: color-mix(in oklab, var(--cream) 78%, transparent); }
.band-work .offer .tag { border-color: rgba(245,230,208,0.3); color: color-mix(in oklab, var(--cream) 78%, transparent); }
.band-work .vex { border-top-color: rgba(245,230,208,0.18); }
.band-work .vex .vh { color: var(--pink); }
.band-work .vex li { color: var(--cream); }
.band-work .vex li::before { background: var(--pink); }
.band-work .note { border-top-color: rgba(245,230,208,0.28); }
.band-work .note .nm { color: var(--cream); }
.band-work .note .bd { color: color-mix(in oklab, var(--cream) 72%, transparent); }
.band-work .btn { border-color: color-mix(in oklab, var(--pink) 70%, transparent); color: var(--pink); }
.band-work .btn:hover { background: var(--pink); color: var(--umber); }

/* ---------- edge ---------- */
.edge { width: 100%; padding-inline: clamp(16px, 1.8vw, 24px); }

/* ---------- approach ---------- */
.ethos { display: grid; gap: clamp(24px,2.8vw,40px); max-width: none; margin-top: clamp(8px, 1.5vw, 20px); }
.ethos-kicker { font-family: var(--mono); font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--crimson); line-height: 1.6; margin: 0 0 clamp(8px,1vw,14px); }
.ethos-stmt { font-family: var(--grotesque); font-weight: 500; letter-spacing: -0.02em; line-height: 1.24;
  font-size: clamp(21px,2.5vw,33px); color: var(--umber); margin: 0; max-width: 52ch; text-wrap: pretty; }
.band-approach .approach { border-top-color: var(--hair-strong); margin-top: clamp(48px,6vw,84px); }
.band-approach .approach .col + .col { border-left-color: var(--hair); }
.band-approach .approach .lab { color: var(--umber); }
.band-approach .approach .col.after .lab { color: var(--crimson); }
.band-approach .approach .col p, .band-approach .approach .col.before p { color: var(--umber); font-size: clamp(15px,1.5vw,17px); line-height: 1.55; }

/* ---------- network accordion ---------- */
.net-acc { margin-top: clamp(30px,3.5vw,46px); }
.net-item { border-top: 1px solid var(--hair); }
.net-item:last-child { border-bottom: 1px solid var(--hair); }
.net-item summary { display: grid; grid-template-columns: minmax(150px,1fr) 1.7fr 32px; column-gap: clamp(24px,4vw,64px);
  align-items: baseline; padding: 20px 0; cursor: pointer; list-style: none; }
.net-item summary::-webkit-details-marker { display: none; }
.net-nm { grid-column: 1; font-size: clamp(18px,1.9vw,24px); font-weight: 600; letter-spacing: -0.022em; color: var(--umber); line-height: 1.12; }
.net-item .pls { grid-column: 3; align-self: center; }
.net-ro { grid-column: 2; font-family: var(--grotesque); font-weight: 300; font-size: clamp(16px,1.7vw,19px);
  letter-spacing: -0.005em; color: var(--umber); line-height: 1.4; }
.net-detail { display: grid; grid-template-columns: minmax(150px,1fr) 1.7fr 32px; column-gap: clamp(24px,4vw,64px); padding: 2px 0 26px; }
.net-detail > * { grid-column: 2; max-width: 64ch; }
.net-detail p { font-size: 15px; line-height: 1.6; color: var(--umber); margin: 0 0 14px; max-width: 62ch; }
.net-detail .who-links { margin: 16px 0 0; }
.net-detail .meta-rows { margin-top: 24px; }
.band-network .btn.on-dark { border-color: var(--crimson); color: var(--crimson); }
.band-network .btn.on-dark:hover { background: var(--crimson); color: var(--canvas); }

/* ---------- contact on umber ---------- */
.c-callout { margin-top: clamp(28px,3vw,40px); padding-top: clamp(20px,2.5vw,28px); border-top: 1px solid rgba(245,230,208,0.22); }
.c-bighead { font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.08em; font-size: 13px;
  line-height: 1.7; color: var(--cream); margin: 0 0 18px; max-width: 26ch; }
.band-contact .c-cta { border-color: color-mix(in oklab, var(--pink) 72%, transparent); color: var(--pink); }
.band-contact .c-cta:hover { background: var(--pink); color: var(--umber); }
.band-contact .c-row { border-top-color: rgba(245,230,208,0.22); }
.band-contact .c-row:last-child { border-bottom-color: rgba(245,230,208,0.22); }
.band-contact .c-row .c-k { color: var(--pink); }
.band-contact .c-row .c-val { color: var(--pink); }
.band-contact .c-row .c-val.plain { color: color-mix(in oklab, var(--cream) 86%, transparent); }
.band-contact .c-form input, .band-contact .c-form textarea, .band-contact .c-form select {
  background: var(--umber); color: var(--cream); border-color: rgba(245,230,208,0.55); }
.band-contact .c-form input::placeholder, .band-contact .c-form textarea::placeholder { color: color-mix(in oklab, var(--cream) 48%, transparent); }
.band-contact .c-form select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23F5E6D0' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
.band-contact .c-form input:focus, .band-contact .c-form textarea:focus, .band-contact .c-form select:focus {
  border-color: var(--cream); box-shadow: 0 0 0 3px rgba(245,230,208,0.18); }
.band-contact .fl { color: var(--pink); }
.band-contact .fl i { color: var(--pink); }
.band-contact .c-privacy { color: color-mix(in oklab, var(--cream) 70%, transparent); }
.band-contact .c-submit { background: var(--pink); color: var(--umber); border-color: var(--pink); }
.band-contact .c-submit:hover { background: var(--cream); border-color: var(--cream); }
.band-contact .c-success { border-top-color: rgba(245,230,208,0.26); }
.band-contact .c-success .c-k { color: var(--pink); }
.band-contact .c-success h3 { color: var(--cream); }
.band-contact .c-success p { color: color-mix(in oklab, var(--cream) 82%, transparent); }

.section { padding-block: clamp(58px, 7vw, 104px); border-top: 1px solid var(--hair-strong); }
.content > .shell > .section:first-child { border-top: 0; }

.section { position: relative; }
.sec-head { display: flex; align-items: center; gap: 11px; justify-content: flex-start;
  border-top: 0; padding-block: 0; font-family: var(--mono); font-size: 12px;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--umber-2); margin-bottom: clamp(26px, 3.2vw, 42px); }

/* rising sun wayfinding */
.sun-mark { position: relative; flex: none; align-self: center;
  width: 20px; height: 20px; border-radius: 50%; background: var(--crimson); }
.sun-mark.s1 { clip-path: inset(0 0 82% 0); }
.sun-mark.s2 { clip-path: inset(0 0 60% 0); }
.sun-mark.s3 { clip-path: inset(0 0 40% 0); }
.sun-mark.s4 { clip-path: inset(0 0 18% 0); }
.sun-mark.s5 { clip-path: inset(0 0 0 0); }
.band-work .sun-mark, .band-contact .sun-mark { background: var(--pink); }

.sec-title { font-weight: 600; letter-spacing: -0.02em; line-height: 1.12; font-size: clamp(20px, 2vw, 27px);
  max-width: 30ch; text-wrap: balance; }
.sec-sub { font-size: clamp(14px, 1.3vw, 16px); color: var(--umber-2); max-width: 56ch; margin-top: 16px; line-height: 1.5; }

/* approach */
.approach { display: grid; grid-template-columns: 1fr 1fr; column-gap: clamp(24px, 5vw, 80px);
  margin-top: clamp(36px, 4vw, 56px); border-top: 1px solid var(--hair-strong); }
.approach .col { padding-top: 22px; }
.approach .col + .col { border-left: 1px solid var(--hair); padding-left: clamp(24px, 4vw, 56px); }
.approach .lab { font-family: var(--mono); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; }
.approach .col.after .lab { color: var(--crimson); }
.approach .col p { font-size: clamp(15px, 1.5vw, 18px); line-height: 1.5; letter-spacing: -0.01em; margin: 16px 0 0; max-width: 42ch; }
.approach .col.before p { color: var(--umber-2); }

/* ways to work */
.group { display: flex; align-items: baseline; gap: 14px; margin: clamp(34px,4vw,52px) 0 0;
  border-bottom: 1px solid var(--hair-strong); padding-bottom: 14px; }
.group:first-of-type { margin-top: clamp(26px,3vw,40px); }
.group .g-lab { font-family: var(--mono); font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase;
  font-weight: 700; color: var(--umber); }
.group .g-meta { font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; color: var(--umber-2); }

.offer { border-top: 1px solid var(--hair); }
.offers .offer:first-child { border-top: 0; }
.offer summary { display: grid; grid-template-columns: minmax(150px, 1fr) 1.7fr 32px; column-gap: clamp(24px,4vw,64px);
  align-items: baseline; padding: 24px 0; cursor: pointer; list-style: none; }
.offer summary::-webkit-details-marker { display: none; }
.offer .nm { grid-column: 1; font-size: clamp(18px, 1.9vw, 24px); font-weight: 600; letter-spacing: -0.022em; line-height: 1.12; }
.offer .for { grid-column: 2; font-family: var(--grotesque); font-size: clamp(16px,1.7vw,19px); font-weight: 300;
  letter-spacing: -0.005em; color: var(--umber); line-height: 1.4; }

.pls { justify-self: end; align-self: start;
  font-family: var(--grotesque); font-weight: 700; font-size: 32px; line-height: 0.7; color: var(--crimson);
  transition: transform .25s; }
.offer .pls { grid-column: 3; align-self: center; }
details[open] > summary .pls { transform: rotate(45deg); }
.band-work .pls, .band-contact .pls { color: var(--pink); }

.offer .detail { display: grid; grid-template-columns: minmax(150px,1fr) 1.7fr 32px; column-gap: clamp(24px,4vw,64px); padding: 0 0 28px; }
.offer .detail .body { grid-column: 2; max-width: 64ch; }
.offer .detail .lead { font-size: 15px; color: var(--umber-2); margin: 0 0 18px; line-height: 1.55; }
.offer .detail p { font-size: 15px; color: var(--umber); margin: 0 0 18px; line-height: 1.55; }
.offer .tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 20px; }
.offer .tag { font-family: var(--mono); font-size: 11px; letter-spacing: 0.04em; border: 1px solid var(--hair-strong);
  border-radius: 999px; padding: 5px 11px; color: var(--umber-2); }
.vex { border-top: 1px solid var(--hair); padding-top: 16px; margin-bottom: 20px; }
.vex .vh { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--crimson); font-weight: 700; margin-bottom: 12px; }
.vex ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.vex li { display: flex; gap: 11px; font-size: 14px; color: var(--umber); line-height: 1.45; align-items: baseline; }
.vex li::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--pink-deep); transform: translateY(-1px); }

.note { display: block; margin-top: 44px; border-top: 1px solid var(--hair-strong); padding-top: 26px; }
.note .nm { font-size: clamp(18px,1.8vw,24px); font-weight: 600; letter-spacing: -0.02em; }
.note .bd { font-size: 14px; color: var(--umber-2); line-height: 1.55; max-width: 60ch; margin-top: 14px; }
.note .btn { margin-top: 20px; }

/* network */
.who-links { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 16px; }
.who-links a { font-family: var(--mono); font-size: 12px; letter-spacing: 0.04em; color: var(--umber-2); text-decoration: none; border-bottom: 1px solid var(--hair-strong); padding-bottom: 2px; }
.who-links a:hover { color: var(--crimson); border-bottom-color: var(--crimson); }
.meta-rows { margin-top: 34px; }
.meta-rows .r { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(16px,3vw,48px); border-top: 1px solid var(--hair); padding: 15px 0; }
.meta-rows .r .k { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--umber-2); }
.meta-rows .r .v { font-size: 13.5px; color: var(--umber); line-height: 1.7; }

/* ecosystem */
.eco { margin-top: clamp(32px,4vw,48px); }
.eco .row { display: grid; grid-template-columns: 14px 200px 1fr auto; gap: clamp(14px,2.4vw,32px); align-items: center;
  border-top: 1px solid var(--hair); padding: 16px 0; }
.eco .row:last-child { border-bottom: 1px solid var(--hair); }
.eco .row .s { width: 14px; height: 14px; border-radius: 50%; }
.eco .row .nm { font-size: 17px; font-weight: 600; letter-spacing: -0.015em; }
.eco .row .ds { font-size: 13.5px; color: var(--umber-2); line-height: 1.45; }
.eco .row .ln { justify-self: end; }
.eco .row .ln a { font-family: var(--mono); font-size: 12px; letter-spacing: 0.02em; color: var(--crimson); text-decoration: none; white-space: nowrap; }
.eco .row .ln a:hover { text-decoration: underline; }

/* ---------- footer ---------- */
.foot { background: var(--umber); color: var(--cream); position: relative; overflow: hidden; border-top: 1px solid rgba(245,230,208,0.22); }
.foot-sign { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; flex-wrap: wrap;
  padding-top: clamp(56px, 7vw, 100px); padding-bottom: clamp(40px,5vw,68px); }
.foot-kicker { font-family: var(--mono); font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; line-height: 1.85;
  color: color-mix(in oklab, var(--cream) 86%, transparent); margin: 0; max-width: none; }
.foot-kicker b { color: var(--pink); font-weight: 400; }
.foot-wm { padding: 0 clamp(16px,2.4vw,40px) clamp(16px,1.8vw,26px); }
.foot-legal { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-family: var(--mono);
  font-size: 11px; letter-spacing: 0.05em; color: color-mix(in oklab, var(--cream) 56%, transparent); padding-bottom: clamp(20px,2.4vw,32px); }

/* ---------- contact form ---------- */
.contact-grid { display: grid; grid-template-columns: 4fr 6fr; gap: clamp(28px, 5vw, 72px);
  margin-top: clamp(34px,4vw,52px); align-items: start; }
.c-cta { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; font-family: var(--grotesque); font-weight: 500;
  font-size: 14px; letter-spacing: 0.01em; padding: 11px 22px; border-radius: 999px; border: 1px solid var(--crimson);
  color: var(--crimson); background: transparent; text-decoration: none; transition: background .18s, color .18s; margin-bottom: 30px; }
.c-cta:hover { background: var(--crimson); color: var(--canvas); }
.c-list { display: grid; }
.c-row { display: grid; grid-template-columns: 92px 1fr; gap: 16px; align-items: baseline;
  border-top: 1px solid var(--hair-strong); padding: 14px 0; }
.c-row:last-child { border-bottom: 1px solid var(--hair-strong); }
.c-row .c-k { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--umber-2); }
.c-row .c-val { font-size: 15px; color: var(--crimson); text-decoration: none; letter-spacing: -0.005em; }
.c-row a.c-val:hover { text-decoration: underline; }
.c-row .c-val.plain { color: var(--umber); line-height: 1.5; }

.c-form { display: grid; gap: 16px; }
.field { display: grid; gap: 8px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.fl { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--umber-2); }
.fl i { color: var(--crimson); font-style: normal; }
.c-form input, .c-form textarea, .c-form select {
  font-family: var(--grotesque); font-size: 15px; color: var(--umber); background: var(--canvas);
  border: 1px solid var(--hair-strong); border-radius: 8px; padding: 13px 14px; width: 100%;
  appearance: none; transition: border-color .18s, box-shadow .18s; }
.c-form textarea { resize: vertical; line-height: 1.5; }
.c-form select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237B3F20' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; cursor: pointer; }
.c-form input::placeholder, .c-form textarea::placeholder { color: color-mix(in oklab, var(--umber-2) 55%, transparent); }
.c-form input:focus, .c-form textarea:focus, .c-form select:focus {
  outline: none; border-color: var(--crimson); box-shadow: 0 0 0 3px color-mix(in oklab, var(--crimson) 14%, transparent); }
.c-submit { justify-self: start; white-space: nowrap; font-family: var(--grotesque); font-weight: 600; font-size: 15px; letter-spacing: -0.005em;
  background: var(--umber); color: var(--cream); border: 1px solid var(--umber); border-radius: 999px;
  padding: 13px 28px; cursor: pointer; transition: background .18s, color .18s; margin-top: 4px; }
.c-submit:hover { background: var(--crimson); border-color: var(--crimson); }
.c-privacy { font-family: var(--mono); font-size: 11px; letter-spacing: 0.02em; color: var(--umber-2); line-height: 1.5; margin: 4px 0 0; max-width: 52ch; }
.c-success { border-top: 1px solid var(--hair-strong); padding-top: 26px; }
.c-success .c-k { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 10px; }
.c-success h3 { font-size: clamp(22px,2.4vw,32px); font-weight: 600; letter-spacing: -0.02em; margin: 0 0 14px; }
.c-success p { font-size: 15px; color: var(--umber-2); line-height: 1.55; max-width: 44ch; }

@media (max-width: 860px) {
  .approach { grid-template-columns: 1fr; }
  .approach .col + .col { border-left: 0; padding-left: 0; border-top: 1px solid var(--hair); }
  .offer summary { grid-template-columns: 1fr auto; column-gap: 16px; row-gap: 8px; align-items: center; }
  .offer .nm { grid-column: 1; }
  .offer .for { grid-column: 1 / -1; grid-row: 2; }
  .offer .pls { grid-column: 2; grid-row: 1; }
  .offer .detail { grid-template-columns: 1fr; }
  .offer .detail .body { grid-column: 1; }
  .net-item summary { grid-template-columns: 1fr auto; column-gap: 16px; row-gap: 6px; align-items: center; }
  .net-nm { grid-column: 1; }
  .net-ro { grid-column: 1 / -1; grid-row: 2; }
  .net-item .pls { grid-column: 2; grid-row: 1; }
  .net-detail { grid-template-columns: 1fr; }
  .net-detail > * { grid-column: 1; }
  .meta-rows .r { grid-template-columns: 1fr; }
  .note { gap: 16px; }
  .eco .row { grid-template-columns: 14px 1fr; }
  .eco .row .ds, .eco .row .ln { grid-column: 2; justify-self: start; }
  .contact-grid { grid-template-columns: 1fr; }
  .field-row { grid-template-columns: 1fr; }
  .foot-sign { align-items: flex-start; }
}

@media (max-width: 560px) {
  .section { padding-block: clamp(44px, 12vw, 68px); }
  .nav-in { gap: 12px; }
  .nav-links { gap: 16px; }
  .nav-links a { font-size: 11px; letter-spacing: 0.06em; }
  .brand { font-size: 15px; }
  .hero { min-height: 86vh; }
  .ethos { gap: 18px; }
  .ethos-stmt { font-size: 20px; line-height: 1.3; max-width: none; }
  .approach { margin-top: 36px; }
  .approach .col p { font-size: 15px; }
  .meta-rows .r { gap: 5px; padding: 14px 0; }
  .net-detail .meta-rows .r { gap: 5px; }
  .c-row { grid-template-columns: 1fr; gap: 4px; }
  .c-bighead { font-size: 12px; }
  .offer .for, .net-ro { font-size: 16px; }
  .offer .nm, .net-nm { font-size: 20px; }
  .offer .detail .lead { font-size: 14px; }
  .foot-sign { flex-direction: column; gap: 18px; }
  .foot-legal { flex-direction: column; gap: 6px; }
  .foot-kicker { font-size: 12px; line-height: 1.75; }
  .eco .row { row-gap: 4px; }
}
