@font-face {
  font-family: 'Awesome Ways';
  src: url('assets/fonts/awesome-ways-regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Aileron';
  src: url('assets/fonts/aileron-light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Aileron';
  src: url('assets/fonts/aileron-regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Aileron';
  src: url('assets/fonts/aileron-bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('assets/fonts/inter-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root{--charcoal:#3d3d37;--olive:#7a7a6e;--cream:#f8efe7;--pink:#e0c6c6;--rose:#b79c9d;--light:#e6e6dd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--charcoal);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #aa763f;outline-offset:5px}.skip{position:fixed;left:12px;top:-100px;z-index:20;background:var(--cream);padding:14px}.skip:focus{top:12px}.header{height:90px;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;background:var(--charcoal);color:var(--cream)}.brand{display:block;width:145px}.brand img{width:100%;height:auto;display:block}.header nav{display:flex;gap:clamp(28px,5vw,76px)}.header nav a{text-decoration:none;text-transform:uppercase;font-size:15px;letter-spacing:-.4px;padding:10px 0}.header nav a:hover{color:var(--pink)}.menu-toggle{display:none}.hero,.founder{position:relative;overflow:hidden}.hero{height:min(68vw,760px);min-height:560px}.portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-copy{position:absolute;left:52%;top:23%;right:5%}h1,h2,h3,p{margin:0}h1{font-size:clamp(32px,4.15vw,64px);text-transform:uppercase;line-height:.96;letter-spacing:-2.6px;color:var(--cream);font-weight:700}.script{display:block;font-family:'Awesome Ways',cursive;font-style:normal;font-synthesis:none;font-weight:400;text-transform:none;color:var(--pink);letter-spacing:-3px;line-height:1.05;font-size:1.65em}.cta{border:0;border-radius:10px;background:var(--olive);color:var(--cream);padding:12px 25px;text-transform:uppercase;font-weight:700;letter-spacing:-.7px;font-size:19px;transition:background .2s,transform .2s}.cta:hover{background:var(--charcoal);transform:translateY(-2px)}.hero .cta{margin-top:22px}.ribbon{background:var(--pink);padding:8px 0;overflow:hidden;white-space:nowrap;font-size:11px;font-weight:600;color:#686359}.ribbon span{display:block;width:max-content}.about{padding:68px 7% 55px;text-align:center;background:#f9efe6}.about h2{display:inline-block;position:relative;text-align:left;font-size:clamp(21px,2.8vw,38px);line-height:1.03;text-transform:uppercase;font-weight:700;letter-spacing:-1.7px;color:var(--olive)}.about h2 .script{display:inline-block;margin:0 0 0 .12em;font-size:2.2em;line-height:0;vertical-align:baseline}.pillars{display:flex;justify-content:space-between;gap:28px;margin:38px auto 0;max-width:1000px}.pillars span{display:flex;align-items:center;justify-content:center;min-height:130px;width:28%;background:url('assets/oval.webp') center/100% 100% no-repeat;font-size:clamp(20px,2.5vw,34px);color:var(--olive);letter-spacing:-1.5px;padding:20px 10px}.color-band{height:48px;background:url('assets/color-band.svg') center/100% 100% no-repeat}.textured{background:#b79c9d url('assets/texture-v2.webp') center/cover}.services{padding:64px 4.5%;display:grid;gap:50px}.service{position:relative;overflow:hidden;min-height:440px;border-radius:35px;isolation:isolate;max-width:1320px;width:100%;margin:auto;display:flex;align-items:center}.service-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.service-copy{padding:35px 4%;width:53%;color:var(--light)}.service h2 img{display:block;width:75%;height:135px;object-fit:contain;object-position:left center;margin-bottom:15px}.service p{font-size:clamp(17px,1.8vw,24px);line-height:1.16;letter-spacing:-.45px;max-width:480px}.service .cta{background:var(--rose);margin-top:24px;width:min(100%,440px)}.service .cta:hover{background:#8f7475}.vision{justify-content:flex-end}.vision .service-copy{width:55%}.vision h2 img{width:80%;object-position:center}.content h2 img{width:85%;height:130px}.portfolio{padding:40px 0 48px}.portfolio-heading{display:flex;justify-content:space-between;align-items:center;margin:0 4.5% 38px;background:#faf8f6;padding:20px 26px;border-radius:15px}.portfolio-heading h2{color:var(--olive);font-size:27px;letter-spacing:-1.3px;line-height:.94;font-weight:400}.portfolio-heading h2 span{display:block;font-weight:700;text-transform:uppercase;font-size:20px}.portfolio-heading img{width:132px;height:auto;filter:brightness(.55)}.cases{display:grid;gap:0}.first-row{grid-template-columns:repeat(5,1fr);margin-bottom:48px}.second-row{grid-template-columns:repeat(4,1fr)}.case{padding:0;border:0;background:none;min-width:0;height:430px;overflow:hidden;border-radius:0 35px 35px 0;transition:transform .25s;position:relative}.case:hover{transform:translateY(-8px);z-index:2}.case img{width:100%;height:100%;object-fit:cover;display:block}.first-row .case:nth-child(1) img{object-position:80%}.first-row .case:nth-child(2) img{object-position:35%}.first-row .case:nth-child(3) img{object-position:50%}.first-row .case:nth-child(4) img{object-position:55%}.first-row .case:nth-child(5) img{object-position:70%}.second-row .case{height:530px}.founder{height:min(55vw,660px);min-height:510px}.founder-copy{position:absolute;left:45%;right:7%;top:17%;max-width:650px}.founder h2{font-size:clamp(24px,2.9vw,39px);letter-spacing:-1.5px;text-transform:uppercase;color:var(--cream)}.founder p{font-size:clamp(16px,1.45vw,21px);line-height:1.18;margin-top:8px}.founder h3{font-size:clamp(30px,3.7vw,51px);letter-spacing:-2px;text-transform:uppercase;color:var(--cream);line-height:.98;margin-top:38px}.founder h3 .script{display:inline-block;margin-left:6px;font-size:1.8em;line-height:0;vertical-align:baseline}.founder .cta{margin-top:25px}footer{background:var(--charcoal);color:var(--cream);display:flex;justify-content:space-between;align-items:center;padding:25px 4%;gap:30px}footer>div{text-align:right;font-size:11px;line-height:1.5;color:#c7c4b9}footer p+p{margin-top:4px}dialog{border:0;border-radius:24px;padding:45px;max-width:540px;width:calc(100% - 36px);background:var(--cream);color:var(--charcoal);box-shadow:0 20px 80px #0005}dialog::backdrop{background:#252521bb;backdrop-filter:blur(6px)}dialog .close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:32px;color:var(--charcoal);width:44px;height:44px}.eyebrow{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#6b625d}dialog h2{margin-top:20px;font-size:32px;letter-spacing:-1px}dialog p{line-height:1.5;margin-top:18px}dialog .cta{margin-top:25px;font-size:16px}#image-dialog{max-width:1100px;background:var(--charcoal);padding:50px 20px 20px}#image-dialog .close{color:var(--cream)}#project-image{display:block;width:100%;max-height:78vh;object-fit:contain}

@media(max-width:900px){.header{height:76px}.header nav{gap:24px}.hero{min-height:500px}.hero-copy{left:50%;top:25%}h1{letter-spacing:-1.5px}.services{gap:32px;padding-top:40px;padding-bottom:40px}.service{min-height:380px}.service-copy{width:58%;padding:28px}.service h2 img{height:105px;width:90%}.service p{font-size:18px}.vision .service-copy{width:58%}.case{height:330px}.second-row .case{height:400px}.founder-copy{left:46%;right:4%;top:17%}.founder h3{margin-top:24px}.founder{min-height:480px}.cta{font-size:17px}.about{padding:50px 6%}.pillars span{min-height:105px}}
@media(max-width:600px){.header{height:72px;padding:15px 6%;position:relative;z-index:3}.brand{width:115px}.menu-toggle{display:flex;justify-content:center;min-width:44px;min-height:44px;align-items:center;border:0;border-radius:0;background:none;color:var(--cream);padding:8px;font-size:23px}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--charcoal);padding:12px 6% 22px;flex-direction:column;gap:0}.header nav.open{display:flex}.header nav a{padding:15px 0}.hero{min-height:650px;height:auto;background:var(--charcoal);display:flex;align-items:flex-end;padding:350px 7% 32px;isolation:isolate}.hero .portrait{height:100%;object-position:30% center;transform:scale(1.08);transform-origin:35% 45%}.hero-copy{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:100%}h1{font-size:clamp(29px,8.5vw,34px);letter-spacing:-1.7px;line-height:.97}h1 br{display:none}.hero-ending{display:inline-block;white-space:nowrap}h1 .script{display:inline-block;font-size:clamp(38px,11vw,48px);line-height:0;letter-spacing:-2px;vertical-align:baseline}.hero .cta{margin-top:16px}.ribbon{font-size:9px;padding:7px 0}.about{padding:42px 6% 38px}.about h2{font-size:23px;letter-spacing:-1.1px;line-height:1.05}.about h2 br{display:none}.about h2 .script{display:block;line-height:1.05;margin:8px 0 0;text-align:left;font-size:2.35em}.pillars{gap:8px;margin-top:25px;flex-wrap:wrap;justify-content:center}.pillars span{width:45%;min-height:85px;font-size:22px;letter-spacing:-1px}.pillars span:last-child{width:56%}.color-band{height:25px}.services{padding:28px 5%;gap:25px}.service{min-height:440px;align-items:flex-end;border-radius:22px}.service:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#20201bd9);z-index:-1}.service-copy,.vision .service-copy{width:100%;padding:24px}.service-photo{object-position:60% center}.vision .service-photo{object-position:25% center}.service h2 img,.vision h2 img,.content h2 img{height:110px;width:75%;object-position:left}.service p{font-size:18px;line-height:1.25}.service .cta{font-size:17px;padding:12px 15px;margin-top:20px}.portfolio{padding:24px 5% 30px}.portfolio-heading{margin:0 0 24px;padding:17px}.portfolio-heading img{width:100px}.portfolio-heading h2{font-size:24px}.portfolio-heading h2 span{font-size:16px}.cases,.first-row,.second-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.case,.second-row .case{height:270px;border-radius:16px}.first-row .case:last-child{grid-column:span 2;height:250px}.first-row .case:last-child img{object-position:center}.founder{height:auto;min-height:730px;background:var(--charcoal);display:flex;align-items:flex-end;padding:370px 7% 32px;isolation:isolate}.founder .portrait{height:100%;object-position:23% center}.founder-copy{position:relative;left:auto;right:auto;top:auto;max-width:none;width:100%}.founder p{color:var(--cream)}.hero::after,.founder::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(35,32,27,.35) 48%,rgba(35,32,27,.88) 100%);z-index:0;pointer-events:none}.hero-copy,.founder-copy{z-index:1}.founder h2{font-size:27px}.founder p{font-size:16px;line-height:1.25}.founder h3{font-size:31px;margin-top:22px}.founder h3 .script{font-size:1.8em}.founder .cta{margin-top:18px}footer{padding:24px 7%;align-items:flex-start;flex-direction:column;gap:18px}footer>div{text-align:left;font-size:10px}dialog{padding:40px 24px 28px}dialog h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Full images stay sharp and contained; dots identify the active slide. */
.carousel{position:relative;width:91%;margin:0 auto 34px;min-width:0}
.carousel:last-child{margin-bottom:0}
.carousel .cases{position:relative;z-index:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;gap:0;margin:0;padding:0;border-radius:24px}
.carousel .cases::-webkit-scrollbar{display:none}
.carousel .case{flex:0 0 100%;width:100%;height:auto;aspect-ratio:16/9;scroll-snap-align:start;scroll-snap-stop:always;border-radius:0}

.carousel .case img{object-fit:contain;object-position:center!important}
.carousel .case:hover{transform:none}
.carousel .case:focus-visible{outline-offset:-5px}
.carousel-dots{position:absolute;z-index:1;bottom:8px;left:50%;transform:translateX(-50%);display:flex;justify-content:center;gap:0;margin:0;padding:0 4px;border-radius:16px;background:rgba(248,239,231,.88)}
.carousel-dot{display:grid;place-items:center;width:24px;height:24px;padding:0;background:transparent;border:0;border-radius:50%}
.carousel-dot::before{content:'';width:6px;height:6px;border:1px solid var(--charcoal);border-radius:50%;background:transparent}
.carousel-dot[aria-current="true"]::before{background:var(--charcoal);transform:scale(1.25)}
.carousel-dot:not([aria-current="true"]):hover::before{background:var(--cream)}
@media(max-width:600px){.carousel{width:100%;margin:0 0 22px}.carousel .cases{border-radius:18px}.carousel .first-row .case:last-child{height:auto}}

/* Portrait projects stay visible together rather than rotating. */
.portrait-gallery{width:91%;max-width:1320px;margin:0 auto}
.portrait-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.portrait-grid .case{width:100%;height:auto;aspect-ratio:9/16;border-radius:24px;transform:none}
.portrait-grid .case img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:600px){.portrait-gallery{width:100%}.portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portrait-grid .case{border-radius:16px}}

/* Product enquiry actions navigate to their dedicated form. */
a.cta{display:inline-block;text-decoration:none;text-align:center}

/* Content outside the custom homepage uses the normal WordPress loop. */
.wordpress-content{max-width:1000px;margin:0 auto;padding:48px 24px;min-height:60vh;overflow-wrap:anywhere}.wordpress-content article+article{margin-top:48px}.wordpress-content img{max-width:100%;height:auto}.wordpress-content h1{margin-bottom:24px}.wordpress-content h1 a{text-decoration:none}

/* Desktop hero follows the wide, closely set script in the design reference. */
@media(min-width:601px){#hero-title .hero-ending{display:contents}#hero-title .script{font-size:2.35em;line-height:.8;letter-spacing:-4px;margin-top:-.02em}}

/* October visual review: preserve supplied artwork and give copy room to reflow. */
.ribbon {
  height: 48px;
  padding: 0;
  background: var(--pink) url('assets/ribbon.svg') left center / auto 100% repeat-x;
}
.portfolio-heading img { filter: none; }
.about h2 {
  display: block;
  max-width: 1050px;
  margin-inline: auto;
  text-align: center;
  text-wrap: balance;
}
.about h2 .script {
  display: block;
  margin: 16px 0 0;
  line-height: 1;
  text-align: center;
}
.founder {
  height: auto;
  min-height: 0;
  display: flex;
  align-items: flex-start;
  padding: clamp(44px, 5vw, 72px) 6% clamp(72px, 7vw, 100px);
}
.founder .portrait {
  /* Show at most 82% of the source height, ending above the leg. */
  height: 122%;
  object-position: center top;
}
.founder-copy {
  position: relative;
  inset: auto;
  width: 52%;
  max-width: 650px;
  margin-left: auto;
}
.founder h2 { font-size: clamp(24px, 2.65vw, 38px); }
.founder p { max-width: 560px; }
.founder h3 {
  font-size: clamp(28px, 3.1vw, 44px);
  line-height: 1.07;
  margin-top: 28px;
  letter-spacing: -1.6px;
}
.founder-ending { display: block; }
.founder h3 .script {
  line-height: .85;
  font-size: 1.6em;
  margin-left: 4px;
  vertical-align: -.08em;
}
.founder .cta { margin-top: 30px; }
.vision h2 img { object-position: left center; }

@media (max-width: 900px) and (min-width: 601px) {
  .founder { padding: 42px 5% 60px; }
  .founder-copy { width: 53%; }
  .founder h3 { font-size: 27px; letter-spacing: -1.2px; }
  .service-copy, .vision .service-copy { padding: 28px; }
}

@media (max-width: 600px) {
  .ribbon { height: 34px; }
  .about h2 { max-width: 460px; font-size: clamp(21px, 5.5vw, 28px); }
  .about h2 .script { text-align: center; margin-top: -.08em; line-height: .85; }

  /* A centered crop with less headroom is the requested narrow-screen fallback. */
  .hero {
    min-height: 560px;
    padding: 310px 7% 30px;
    background: none;
  }
  .hero .portrait {
    top: -90px;
    height: calc(100% + 90px);
    object-position: 20% center;
    transform: none;
  }
  .hero::after { content: none; }
  .hero-copy { max-width: 460px; margin-inline: auto; }
  .hero h1 { font-size: clamp(27px, 7.5vw, 38px); line-height: 1.04; }
  .hero .cta { margin-top: 20px; }

  /* Keep text on the supplied photograph, as in the original design. */
  .service {
    display: flex;
    min-height: 440px;
    padding-top: 0;
    border-radius: 22px;
  }
  .service-photo, .vision .service-photo {
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center top;
  }
  .service::after { content: none; }
  .service-copy, .vision .service-copy {
    width: 100%;
    padding: 24px;
  }
  .service h2 img, .vision h2 img, .content h2 img {
    width: min(82%, 270px);
    height: auto;
    max-height: 118px;
    object-position: left center;
    margin-bottom: 18px;
  }
  .service p { font-size: 18px; line-height: 1.35; }
  .service .cta { width: 100%; min-height: 44px; }
  .vision .service-copy { width: 100%; margin-left: 0; text-align: right; }
  .vision h2 {
    width: 85%;
    margin-left: auto;
  }
  .vision h2 img { width: 100%; max-height: none; margin: 0; object-position: right; }
  .vision .cta { display: block; margin-inline: auto; text-align: center; }

  .founder {
    display: block;
    min-height: 0;
    padding: 0 0 32px;
    background: var(--cream);
  }
  .founder .portrait {
    position: relative;
    display: block;
    height: 360px;
    object-position: 12% top;
  }
  .founder::after {
    content: none;
  }
  .founder-copy { width: 100%; max-width: 460px; margin-inline: auto; padding: 28px 7% 0; }
  .founder h2, .founder h3, .founder p { color: var(--charcoal); }
  .founder h2 { font-size: clamp(24px, 6.5vw, 32px); }
  .founder h3 { font-size: clamp(27px, 7vw, 34px); margin-top: 24px; }
  .founder p { line-height: 1.4; }
}

/* Keep the requested side-by-side text over the photograph's clear wall area. */
@media (min-width: 320px) and (max-width: 600px) {
  .hero { min-height: 420px; padding: 64px 5% 48px; align-items: center; }
  .hero .portrait { top: -50px; height: calc(100% + 50px); object-position: 38% top; }
  .hero-copy { width: 56%; margin-left: auto; margin-right: 0; }
  .hero h1 { font-size: clamp(20px, 5.2vw, 27px); letter-spacing: -1.2px; }
  .hero h1 .script { font-size: clamp(30px, 8.8vw, 38px); line-height: 1; }
  .hero-ending { white-space: normal; }
  .hero .cta { padding-inline: 18px; font-size: clamp(14px, 4vw, 17px); }
}
@media (min-width: 320px) and (max-width: 374px) {
  .hero-copy { width: 63%; }
}

/* PDF COMPLETO uses Aileron with close heading tracking and Awesome Ways
   lettering alongside the final line. Keep those relationships in em units. */
body { font-family: 'Aileron', Arial, sans-serif; font-weight: 300; }
.script {
  letter-spacing: 0;
  font-kerning: normal;
  font-variant-ligatures: none;
  font-feature-settings: 'liga' 0, 'calt' 0;
  white-space: nowrap;
}
.about-ending { display: block; white-space: nowrap; }
.founder-ending { white-space: nowrap; }

@media (min-width: 601px) {
  .header { height: clamp(76px, 6.5vw, 96px); padding-left: 3.6%; padding-right: 5.4%; }
  .header .brand { width: clamp(90px, 9vw, 115px); }
  .header nav { gap: clamp(24px, 4vw, 56px); }
  .header nav a { font-size: clamp(16px, 1.7vw, 24px); letter-spacing: -.085em; font-weight: 400; }
  .header nav a:first-child { font-weight: 700; }
  .hero { height: 59.1vw; min-height: 0; }
  .hero .portrait { top: -28%; height: 128%; object-position: 85% top; }
  .hero-copy { left: 51.8%; right: 5.3%; top: calc(23% + 5px); }
  .hero h1 { position: relative; z-index: 1; font-size: 4.486vw; line-height: .865; letter-spacing: -.085em; }
  #hero-title .hero-ending { display: contents; }
  #hero-title .script {
    display: block;
    position: relative;
    left: .06em;
    font-size: 3.61em;
    line-height: 1;
    letter-spacing: 0;
    margin: -.455em 0 -.193em;
    padding: 0;
  }
  .cta { font-size: 3.06vw; line-height: 1.05; letter-spacing: -.085em; padding: 1.27vw 2.246vw; }
  .hero .cta { margin-top: 1.66vw; }
  .ribbon { height: 4.3vw; }

  .about { padding: 5.66vw 7% 4.8vw; }
  .about h2 {
    position: relative;
    top: .4vw;
    max-width: 71vw;
    text-align: left;
    font-size: 3.19vw;
    line-height: .91;
    letter-spacing: -.085em;
  }
  .about h2 .script {
    display: inline-block;
    width: auto;
    margin: 0 0 0 .06em;
    font-size: 5.66em;
    line-height: 0;
    vertical-align: -.25em;
    text-align: left;
  }
  .pillars { margin-top: 5.5vw; max-width: none; }
  .pillars span { width: 26%; min-height: 12.7vw; font-size: 4.18vw; font-weight: 400; }
  .pillars span:last-child { font-size: 3.39vw; line-height: 1; }
  .color-band { height: 4.85vw; }

  .services { padding: min(6.25vw, 90px) 5.23% min(2.64vw, 38px) 4.24%; gap: min(6.25vw, 90px); }
  .service { container-type: inline-size; min-height: 0; aspect-ratio: 927 / 419.5; align-items: flex-start; }
  .service-copy { width: 55%; padding: 2.576cqw 3.2%; }
  .service h2 img { height: 13.40cqw; margin-bottom: 1.609cqw; }
  .service p { font-size: 2.595cqw; line-height: 1.085; letter-spacing: .003em; max-width: none; }
  .service .cta { width: 98%; margin-top: 3.22cqw; padding: 1.395cqw 2.468cqw; font-size: 3.362cqw; }
  .strategy h2 img { margin-left: 2.2cqw; }
  .vision .service-copy { width: 60%; padding-top: 1.073cqw; }
  .vision h2 img { height: 16.09cqw; width: 100%; object-position: center; margin-bottom: .322cqw; }
  .vision p { font-size: 2.648cqw; line-height: 1.095; }
  .vision .cta { margin-top: 1.288cqw; }
  .content h2 img { height: 13.95cqw; width: 80%; object-position: left bottom; }
  .content p { max-width: 37cqw; }
  .portfolio { padding-top: 4.78vw; }
  .portfolio-heading { margin-left: 4.24%; margin-right: 5.23%; }
  .carousel, .portrait-gallery { max-width: none; width: 90.53%; margin-left: 4.24%; margin-right: 5.23%; }
  .portfolio-heading h2 { font-size: 3.26vw; letter-spacing: -.085em; }
  .portfolio-heading h2 span { font-size: 2.62vw; }
  .portfolio-heading img { width: 13vw; }

  .founder { min-height: 47.65vw; padding: 6.25vw 4.5%; }
  .founder .portrait { top: -2vw; height: 126%; object-position: 75% top; }
  .founder-copy { width: 55.5%; max-width: none; }
  .founder h2 { margin-left: -.28em; font-size: 3.5vw; letter-spacing: -.085em; }
  .founder p { max-width: 46vw; margin-top: .781vw; font-size: 1.792vw; line-height: 1.063; }
  .founder h3 { margin-top: 2.344vw; padding: 0; font-size: 4.486vw; line-height: .865; letter-spacing: -.085em; }
  .founder h3 .script {
    font-size: 3.423em;
    line-height: 0;
    margin-left: .145em;
    vertical-align: -.145em;
  }
  .founder .cta { margin-top: 4.2vw; }
  footer { padding: 18px 3.6% 10px; align-items: flex-start; }
  footer .brand { width: 120px; margin-top: 4px; }
  footer > div { font-family: 'Inter', sans-serif; font-size: 1.16vw; font-weight: 400; }
  footer > div p:last-child { text-transform: uppercase; }
}

@media (max-width: 600px) {
  .hero h1 br { display: initial; }
  #hero-title .hero-ending { display: contents; }
  #hero-title .script {
    display: block;
    font-size: clamp(58px, 17vw, 100px);
    line-height: 1;
    letter-spacing: 0;
    margin: -.36em 0 -.26em;
    padding: 0;
  }
  .about h2 .script {
    display: block;
    margin: -.12em 0 .12em;
    font-size: 4.8em;
    line-height: .35;
    vertical-align: baseline;
  }
  .about-ending { white-space: normal; }
  .about-lead { white-space: nowrap; }
  .about h2 { line-height: .98; letter-spacing: -.085em; }
  .founder h3 { padding-bottom: 0; font-size: clamp(22px, 6.4vw, 30px); letter-spacing: -.085em; }
  .founder h3 .script { font-size: 3.423em; line-height: 0; margin-left: .145em; vertical-align: -.145em; }
}
