/* About desktop frame: 1440 × 5633.05 Figma px, including the optional banner.
   These scoped rules leave the landing page and other inner pages unchanged. */
.about-page { color:#1e1e1e; }
.about-page .button { height:60rem; padding:16rem 32rem; gap:10rem; font-size:20rem; line-height:28rem; }
.about-page .button i { width:20rem; height:20rem; font-size:20rem; }
.about-page-hero { position:relative; height:580rem; }
.about-hero-scallops { position:absolute; inset:0; display:flex; }
.about-hero-scallops span { flex:1; background:var(--yellow); border-radius:0 0 56rem 56rem; }
.about-page-nav { position:absolute; top:16rem; left:16rem; width:1408rem; height:92rem; padding:16rem 16rem 16rem 34rem; display:flex; align-items:center; justify-content:space-between; }
.about-nav-left,.about-nav-right { display:flex; align-items:center; gap:24rem; flex:1; }
.about-nav-right { justify-content:flex-end; }
.about-page-nav a:not(.about-wordmark) { display:inline-flex; align-items:center; min-height:48rem; font-size:20rem; line-height:28rem; white-space:nowrap; }
.about-wordmark { display:block; width:59.81rem; height:60rem; flex:none; }
.about-wordmark img { width:100%; height:100%; display:block; filter:brightness(0); }
.book-call { color:var(--ink); }
.availability-pill { width:32rem; height:16rem; border-radius:24rem; background:#06954e; flex:none; }
.book-call[data-availability="full"] .availability-pill { background:#ef3c3c; }
.about-hero-copy { position:absolute; top:188rem; left:100rem; width:1240rem; display:flex; flex-direction:column; align-items:center; gap:24rem; }
.about-hero-heading { display:flex; flex-direction:column; align-items:center; }
.about-hero-heading h1 { width:1240rem; height:128rem; font-size:128rem; line-height:1; text-align:center; }
.about-hero-heading p { width:900rem; font-size:24rem; line-height:29rem; letter-spacing:-.48rem; text-align:center; text-transform:uppercase; }
.about-socials { display:flex; align-items:center; justify-content:center; gap:16rem; }
.about-socials .glass { background:rgb(16 24 90 / 60%); }
.about-socials .glass:hover { background:rgb(16 24 90 / 72%); }
.about-socials .glass:active { background:rgb(16 24 90 / 82%); }
.about-capabilities { height:708rem; padding:64rem 100rem; display:flex; flex-direction:column; gap:64rem; }
.about-section-heading { display:flex; flex-direction:column; gap:8rem; }
.about-section-heading p { font-size:24rem; line-height:29rem; letter-spacing:-.48rem; color:black; }
.about-section-heading h2 { font-size:64rem; line-height:77rem; color:black; }
.about-capability-grid { display:flex; justify-content:space-between; align-items:flex-start; width:1240rem; }
.about-capability { width:352.25rem; border-top:2rem solid rgb(1 24 6 / 20%); padding-top:24rem; display:flex; flex-direction:column; gap:24rem; }
.about-capability-number { position:relative; width:98rem; height:98rem; flex:none; }
.about-capability-number.product { width:113rem; }
.about-capability-number img { display:block; width:100%; height:100%; }
.about-capability-number span { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font:400 48rem/1 Chunko,sans-serif; transform:translateY(4.8rem); }
.about-capability-number.product span { color:white; transform:translateY(14.43rem); }
.about-capability-copy { padding:1rem 0; }
.about-capability h3 { font-size:32rem; line-height:38.4rem; color:black; }
.about-capability p { font-size:18rem; line-height:25.2rem; color:rgb(0 0 0 / 70%); }
.about-capability .about-capability-skills { padding:1rem 0; color:#7f828b; }
.about-story { height:748rem; padding:16rem; }
.about-story-panel { height:716rem; width:1408rem; padding:64rem 84rem; display:flex; gap:64rem; border-radius:20rem; background:var(--ink); color:white; }
.about-story-copy { width:588rem; height:588rem; flex:none; display:flex; flex-direction:column; justify-content:space-between; }
.about-story-copy h2 { font-size:64rem; line-height:77rem; }
.about-story-bio { display:flex; flex-direction:column; align-items:flex-start; gap:32rem; }
.about-story-bio>div { min-height:300rem; display:flex; flex-direction:column; justify-content:center; }
.about-story-bio p { font-size:18rem; line-height:25rem; }
.about-flower-portrait { display:block; width:588rem; height:588rem; flex:none; }
.about-process { height:1048rem; padding:64rem 100rem; display:flex; align-items:center; gap:64rem; }
.about-process-portrait { display:block; width:619rem; height:920rem; flex:none; }
.about-process-copy { width:557rem; display:flex; flex-direction:column; gap:32rem; }
.about-process-copy>h2 { font:400 18rem/25rem Belanosima,sans-serif; color:var(--ink); }
.about-process-list { display:flex; flex-direction:column; gap:24rem; list-style:none; margin:0; padding:0; }
.about-process-step { padding-top:24rem; border-top:1rem solid rgb(1 24 6 / 20%); display:flex; flex-direction:column; gap:16rem; }
.about-process-heading { display:flex; align-items:center; gap:12rem; height:48rem; }
.about-process-number { position:relative; width:48.05rem; height:48rem; flex:none; }
.about-process-number img { display:block; width:100%; height:100%; }
.about-process-number span { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:white; font:400 23.5102rem/1 Chunko,sans-serif; transform:translateY(2.351rem); }
.about-process-number.understand span { color:#1e1e1e; }
.about-process-heading h3 { font-size:60rem; line-height:1; white-space:nowrap; transform:translateY(6rem); color:black; }
.about-process-step p { font-size:20rem; line-height:28rem; color:black; }
.about-page .roles-strip { background:#d4d8f9; color:black; }
.about-inventory { height:1144.05rem; }
.about-inventory .purple-ribbon { top:22.025rem; }
.about-inventory .more-content { height:800rem; top:172.065rem; }
.about-inventory .inventory-portrait { height:800rem; border-radius:999rem; }
.about-inventory .inventory-portrait img { width:896rem; height:821rem; left:-133rem; top:-21.44rem; }
.about-inventory .more-copy h2 { font-size:64rem; line-height:77rem; color:#f6f7fa; }
.about-page .follow .center-heading h2 { font-size:98rem; line-height:118rem; }
.about-page .follow .center-heading { gap:8rem; }
.about-page footer { height:550rem; }
.about-page .footer-top { height:368rem; }
.about-page .footer-contact { width:400rem; gap:32rem; }
.about-page .footer-contact p { margin-top:-24rem; }
.about-page .footer-contact .button { margin-top:0; }
@supports (text-box-trim:trim-both) {
  .about-capability-number span,.about-process-number span,.about-process-heading h3 { text-box-trim:trim-both; text-box-edge:cap alphabetic; transform:none; }
  .about-capability-number.product span { transform:translateY(9.63rem); }
}

/* Stack the same content for smaller screens while retaining the desktop frame. */
@media (max-width:760px) {
  html:has(.about-page) { font-size:1px; }
  .about-page { font-size:16rem; }
  .about-page .page { width:100%; }
  .about-page .button { height:48rem; padding:12rem 18rem; font-size:16rem; line-height:24rem; }
  .about-page .news-strip { height:38rem; }
  .about-page-hero { height:auto; min-height:500rem; padding:180rem 24rem 64rem; }
  .about-hero-scallops span { border-radius:0 0 28rem 28rem; }
  .about-page-nav { width:calc(100% - 32rem); height:auto; left:16rem; top:20rem; padding:0; display:grid; grid-template-columns:1fr auto; gap:20rem 12rem; }
  .about-wordmark { grid-column:1; grid-row:1; width:48rem; height:48rem; }
  .about-nav-left { grid-column:1 / -1; grid-row:2; justify-content:center; gap:20rem; }
  .about-nav-right { display:contents; }
  .about-nav-right .book-call { grid-column:2; grid-row:1; }
  .about-nav-right>a { grid-row:3; }
  .about-nav-right>a:first-child { grid-column:1; justify-self:end; }
  .about-nav-right>a:nth-child(2) { grid-column:2; justify-self:start; }
  .about-page-nav a:not(.about-wordmark) { font-size:16rem; line-height:22rem; min-height:24rem; }
  .about-hero-copy { position:relative; top:auto; left:auto; width:100%; gap:24rem; }
  .about-hero-heading h1 { width:auto; height:auto; font-size:clamp(42rem,11vw,72rem); line-height:1.2; }
  .about-hero-heading p { width:auto; margin-top:16rem; font-size:18rem; line-height:23rem; }
  .about-hero-heading br { display:none; }
  .about-socials { flex-wrap:wrap; gap:10rem; }
  .availability-pill { width:24rem; height:12rem; }
  .about-capabilities { height:auto; padding:48rem 24rem; gap:32rem; }
  .about-section-heading p { font-size:18rem; line-height:24rem; }
  .about-section-heading h2 { font-size:clamp(30rem,7vw,48rem); line-height:1.2; }
  .about-capability-grid { width:100%; display:grid; grid-template-columns:1fr; gap:32rem; }
  .about-capability { width:100%; gap:16rem; }
  .about-capability h3 { font-size:28rem; line-height:34rem; }
  .about-capability p { font-size:17rem; line-height:24rem; }
  .about-capability-number { width:78rem; height:78rem; }
  .about-capability-number.product { width:90rem; }
  .about-capability-number span { font-size:38rem; }
  .about-story { height:auto; padding:12rem; }
  .about-story-panel { width:100%; height:auto; padding:36rem 24rem; flex-direction:column; gap:32rem; }
  .about-story-copy { width:100%; height:auto; gap:24rem; }
  .about-story-copy h2 { font-size:clamp(26rem,6.5vw,48rem); line-height:1.2; }
  .about-story-bio { gap:24rem; }
  .about-story-bio>div { min-height:0; gap:10rem; }
  .about-story-bio p { font-size:17rem; line-height:24rem; }
  .about-flower-portrait { width:100%; height:auto; max-width:588rem; align-self:center; }
  .about-process { height:auto; padding:48rem 24rem; flex-direction:column; gap:32rem; }
  .about-process-portrait { width:min(100%,420rem); height:auto; }
  .about-process-copy { width:100%; gap:24rem; }
  .about-process-list { gap:20rem; }
  .about-process-step { padding-top:20rem; gap:12rem; }
  .about-process-heading { gap:10rem; }
  .about-process-heading h3 { font-size:clamp(23rem,6vw,42rem); }
  .about-process-step p { font-size:17rem; line-height:24rem; }
  .about-page .roles-strip { height:70rem; padding:14rem 0; }
  .about-page .roles-strip span { font-size:32rem; line-height:42rem; }
  .about-inventory { height:auto; padding:90rem 24rem; background:var(--blue); }
  .about-inventory .purple-ribbon { top:-20rem; height:calc(100% + 40rem); }
  .about-inventory .more-content { position:relative; width:100%; height:auto; top:auto; left:auto; flex-direction:column; gap:32rem; }
  .about-inventory .inventory-portrait { width:min(100%,420rem); height:auto; aspect-ratio:588 / 800; }
  .about-inventory .inventory-portrait img { width:152.381%; height:102.625%; left:-22.619%; top:-2.68%; }
  .about-inventory .more-copy { width:100%; height:auto; gap:32rem; }
  .about-inventory .more-copy h2 { height:auto; font-size:clamp(32rem,8vw,48rem); line-height:1.2; }
  .about-page .inventory-list li { gap:12rem; padding:18rem 0; }
  .about-page .inventory-list li:last-child { padding-bottom:0; }
  .about-page .inventory-list img { width:48rem; height:48rem; border-radius:10rem; }
  .about-page .inventory-list span { font-size:clamp(24rem,6.5vw,42rem); line-height:1; }
  .about-page .follow { height:auto; padding:64rem 24rem; gap:32rem; }
  .about-page .follow .center-heading { height:auto; }
  .about-page .follow .center-heading h2 { font-size:clamp(42rem,10vw,64rem); line-height:1.2; }
  .about-page .photo-track { width:100vw; height:240rem; }
  .about-page .strip-photo { width:192rem; height:240rem; border-radius:24rem; }
  .about-page .image-loop-group { gap:20rem; padding-right:20rem; }
  .about-page footer { height:auto; }
  .about-page .footer-top { height:auto; padding:40rem 24rem; display:grid; grid-template-columns:1fr 1fr; gap:32rem 20rem; }
  .about-page .footer-links { width:auto; gap:10rem; }
  .about-page .footer-links a { font-size:24rem; line-height:29rem; }
  .about-page .footer-socials { padding-left:12rem; }
  .about-page .footer-contact { grid-column:1 / -1; width:100%; gap:32rem; }
  .about-page .footer-contact h2 { font-size:32rem; line-height:38rem; }
  .about-page .footer-marquee { height:96rem; }
  .about-page .footer-marquee>div { font-size:96rem; line-height:96rem; }
  .about-page .footer-bottom { height:auto; padding:20rem 24rem 24rem; gap:16rem; font-size:13rem; line-height:18rem; }
}
