/* Expressive direction: editorial scale, copper light and tactile product stages. */
:root { --orange: #ff713f; --paper: #f2eee5; --gutter: clamp(24px, 5.8vw, 96px); }
.aa-header { background: #0b0c0c; height: 80px; }
.aa-brand > span { font-weight: 800; font-size: 26px; letter-spacing: -1.3px; }
.aa-brand-sub { font-size: 7px; font-weight: 500; letter-spacing: .27em; }
.aa-header-contact { border-color: #777469; }
.aa-hero { display: block; height: calc(100svh - 80px); min-height: 720px; max-height: 1080px; padding: clamp(52px,6vh,84px) var(--gutter) 145px; background: #100d0b; }
.aa-network { inset: 0; opacity: .95; mask-image: none; z-index: -3; background: radial-gradient(ellipse at 76% 70%,#af5929 0,#39261c 24%,#100d0b 70%); }
.aa-hero-atmosphere { position: absolute; inset: 0; z-index: -2; pointer-events: none; background: linear-gradient(90deg,#100d0bf0 0%,#100d0b99 44%,#100d0b00 80%),linear-gradient(0deg,#100d0b 0%,transparent 24%,#100d0b33 70%,#100d0bd9); }
.aa-hero-copy { max-width: none; width: 100%; }
.aa-hero .aa-eyebrow { font-size: 10px; letter-spacing: .14em; color: #e7d6c3; margin-bottom: 33px; }
.aa-hero h1 { position: relative; font-size: clamp(90px,12.4vw,198px); font-weight: 500; letter-spacing: -.082em; line-height: .88; margin: 0 0 32px -7px; }
.aa-hero h1 .aa-title-line { display: block; color: #f8f3e9; }
.aa-hero h1 .aa-title-italic { font-family: Georgia, 'Times New Roman',serif; font-style: italic; font-weight: 400; letter-spacing: -.075em; color: #ff946b; padding: 0 0 .12em 7vw; }
.aa-hero-description { max-width: none; font-size: 16px; line-height: 1.65; color: #e1d9cd; margin: 22px 0; }
.aa-hero .aa-button { border-radius: 4px; min-height: 55px; padding: 14px 23px; gap: 70px; background: #ff7547; color: #160e09; }
.aa-hero .aa-button:hover { background: #ffac80; }
.aa-hero-caption { position: absolute; right: var(--gutter); top: 63%; color: #ffeddb; font-size: 9px; letter-spacing: .16em; line-height: 1.8; text-align: right; display: flex; flex-direction: column; }
.aa-hero-caption i { font-size: 72px; line-height: 1.3; font-style: normal; font-weight: 300; }
.aa-hero-foot { bottom: 27px; border-color: #e8bb8c44; }
.aa-motion-toggle { bottom: 30px; border-color: #cda57b; }
.aa-edge-band { background: #ff7547; color: #160f0b; overflow: hidden; padding: 22px 0; border-top: 1px solid #ffc599; }
.aa-edge-track { width: max-content; display: flex; align-items: center; gap: 45px; padding-left: 3vw; transform: translateX(-5%); }
.aa-edge-track span { font-size: clamp(32px,5vw,80px); font-weight: 800; line-height: 1; letter-spacing: -.055em; }
.aa-edge-track span:nth-of-type(2) { color: transparent; -webkit-text-stroke: 1px #160f0b; }
.aa-edge-track i { font-style: normal; font-size: 65px; line-height: 1; }
.aa-thesis { padding-top: clamp(90px,12vw,185px); padding-bottom: 0; background: #f2eee5; }
.aa-thesis h2 { max-width: 1200px; font-size: clamp(44px,6.4vw,102px); letter-spacing: -.065em; font-weight: 500; }
.aa-thesis .aa-accent { font-family: Georgia,serif; font-style: italic; font-weight: 400; letter-spacing: -.055em; color: #ba4523; }
.aa-thesis-bottom { margin: 52px 0 90px auto; }
.aa-product-paths a { padding-top: 33px; padding-bottom: 33px; }
.aa-product-paths a > span:last-child { font-size: clamp(21px,2.5vw,38px); }
.aa-playground { display: grid; grid-template-columns: 1fr 1.13fr; align-items: center; gap: 7%; background: #f2eee5; color: #181b15; padding-top: 110px; padding-bottom: 130px; }
.aa-playground-copy > .aa-eyebrow { color: #746b5f; font-size: 9px; margin-bottom: 32px; }
.aa-playground-copy h2 { font-size: clamp(36px,4.6vw,72px); letter-spacing: -.06em; }
.aa-playground-copy em { font-family: Georgia,serif; font-weight: 400; color: #b44324; }
.aa-playground-copy > p:not(.aa-eyebrow) { color: #6c6358; margin: 28px 0; font-size: 15px; }
.aa-playground-hint { display: block; color: #756b5c; font-size: 10px; margin-top: 55px; letter-spacing: .08em; text-transform: uppercase; }
.aa-opportunity { perspective: 1000px; }
.aa-scene-heading { color: #6b6458; }
.aa-hero-views { box-shadow: 0 28px 50px -26px #40241777; border-radius: 8px 8px 0 0; transform: perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.aa-hero-views::after { content: ''; pointer-events: none; position: absolute; inset: 0; background: linear-gradient(125deg,transparent 40%,#fff7d82b 49%,transparent 57%); background-size: 250% 250%; background-position: -100% -100%; transition: background-position 1s; }
.aa-opportunity:hover .aa-hero-views::after { background-position: 100% 100%; }
.aa-hero-view { height: clamp(345px,32vw,480px); }
.aa-hero-tabs { border-radius: 0 0 8px 8px; }
.aa-hero-tabs button { font-size: 11px; }
.aa-work { background: #141612; padding-top: 120px; }
.aa-work .aa-section-heading { margin-bottom: 65px; }
.aa-work h2 { font-size: clamp(48px,6.5vw,104px); }
.aa-product { border-radius: 8px; overflow: hidden; border: 1px solid #77786655; margin-bottom: 70px; }
.aa-roof { background: #202a20; }
.aa-product h3 { font-size: clamp(38px,4.9vw,76px); }
.aa-product-copy { position: relative; z-index: 2; }
.aa-product-name { letter-spacing: .1em; font-size: 10px; text-transform: uppercase; }
.aa-section-heading > p { color: #b4b8a7; }
.aa-results { background: #0b0c0c; }
.aa-results h2 { font-size: clamp(43px,6.1vw,94px); }
.aa-contact h2 { font-size: clamp(65px,10.8vw,174px); max-width: none; letter-spacing: -.075em; }
.aa-contact { position: relative; overflow: hidden; }
.aa-contact::after { content: none; position: absolute; font-size: 450px; line-height: 1; right: 3%; top: 9%; color: #411c1516; pointer-events: none; }
.aa-contact > * { position: relative; z-index: 1; }
.aa-button { position: relative; overflow: hidden; }
.aa-button::after { content: ''; position: absolute; inset: -100%; transform: translateX(-100%) rotate(-30deg); background: linear-gradient(90deg,transparent,#fff6,transparent); transition: transform .7s; pointer-events: none; }
.aa-button:hover::after { transform: translateX(100%) rotate(-30deg); }
.aa-scroll-word { display: inline-block; }
.aa-paused .aa-hero-views { transform: none; }
@media (min-width: 768px) and (max-height: 800px) {
 .aa-hero { min-height: 625px; padding-top: 40px; padding-bottom: 110px; }
 .aa-hero h1 { font-size: clamp(92px,11.6vw,168px); margin-bottom: 15px; }
 .aa-hero .aa-eyebrow { margin-bottom: 27px; }
 .aa-hero-description { margin: 18px 0; font-size: 14px; }
 .aa-hero .aa-button { min-height: 49px; }
}
@media (max-width: 767px) {
 .aa-header { height: 74px; }
 .aa-hero { display: block; min-height: 695px; height: calc(100svh - 74px); max-height: 870px; padding-top: 55px; padding-bottom: 140px; }
 .aa-hero h1 { font-size: clamp(58px,13.5vw,103px); line-height: .98; margin-left: -3px; margin-bottom: 35px; }
 .aa-hero h1 .aa-title-italic { padding-left: 0; }
 .aa-hero .aa-eyebrow { font-size: 8px; letter-spacing: .05em; margin-bottom: 40px; }
 .aa-hero-description { font-size: 14px; max-width: 280px; }
 .aa-network { display: block; background: radial-gradient(ellipse at 85% 70%,#ac542b 0,#3b2216 35%,#100d0b 75%); }
 .aa-hero-atmosphere { background: linear-gradient(0deg,#100d0b,transparent 50%,#100d0b88); }
 .aa-hero-caption { top: auto; bottom: 120px; font-size: 7px; }
 .aa-hero-caption i { font-size: 46px; }
 .aa-hero .aa-button { gap: 40px; }
 .aa-edge-band { padding: 18px 0; }
 .aa-edge-track { gap: 24px; }
 .aa-edge-track i { font-size: 35px; }
 .aa-playground { display: flex; flex-direction: column; gap: 45px; padding-top: 70px; padding-bottom: 75px; align-items: stretch; }
 .aa-playground-copy h2 { font-size: 43px; }
 .aa-playground-copy > .aa-eyebrow { font-size: 8px; }
 .aa-playground-hint { margin-top: 24px; }
 .aa-playground .aa-opportunity { width: 100%; }
 .aa-hero-view { height: 335px; }
 .aa-thesis h2 { font-size: 42px; }
 .aa-thesis-bottom { margin-bottom: 55px; }
 .aa-product-paths a > span:last-child { font-size: 20px; }
 .aa-work { padding-top: 75px; }
 .aa-work h2 { font-size: 46px; }
 .aa-product h3 { font-size: 40px; }
 .aa-contact::after { font-size: 230px; right: -40px; }
}
@media (max-width: 379px) {
 .aa-hero h1 { font-size: 54px; }
 .aa-hero .aa-eyebrow { font-size: 7px; }
 .aa-playground-copy h2, .aa-thesis h2 { font-size: 36px; }
 .aa-product-paths a > span:last-child { font-size: 16px; }
 .aa-hero-tabs button { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
 .aa-hero-views { transform: none; }
 .aa-hero-views::after, .aa-button::after { display: none; }
}
/* Keep copy legible as the brightest wave crests pass underneath. */
.aa-hero-atmosphere { background: linear-gradient(90deg,#100d0bf2 0%,#100d0ba6 48%,#100d0b22 85%),linear-gradient(0deg,#100d0b 0%,transparent 24%,#100d0b22 70%,#100d0ba6); }
.aa-hero h1 .aa-title-italic { color: #ffa67c; }
@media (max-width: 767px) {
 .aa-hero-atmosphere { background: linear-gradient(90deg,#100d0bc7,#100d0b66),linear-gradient(0deg,#100d0b,transparent 48%,#100d0b33); }
}
@media (max-width: 379px) {
 .aa-hero-foot { gap: 12px; }
 .aa-hero-foot p { max-width: 135px; font-size: 9px; }
 .aa-hero-foot .aa-scroll-link { font-size: 0; gap: 0; margin-right: 50px; }
}
/* Owner preference: straightforward typography; no northeast-arrow decoration. */
.aa-hero h1 { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 600; letter-spacing: -.067em; font-size: clamp(88px,11.5vw,184px); line-height: .96; }
.aa-hero h1 .aa-title-italic { font-family: inherit; font-style: normal; font-weight: 600; letter-spacing: -.067em; padding-left: 0; }
.aa-thesis .aa-accent, .aa-playground-copy em { font-family: inherit; font-style: normal; font-weight: 500; letter-spacing: inherit; }
.aa-editorial-sheet > strong { font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; font-weight: 550; }
.aa-hero .aa-eyebrow, .aa-playground-copy > .aa-eyebrow { font-size: 13px; letter-spacing: 0; font-weight: 400; }
.aa-hero .aa-button, .aa-button { gap: 0; }
.aa-text-link { justify-content: flex-start; gap: 0; }
.aa-header-contact { gap: 0; padding: 11px 19px; }
.aa-hero-tabs button { justify-content: flex-start; gap: 13px; }
.aa-edge-track { gap: 100px; }
.aa-contact::after { display: none; }
@media (max-width: 767px) {
 .aa-hero h1 { font-size: clamp(48px,11.6vw,86px); line-height: 1; }
 .aa-hero .aa-eyebrow { font-size: 12px; }
 .aa-edge-track { gap: 50px; }
}
/* Founder profile: an original editorial feature, not a publication endorsement. */
.aa-founder { background: #f4f0e8; padding-top: 85px; padding-bottom: 110px; color: #1b1b18; }
.aa-profile-masthead { border-top: 3px solid #1b1b18; border-bottom: 1px solid #1b1b18; padding: 14px 0; display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 58px; }
.aa-profile-masthead > span:first-child { font-size: 23px; font-weight: 750; letter-spacing: -.06em; }
.aa-profile-masthead > span:last-child { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.aa-profile-feature { display: grid; grid-template-columns: minmax(0,1fr) 245px; column-gap: 9%; row-gap: 55px; }
.aa-profile-kicker { font-size: 11px; margin-bottom: 24px; color: #7b3527; }
.aa-profile-intro h2 { font-size: clamp(66px,8.2vw,130px); line-height: .94; font-weight: 750; letter-spacing: -.065em; margin-left: -5px; }
.aa-profile-deck { font-size: clamp(18px,1.8vw,25px); line-height: 1.45; letter-spacing: -.025em; max-width: 660px; margin-top: 33px; color: #55534d; }
.aa-profile-portrait { margin: 0; padding-top: 39px; align-self: start; }
.aa-profile-photo { background: #dedfd7; padding: 16px; }
.aa-profile-photo img { display: block; width: 213px; height: 235px; object-fit: cover; object-position: 50% 45%; filter: none; }
.aa-profile-portrait figcaption { padding-top: 14px; border-bottom: 1px solid #b9b5ac; padding-bottom: 18px; }
.aa-profile-portrait figcaption strong { display: block; font-size: 18px; letter-spacing: -.03em; }
.aa-profile-portrait figcaption span { display: block; font-size: 10px; color: #67645d; margin-top: 3px; }
.aa-profile-body { max-width: 690px; }
.aa-profile-body > p { font-size: 17px; line-height: 1.8; color: #44443d; margin-bottom: 23px; }
.aa-profile-body .aa-profile-lead { color: #22231f; }
.aa-profile-lead::first-letter { float: left; font-size: 78px; font-weight: 700; line-height: .83; margin: 10px 10px 0 0; color: #a6462f; }
.aa-profile-body h3 { font-size: 28px; font-weight: 650; letter-spacing: -.04em; line-height: 1.2; margin: 38px 0 20px; }
.aa-profile-body > .aa-text-link { margin-top: 12px; }
.aa-profile-notes { border-top: 1px solid #1b1b18; padding-top: 15px; align-self: start; }
.aa-profile-notes-title { font-size: 16px; font-weight: 700; letter-spacing: -.025em; }
.aa-profile-notes dl { margin: 26px 0 0; }
.aa-profile-notes dl > div { padding-bottom: 20px; margin-bottom: 19px; border-bottom: 1px solid #d0cbc0; }
.aa-profile-notes dt { font-size: 10px; color: #7a7366; margin-bottom: 7px; }
.aa-profile-notes dd { margin: 0; font-size: 13px; color: #33352e; line-height: 1.6; }
.aa-founder .aa-teaching { margin-top: 75px; }
@media (max-width: 850px) {
 .aa-profile-feature { grid-template-columns: minmax(0,1fr) 190px; gap: 42px 35px; }
 .aa-profile-photo { padding: 10px; }
 .aa-profile-photo img { width: 170px; height: 190px; }
 .aa-profile-intro h2 { font-size: 72px; }
}
@media (max-width: 600px) {
 .aa-founder { padding-top: 60px; padding-bottom: 70px; }
 .aa-profile-masthead { margin-bottom: 32px; }
 .aa-profile-masthead > span:first-child { font-size: 22px; }
 .aa-profile-masthead > span:last-child { font-size: 8px; letter-spacing: .035em; }
 .aa-profile-feature { display: grid; grid-template-columns: 1fr; row-gap: 30px; }
 .aa-profile-intro h2 { font-size: clamp(65px,14vw,84px); margin-left: -3px; }
 .aa-profile-kicker { font-size: 10px; margin-bottom: 20px; }
 .aa-profile-deck { font-size: 19px; margin-top: 25px; }
 .aa-profile-portrait { padding: 0; display: grid; grid-template-columns: 150px 1fr; gap: 18px; align-items: end; }
 .aa-profile-photo { padding: 0; }
 .aa-profile-photo img { width: 150px; height: 170px; }
 .aa-profile-portrait figcaption { padding-bottom: 15px; }
 .aa-profile-portrait figcaption strong { font-size: 17px; }
 .aa-profile-portrait figcaption span { font-size: 10px; }
 .aa-profile-body > p { font-size: 16px; line-height: 1.75; }
 .aa-profile-body h3 { font-size: 25px; }
 .aa-profile-notes dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
 .aa-profile-notes dl > div { margin: 0; }
}
.aa-profile-body p a, .aa-profile-notes dd a { color: inherit; text-decoration: underline; text-decoration-color: #a6462f; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.aa-profile-body p a:hover, .aa-profile-notes dd a:hover { color: #a6462f; }
.aa-profile-endorsements { border-top: 1px solid #b9b5ac; border-bottom: 1px solid #b9b5ac; padding: 22px 0 4px; margin: 30px 0 20px; }
.aa-profile-endorsements h4 { font-size: 12px; font-weight: 650; margin: 0 0 16px; }
.aa-profile-endorsements p { font-size: 16px; line-height: 1.65; color: #44443d; margin: 0 0 18px; }

/* Visible navigation and a portrait sized for the new high-resolution photograph. */
.aa-header .aa-nav { display: flex; margin-left: auto; margin-right: 0; gap: clamp(20px,3vw,40px); }
.aa-header .aa-nav a { min-height: 44px; display: flex; align-items: center; white-space: nowrap; }
.aa-header .aa-nav a:focus-visible { outline: 2px solid #ff9a72; outline-offset: 4px; }
.aa-site .aa-profile-feature, .aa-site .aa-about-cover { grid-template-columns: minmax(0,1fr) 320px; gap: 48px; }
.aa-site .aa-profile-photo { padding: 0; }
.aa-site .aa-profile-portrait .aa-profile-photo img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 45%; }
@media (max-width: 900px) {
 .aa-site .aa-profile-feature, .aa-site .aa-about-cover { grid-template-columns: minmax(0,1fr) 260px; gap: 30px; }
}
@media (max-width: 700px) {
 .aa-header { height: auto; min-height: 116px; flex-wrap: wrap; padding-top: 18px; padding-bottom: 6px; gap: 12px; }
 .aa-header .aa-nav { width: 100%; margin: 0; justify-content: space-between; gap: 12px; font-size: 12px; border-top: 1px solid #ffffff24; }
 html { scroll-padding-top: 132px; }
 .aa-site section[id] { scroll-margin-top: 132px; }
}
@media (max-width: 600px) {
 .aa-site .aa-profile-feature, .aa-site .aa-about-cover { grid-template-columns: 1fr; }
 .aa-site .aa-profile-portrait { display: block; width: 100%; max-width: 420px; padding-top: 0; }
 .aa-site .aa-profile-portrait figcaption { padding-top: 16px; }
}

/* Readable work heading when motion is paused, reduced or unavailable. */
.aa-work #work-title { color: #faf7ef; }
