/* Compact identity, introduction, and brand summaries. */
.brand-image.gaeta,.brand-image.apg{background:transparent}
.header-brand{display:inline-flex;align-items:center;gap:.7rem}
.wordmark .header-mark{position:relative;display:block;overflow:hidden;width:54px;height:44px;margin:0;flex:none;mix-blend-mode:multiply;animation:mark-arrive 1.1s ease-out both}
.header-mark img{position:absolute;width:141.7px;max-width:none;height:auto;left:-7.6px;top:-4.9px}
.hero{grid-template-columns:minmax(0,1.55fr) minmax(230px,.8fr);min-height:0;gap:5rem;padding:4.5rem 2.5rem}
.hero h1{font-size:clamp(2.8rem,4.3vw,4.3rem)}
.meaning{border-left:1px solid var(--line);padding:1rem 0 1rem 2rem;max-width:23rem}
.meaning .eyebrow{margin-bottom:1rem}.meaning-lead{font:1.7rem/1.3 Georgia,serif;margin:0 0 1rem;letter-spacing:-.02em}.meaning>p:not(.eyebrow):not(.meaning-lead){color:var(--muted);font-size:.96rem}.meaning-rule{display:block;width:38px;height:2px;background:var(--gold);margin:1.5rem 0}.meaning .meaning-note{font:italic 1rem/1.6 Georgia,serif}
.purpose{margin:0 2.5rem;padding:3.5rem 0;display:grid;grid-template-columns:1fr 1fr;gap:4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.purpose h2{font-size:clamp(2.1rem,3vw,3rem)}.purpose-intro>p:last-child{color:var(--muted);margin:1.5rem 0 0;max-width:34rem}.principles article{display:flex;gap:1.25rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.principles article:first-child{padding-top:0}.principles article:last-child{border:0;padding-bottom:0}.principle-number{font:.85rem/1.8 Georgia,serif;color:var(--gold)}.principles h3{font-size:1.5rem;letter-spacing:-.02em}.principles p{font-size:.95rem;color:var(--muted);margin:.6rem 0 0}
.brands{padding-top:3.5rem;padding-bottom:3.5rem}.brand-card{position:relative;display:grid;grid-template-columns:100px minmax(0,1fr);align-items:start;gap:1.3rem;padding:1.6rem;border-radius:3px}.brand-image{width:100px;height:100px;border-radius:4px;flex:none}.apg{padding:.35rem}.card-copy{padding:0}.card-copy h3{font-size:1.65rem}.card-copy .eyebrow{font-size:.75rem;letter-spacing:.1em}.card-copy>p:not(.eyebrow){min-height:0;font-size:.97rem}.card-copy details{margin-top:1rem}.section-heading{margin-bottom:2rem}
@keyframes mark-arrive{from{opacity:0;transform:translateY(5px) scale(.93)}to{opacity:1;transform:none}}
@media(max-width:1000px){.hero{gap:2.5rem}.purpose{gap:2.5rem}.brand-card{grid-template-columns:76px minmax(0,1fr);gap:1rem;padding:1.25rem}.brand-image{width:76px;height:76px}}
@media(max-width:800px){.hero{grid-template-columns:1fr;padding:2.5rem 1.25rem;gap:2rem}.hero-copy{text-align:left}.intro{margin-left:0}.meaning{max-width:none;padding:.3rem 0 .3rem 1.3rem}.meaning-lead{font-size:1.55rem}.meaning-rule,.meaning-note{display:none}.meaning .eyebrow{margin-bottom:.5rem}.meaning>p:last-of-type{margin-bottom:0}.purpose{margin:0 1.25rem;padding:2.5rem 0;grid-template-columns:1fr;gap:2rem}.brands{padding:2.5rem 1.25rem}.brand-card{grid-template-columns:88px minmax(0,1fr)}.brand-image{width:88px;height:88px}.header-brand{font-size:1.6rem;gap:.4rem}.wordmark .header-mark{width:45px;height:41px}.header-mark img{width:118px;left:-6.3px;top:-4px}}
@media(max-width:390px){.brand-card{grid-template-columns:1fr}.brand-image{width:80px;height:80px}.header-brand{font-size:1.45rem}header{gap:.3rem}.languages{gap:0}.hero h1{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){.wordmark .header-mark{animation:none}}
.hero{grid-template-columns:minmax(0,1.35fr) minmax(250px,1fr);gap:3rem}
.hero-copy .meaning{max-width:31rem;padding:.2rem 0 .2rem 1.2rem;margin-top:1.8rem}
.hero-copy .meaning .eyebrow{margin-bottom:.6rem}
.hero-copy .meaning-lead{font-size:1.35rem;line-height:1.4;margin-bottom:.65rem}
.hero-copy .meaning>p:last-child{margin-bottom:0}
.logo-generation{margin:0;min-width:0;text-align:center}
.growing-tree{position:relative;overflow:hidden;aspect-ratio:500/415;width:100%;max-width:450px;margin:auto;mix-blend-mode:multiply;animation:tree-generate 4s ease-in-out both}
.growing-tree img{position:absolute;max-width:none;width:262.4%;height:auto;left:-14%;top:-10.84%}
.logo-generation figcaption{font:italic 1rem/1.7 Georgia,serif;color:var(--muted);margin-top:1.75rem;animation:caption-arrive 4.3s ease-out both}
@keyframes tree-generate{0%{clip-path:inset(100% 0 0);opacity:0;filter:grayscale(1)}12%{opacity:1}75%{clip-path:inset(0 0 0);filter:grayscale(1)}100%{clip-path:inset(0 0 0);opacity:1;filter:grayscale(0)}}
@keyframes caption-arrive{0%,75%{opacity:0;transform:translateY(5px)}100%{opacity:1;transform:none}}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:2.5rem}.wordmark .header-mark{height:37px}.growing-tree{max-width:310px}.logo-generation figcaption{margin-top:1rem}.hero-copy .meaning{max-width:none}.hero-copy .meaning-lead{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){.growing-tree,.logo-generation figcaption{animation:none}}
.header-mark img{position:static;width:100%;height:100%;object-fit:contain}
.wordmark .header-mark{mix-blend-mode:normal}
.growing-tree{aspect-ratio:3/2;overflow:visible;mix-blend-mode:normal;transform-origin:50% 85%;animation:none}
.growing-tree img{position:static;width:100%;height:auto;display:block}
.logo-generation figcaption{animation:none}
.logo-generation[data-animation="grow"] .growing-tree{animation:root-cycle 9s ease-in-out infinite}
.logo-generation[data-animation="breathe"] .growing-tree{animation:breathing-cycle 6s ease-in-out infinite}
.logo-generation[data-animation="light"] .growing-tree{animation:light-cycle 7s ease-in-out infinite}
.logo-generation[data-animation="light"] .growing-tree:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#dfb96c 50%,transparent 70%);background-size:300% 100%;mask:url('assets/wairuapath-tree-transparent.png') center/contain no-repeat;opacity:0;animation:light-sweep 7s ease-in-out infinite;pointer-events:none}
@keyframes root-cycle{0%{clip-path:inset(100% 0 0);opacity:0;filter:grayscale(1)}8%{opacity:1}45%{clip-path:inset(0);filter:grayscale(1)}60%,88%{clip-path:inset(0);opacity:1;filter:grayscale(0)}100%{clip-path:inset(0);opacity:0;filter:grayscale(0)}}
@keyframes breathing-cycle{0%,100%{transform:scale(.97);opacity:.88}50%{transform:scale(1.015);opacity:1}}
@keyframes light-cycle{0%,100%{filter:brightness(1)}45%{filter:brightness(1.08)}}
@keyframes light-sweep{0%,10%{background-position:150% 0;opacity:0}25%{opacity:.5}65%{opacity:.5}85%,100%{background-position:-50% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){.logo-generation .growing-tree,.logo-generation .growing-tree:after{animation:none!important}.growing-tree:after{display:none}.animation-controls{display:none}}
