:root{--ink:#182223;--ink-soft:#334041;--paper:#f1f0ea;--paper-deep:#e6e4dc;--champagne:#b7ab8f;--champagne-dark:#8a7858;--line:rgba(24,34,35,.18);--line-light:rgba(241,240,234,.22);--max:1440px;--pad:clamp(1.25rem,4vw,4.5rem);--serif:Iowan Old Style,Baskerville,Times New Roman,serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.55}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img,svg{display:block;max-width:100%}[hidden]{display:none!important}.shell{width:min(100%,var(--max));margin-inline:auto;padding-inline:var(--pad)}.section-space{padding-top:clamp(5rem,10vw,10rem);padding-bottom:clamp(5rem,10vw,10rem)}.skip-link{position:fixed;left:1rem;top:1rem;z-index:100;transform:translateY(-180%);padding:.75rem 1rem;background:var(--paper);color:var(--ink);border:2px solid var(--ink)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:2px solid var(--champagne-dark);outline-offset:4px}
.site-header{height:6.5rem;padding:0 var(--pad);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;color:var(--paper);background:var(--ink);border-bottom:1px solid var(--line-light);position:relative;z-index:20}.brand{display:inline-flex;align-items:center;width:max-content}.brand-full{display:block;width:4.9rem}.brand-compact{display:none;width:3.25rem}.brand-full img,.brand-compact img{display:block;width:100%;height:auto}.brand-footer .brand-full{width:6.2rem}.desktop-nav{justify-self:center;display:flex;gap:clamp(1.25rem,2.2vw,2.6rem)}.desktop-nav a{position:relative;padding-block:1rem;color:rgba(241,240,234,.75);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.desktop-nav a:hover,.desktop-nav a.active{color:var(--paper)}.desktop-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:.55rem;height:1px;background:var(--champagne)}.header-actions{display:flex;align-items:center;gap:1.25rem}.language-link{font-size:.75rem;letter-spacing:.16em}.menu-toggle{display:none;width:2.75rem;height:2.75rem;padding:0;border:0;background:transparent;color:var(--paper);cursor:pointer}.menu-toggle span{display:block;width:1.6rem;height:1px;margin:.35rem auto;background:currentColor;transition:transform .2s ease}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(.18rem) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-.18rem) rotate(-45deg)}.mobile-menu{position:fixed;inset:6.5rem 0 0;padding:3rem var(--pad);background:var(--ink);color:var(--paper)}.mobile-menu nav{display:grid}.mobile-menu nav a{padding:1rem 0;border-bottom:1px solid var(--line-light);font-family:var(--serif);font-size:clamp(2rem,9vw,4rem);line-height:1}.mobile-language{display:inline-block;margin-top:2rem;padding:.8rem 0;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
.eyebrow{margin:0 0 1.4rem;font-size:.72rem;font-weight:650;letter-spacing:.19em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400;letter-spacing:-.045em}h1 em,h2 em{color:var(--champagne);font-family:var(--serif);font-weight:400}.lead{max-width:42rem;font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.55}.text-link{display:inline-flex;gap:1rem;align-items:center;padding:.8rem 0;border-bottom:1px solid currentColor;font-size:.82rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.text-link span,.arrow{color:var(--champagne-dark);transition:transform .18s ease}.text-link:hover span,a:hover .arrow{transform:translate(.2rem,-.2rem)}.text-link-light span{color:var(--champagne)}
.home-hero{min-height:calc(100svh - 6.5rem);position:relative;overflow:hidden;color:var(--paper);background:var(--ink)}.hero-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);pointer-events:none}.hero-grid i{border-left:1px solid rgba(241,240,234,.07)}.hero-grid i:last-child{border-right:1px solid rgba(241,240,234,.07)}.hero-content{min-height:calc(100svh - 6.5rem);padding-top:clamp(4rem,10vh,8rem);padding-bottom:3rem;position:relative;display:flex;flex-direction:column}.hero-content h1{margin:0;max-width:10ch;font-size:clamp(4.1rem,10.5vw,10.5rem);line-height:.8;letter-spacing:-.065em}.hero-foot{margin-top:auto;display:grid;grid-template-columns:minmax(18rem,34rem) auto;justify-content:space-between;align-items:end;gap:3rem}.hero-foot p{margin:0;color:rgba(241,240,234,.78);font-size:1.12rem}.hero-code{position:absolute;right:var(--pad);top:2.6rem;margin:0;color:rgba(241,240,234,.32);font-size:.65rem;letter-spacing:.16em;writing-mode:vertical-rl}
.zero-word{white-space:nowrap}.slashed-o{position:relative;display:inline-block}.slashed-o:after{content:"";position:absolute;left:50%;top:51%;width:.78em;height:.045em;border-radius:99rem;background:currentColor;transform:translate(-50%,-50%) rotate(-58deg);transform-origin:center;pointer-events:none}
.section-intro{display:grid;grid-template-columns:minmax(4rem,1fr) 3fr;gap:2rem}.section-intro>span{font-size:.78rem}.section-intro h2{margin:0;font-size:clamp(3rem,6vw,6.8rem);line-height:.93}.section-intro p:not(.eyebrow){max-width:35rem;margin-top:2rem;font-size:1.05rem}.belief{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(15rem,1fr);column-gap:clamp(3rem,8vw,9rem);align-items:end}.belief blockquote{margin:0;padding:0 0 0 1.5rem;border-left:1px solid var(--champagne-dark);font-family:var(--serif);font-size:clamp(1.4rem,2.3vw,2.2rem);line-height:1.35}.belief .text-link{grid-column:2;margin-top:2.5rem;justify-self:start}.companies-preview{background:var(--paper-deep)}.section-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:3rem;margin-bottom:4rem}.section-heading .text-link{margin-bottom:.5rem}.company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.company-card{min-height:27rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.08)}.company-card-meta{display:flex;justify-content:space-between;gap:2rem;font-size:.69rem;letter-spacing:.15em;text-transform:uppercase}.company-card-copy{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:end}.company-card-copy h3{grid-column:1;margin-bottom:.5rem;font-size:1rem}.company-card-copy p{grid-column:1;margin:0;max-width:29rem;color:var(--ink-soft)}.company-card-copy .arrow{grid-column:2;grid-row:1/3;font-size:1.35rem}.people-band{padding:clamp(5rem,10vw,9rem) 0;color:var(--paper);background:var(--ink)}.people-grid{display:grid;grid-template-columns:minmax(4rem,1fr) 3fr;gap:2rem}.people-grid>span{font-size:.78rem}.people-grid h2{margin:0;font-size:clamp(3rem,6.3vw,7rem);line-height:.95}.people-grid .text-link{grid-column:2;margin-top:2rem;justify-self:start}
.page-hero{padding-top:clamp(5rem,9vw,9rem);padding-bottom:clamp(5rem,8vw,8rem);border-bottom:1px solid var(--line)}.page-hero h1{margin:0 0 3rem;max-width:11ch;font-size:clamp(4rem,9vw,9.5rem);line-height:.84}.page-hero .lead{margin:0 0 0 auto}.principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:0}.principle{min-height:27rem;padding:2.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.principle:nth-child(odd){border-left:1px solid var(--line)}.principle span{font-size:.75rem}.principle h2{margin:auto 0 2rem;max-width:13ch;font-family:var(--serif);font-size:clamp(2rem,4vw,4.2rem);line-height:.95}.principle p{max-width:31rem;margin:0}.philosophy-statement{padding:clamp(6rem,12vw,12rem) 0;color:var(--paper);background:var(--ink)}.philosophy-statement span{font-size:.7rem;letter-spacing:.15em}.philosophy-statement h2{margin:5rem 0 2rem;max-width:15ch;font-size:clamp(3.5rem,8vw,8rem);line-height:.9}.philosophy-statement p{max-width:35rem;color:rgba(241,240,234,.7);font-size:1.2rem}.companies-hero .lead{max-width:38rem}.companies-index{padding-top:0}
.company-hero{min-height:43rem;padding:clamp(4rem,8vw,8rem) 0;position:relative;color:var(--paper);background:var(--ink)}.company-hero .shell{min-height:30rem;display:flex;flex-direction:column}.back-link{display:inline-block;width:max-content;margin-bottom:4rem;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.company-hero-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line-light);padding-top:1rem;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}.company-display-name{margin:auto 0;font-size:clamp(4.5rem,13vw,13rem);font-weight:650;line-height:.78;letter-spacing:-.07em}.company-hero h1{max-width:34rem;margin:0 0 0 auto;font-size:clamp(1.5rem,2.6vw,2.7rem);line-height:1.15;letter-spacing:-.03em}.company-hero.tone-glyon{color:#452d29;background:#f5eee5}.company-hero.tone-glyon .company-display-name{color:#9c5b46;font-family:var(--serif);font-weight:400}.company-hero.tone-grillo-re{color:#f3ebdf;background:#834d3d}.company-hero.tone-grillo-re .company-display-name,.company-hero.tone-properties .company-display-name{font-family:var(--serif);font-weight:400}.company-hero.tone-properties{color:#f1f0ea;background:#17293a}.company-profile{display:grid;grid-template-columns:1fr 2fr;gap:clamp(3rem,8vw,9rem)}.company-profile h2{font-size:clamp(2.5rem,5vw,5rem)}.profile-copy>p{max-width:48rem;font-family:var(--serif);font-size:clamp(1.55rem,2.4vw,2.45rem);line-height:1.32}.profile-copy dl{margin:4rem 0;border-top:1px solid var(--line)}.profile-copy dl div{padding:1.25rem 0;display:grid;grid-template-columns:1fr 2fr;gap:2rem;border-bottom:1px solid var(--line)}.profile-copy dt{color:var(--ink-soft);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.profile-copy dd{margin:0}.company-next{padding-top:3rem;padding-bottom:3rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.company-next>span{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase}.company-next a{font-family:var(--serif);font-size:clamp(2rem,5vw,4.5rem)}.company-next a span{color:var(--champagne-dark)}
.founder-hero{min-height:42rem;padding-top:clamp(5rem,8vw,8rem);padding-bottom:5rem;display:grid;grid-template-columns:2fr 1fr;gap:5rem;align-items:end}.founder-hero h1{margin:0 0 2rem;font-size:clamp(4.5rem,10vw,10rem);line-height:.8}.founder-socials{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:2rem}.founder-socials .social-icon{width:1.05rem;height:1.05rem;flex:0 0 auto;fill:currentColor}.founder-signal{height:min(30rem,50vw);position:relative;display:grid;place-items:center;border:1px solid var(--line)}.founder-signal span{font-family:var(--serif);font-size:clamp(4rem,9vw,9rem);color:var(--champagne-dark)}.founder-signal i{position:absolute;inset:15%;border:1px solid var(--line);border-radius:50%}.founder-signal small{position:absolute;left:1rem;bottom:1rem;letter-spacing:.15em}.founder-story{display:grid;grid-template-columns:1fr 2fr;gap:4rem;border-top:1px solid var(--line)}.founder-story>div:first-child{display:flex;justify-content:space-between;gap:2rem}.large-copy{font-family:var(--serif);font-size:clamp(2rem,4vw,4.2rem);line-height:1.17}.founder-story>div:last-child>p:not(.large-copy){max-width:43rem}.editorial-note{margin-top:3rem;padding:1.25rem 0 0;border-top:1px solid var(--line);color:var(--ink-soft);font-size:.86rem}
.media-overview{margin:0 0 1.25rem;color:var(--ink-soft);font-size:.72rem;font-weight:650;letter-spacing:.11em;text-transform:uppercase}.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:3rem}.filters button{min-height:2.75rem;padding:.65rem 1rem;border:1px solid var(--line);border-radius:99rem;display:inline-flex;align-items:center;gap:.55rem;color:var(--ink);background:transparent;cursor:pointer}.filters button span{min-width:1.3rem;padding:.08rem .35rem;border-radius:99rem;color:var(--ink-soft);background:rgba(24,34,35,.08);font-size:.68rem;line-height:1.35}.filters button:hover,.filters button.selected{color:var(--paper);background:var(--ink)}.filters button:hover span,.filters button.selected span{color:var(--ink);background:var(--champagne)}.press-list{border-top:1px solid var(--line)}.press-item{padding:2.25rem 0;display:grid;grid-template-columns:minmax(10rem,.8fr) minmax(0,2fr) 2.75rem;gap:clamp(1.5rem,3vw,3rem);align-items:start;border-bottom:1px solid var(--line)}.press-item.press-item-youtube-primary{grid-template-columns:minmax(10rem,.8fr) minmax(0,2fr)}.press-meta{display:grid;justify-items:start;gap:.48rem;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.press-company{color:var(--champagne-dark);font-weight:700}.press-format{padding:.28rem .52rem;border:1px solid var(--line);border-radius:99rem;line-height:1}.press-publication{max-width:11rem;margin-top:.35rem;display:grid;gap:.38rem;color:var(--ink-soft);letter-spacing:.035em;text-transform:none}.press-publication-mark{width:9rem;max-width:100%;height:2.4rem;display:flex;align-items:center;justify-content:flex-start}.press-publication-logo{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:left center}.press-publication-mark--inverse{height:2.65rem;padding:.55rem .7rem;background:#182f43}.press-publication-mark--artwork{width:2.65rem;height:2.65rem;overflow:hidden}.press-publication-mark--artwork .press-publication-logo{width:100%;height:100%;object-fit:cover}.press-publication-name{font-size:.75rem;line-height:1.35;overflow-wrap:anywhere}.press-publication--text{min-height:2.4rem;align-content:center}.press-copy{min-width:0}.press-item h2{margin-bottom:.8rem;font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);line-height:1.1}.press-item p{margin:0;max-width:44rem;color:var(--ink-soft)}.press-source-link{width:2.75rem;height:2.75rem;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--champagne-dark);font-size:1.2rem;transition:color .18s ease,background .18s ease,transform .18s ease}.press-source-link:hover{color:var(--paper);background:var(--ink);transform:translate(.12rem,-.12rem)}.press-channels{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.15rem}.media-platform-link{min-height:2.75rem;padding:.55rem .85rem;display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:99rem;font-size:.7rem;font-weight:650;letter-spacing:.09em;text-transform:uppercase;transition:color .18s ease,background .18s ease,border-color .18s ease}.media-platform-link span:first-child{color:#d32727;font-size:.78rem}.media-platform-link span:last-child{color:var(--champagne-dark);transition:transform .18s ease}.media-platform-link:hover{color:var(--paper);background:var(--ink);border-color:var(--ink)}.media-platform-link:hover span:last-child{transform:translate(.15rem,-.15rem)}.source-note,.empty-filter{max-width:54rem;margin-top:2rem;color:var(--ink-soft);font-size:.8rem}
.contact-hero{padding:clamp(5rem,9vw,9rem) 0;color:var(--paper);background:var(--ink)}.contact-hero h1{margin:0 0 4rem;font-size:clamp(4.5rem,10vw,10rem);line-height:.8}.contact-hero .lead{margin-left:auto;color:rgba(241,240,234,.78)}.contact-content{display:grid;grid-template-columns:1fr 2fr;gap:4rem}.contact-content>div:first-child{display:flex;justify-content:space-between;gap:2rem}.contact-content h2{font-family:var(--serif);font-size:clamp(3.2rem,7vw,7rem)}.contact-content>div:last-child>p{max-width:43rem}
.site-footer{padding-top:5rem;color:var(--paper);background:var(--ink)}.footer-main{display:grid;grid-template-columns:1fr 1.4fr .7fr;gap:4rem;align-items:start;padding-bottom:5rem}.footer-main>p{max-width:26rem;color:rgba(241,240,234,.65)}.footer-main nav{display:grid;gap:.7rem;justify-self:end;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.footer-bottom{padding-top:1.5rem;padding-bottom:1.5rem;display:flex;justify-content:space-between;gap:2rem;border-top:1px solid var(--line-light);color:rgba(241,240,234,.5);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.company-card{min-height:30rem;transition:background .2s ease}.company-card:hover{background:rgba(255,255,255,.28)}.company-card-inner{min-height:inherit;padding:clamp(1.5rem,3vw,2.6rem);display:flex;flex-direction:column}.company-logo-link{display:flex;max-width:100%;width:max-content;flex-direction:column;align-items:flex-start;gap:.75rem}.company-logo-link-card{margin:auto 0}.company-logo-link-hero{margin:auto 0 1.75rem}.company-logo-frame{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.company-logo-frame img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.company-logo-link-card .company-logo-frame{width:min(100%,28rem);height:9rem}.company-logo-link-hero .company-logo-frame{width:min(70vw,58rem);height:clamp(9rem,19vw,16rem);justify-content:flex-start}.company-logo-domain{display:inline-flex;align-items:center;gap:.45rem;color:currentColor;font-size:.75rem;font-weight:650;letter-spacing:.09em;text-transform:uppercase}.company-logo-domain span{color:var(--champagne-dark);transition:transform .18s ease}.company-logo-link-hero .company-logo-domain span{color:currentColor}.company-logo-link:hover .company-logo-domain span{transform:translate(.2rem,-.2rem)}.company-logo-ecom.company-logo-link-card .company-logo-frame{height:6.5rem;padding:1.35rem 1.5rem;background:#ff0068}.company-logo-ecom.company-logo-link-hero .company-logo-frame{width:min(72vw,54rem);height:9rem}.company-logo-adado .company-logo-frame{width:min(100%,23rem);height:8rem;padding:1.5rem;background:#fff}.company-logo-adado .company-logo-frame img{width:min(100%,18rem)}.company-logo-gap .company-logo-frame{width:min(100%,20rem);height:8rem;background:#000}.company-logo-gap .company-logo-frame img{position:absolute;left:50%;top:50%;width:356%;height:auto;max-width:none;max-height:none;transform:translate(-50%,-50%)}.company-logo-gap.company-logo-link-hero .company-logo-frame{width:min(56vw,29rem);height:11rem}.company-logo-grillo-re .company-logo-frame,.company-logo-grillo-properties .company-logo-frame{width:min(70vw,52rem)}.company-logo-glyon.company-logo-link-card .company-logo-frame{width:min(100%,24rem);height:10rem}.company-logo-glyon.company-logo-link-hero .company-logo-frame{width:min(62vw,38rem);height:17rem}.company-logo-blapp .company-logo-frame{width:min(100%,20rem);height:11rem;padding:1rem 1.35rem;background:#fff}.company-logo-blapp.company-logo-link-hero .company-logo-frame{width:min(54vw,30rem);height:17rem}.company-card-copy{grid-template-columns:minmax(0,1fr) auto;gap:.35rem 1rem}.company-card-copy h3{grid-column:1;margin-bottom:.2rem}.company-card-copy p{grid-column:1}.company-card-detail{grid-column:2;grid-row:1/3;min-height:2.75rem;align-self:end;display:inline-flex;align-items:center;gap:.55rem;border-bottom:1px solid currentColor;font-size:.72rem;font-weight:650;letter-spacing:.09em;text-transform:uppercase}.company-card-copy .company-card-detail .arrow{grid-column:auto;grid-row:auto}.company-card-detail:hover .arrow{transform:translate(.2rem,-.2rem)}
@media(max-width:980px){.site-header{height:5.5rem}.desktop-nav{display:none}.header-actions{justify-self:end}.menu-toggle{display:block}.mobile-menu{inset-block-start:5.5rem}.hero-content{min-height:calc(100svh - 5.5rem)}.hero-foot{grid-template-columns:1fr;align-items:start}.belief{grid-template-columns:1fr}.belief .text-link{grid-column:1}.footer-main{grid-template-columns:1fr 1fr}.footer-main nav{grid-column:2;grid-row:1/3}}
@media(max-width:720px){:root{--pad:1.25rem}.site-header{padding-inline:var(--pad)}.brand-full{display:none}.brand-compact{display:block}.brand-footer .brand-full{display:block}.brand-footer .brand-compact{display:none}.hero-content{padding-top:3.5rem}.hero-content h1{font-size:clamp(3.55rem,18vw,6.2rem)}.hero-foot{margin-top:4rem}.hero-code{display:none}.section-intro,.people-grid{grid-template-columns:1fr}.section-intro>span{margin-bottom:2rem}.belief blockquote{margin-top:3rem}.section-heading{grid-template-columns:1fr}.company-grid,.principles{grid-template-columns:1fr}.company-card{min-height:22rem}.company-card,.principle,.principle:nth-child(odd){border-left:1px solid var(--line)}.people-grid .text-link{grid-column:1}.page-hero h1{font-size:clamp(3.6rem,17vw,6rem)}.page-hero .lead{margin-left:0}.principle{min-height:23rem}.company-hero{min-height:35rem}.company-hero .shell{min-height:25rem}.company-display-name{font-size:clamp(4rem,20vw,7rem)}.company-hero h1{margin-left:0}.company-profile,.founder-story,.contact-content{grid-template-columns:1fr}.profile-copy dl div{grid-template-columns:1fr;gap:.4rem}.company-next{align-items:flex-end}.company-next a{text-align:right}.founder-hero{grid-template-columns:1fr}.founder-signal{height:20rem}.founder-story>div:first-child,.contact-content>div:first-child{justify-content:flex-start;gap:3rem}.contact-hero h1{font-size:clamp(3.2rem,15vw,5.5rem)}.press-item{grid-template-columns:1fr auto;gap:1.5rem}.press-item>div:nth-child(2){grid-column:1}.press-item>a{grid-column:2;grid-row:1/3}.footer-main{grid-template-columns:1fr}.footer-main nav{grid-column:1;grid-row:auto;justify-self:start}.footer-bottom{flex-direction:column}}
@media(min-width:981px){.mobile-menu{display:none!important}}
@media(max-width:980px){
  .site-header{position:sticky;top:0;z-index:50}
  .brand,.language-link,.menu-toggle{min-height:2.75rem}
  .language-link{min-width:2.75rem;display:inline-flex;align-items:center;justify-content:center}
  .mobile-menu{z-index:45;max-height:calc(100dvh - 5.5rem);overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(3rem,env(safe-area-inset-bottom))}
  .mobile-menu nav a{display:flex;align-items:center;min-height:3.75rem}
  .mobile-menu nav a.active{color:var(--champagne)}
}
@media(max-width:720px){
  :root{--pad:1.25rem}
  body{font-size:.98rem;line-height:1.52}
  .shell{padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right))}
  .section-space{padding-top:4.25rem;padding-bottom:4.25rem}
  .site-header{height:4.75rem;padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right));gap:.75rem}
  .header-actions{gap:.35rem}
  .mobile-menu{inset-block-start:4.75rem;max-height:calc(100dvh - 4.75rem);padding-top:1.75rem;padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right))}
  .mobile-menu nav a{padding:.8rem 0;font-size:clamp(2rem,10.5vw,3rem);line-height:1.05}
  .mobile-language{margin-top:1.4rem;min-height:2.75rem;display:inline-flex;align-items:center}
  .home-hero,.hero-content{min-height:calc(100svh - 4.75rem)}
  .hero-grid{grid-template-columns:repeat(3,1fr)}
  .hero-grid i:nth-child(4){display:none}
  .hero-content{padding-top:3rem;padding-bottom:2rem}
  .hero-content h1{font-size:clamp(3.35rem,18vw,4.75rem);line-height:.82}
  .hero-foot{margin-top:auto;padding-top:3rem;gap:2.25rem}
  .hero-foot p{font-size:1.02rem;line-height:1.55}
  .eyebrow{margin-bottom:1.1rem;font-size:.68rem;line-height:1.4;letter-spacing:.17em}
  .lead{font-size:1.06rem;line-height:1.55}
  .text-link{min-height:2.75rem;padding:.7rem 0;gap:.75rem;font-size:.75rem;letter-spacing:.1em}
  .section-intro,.people-grid{grid-template-columns:2.25rem minmax(0,1fr);gap:.75rem}
  .section-intro>span{margin:0;padding-top:.1rem}
  .section-intro h2,.people-grid h2{font-size:clamp(2.55rem,12.5vw,3.55rem);line-height:.94}
  .section-intro p:not(.eyebrow){margin-top:1.5rem;font-size:1rem}
  .belief{gap:0}
  .belief blockquote{margin-top:2.75rem;padding-left:1.1rem;font-size:1.45rem}
  .belief .text-link{margin-top:2rem}
  .section-heading{gap:1.75rem;margin-bottom:2.75rem}
  .section-heading>.text-link{justify-self:start;margin:0}
  .company-card{min-height:20.5rem}
  .company-card-inner{padding:1.35rem}
  .company-card-meta{font-size:.64rem;gap:1rem}
  .company-logo-link-card{gap:.55rem}
  .company-logo-link-card .company-logo-frame{height:6.75rem}
  .company-logo-ecom.company-logo-link-card .company-logo-frame{height:5.25rem;padding:1rem}
  .company-logo-adado .company-logo-frame{height:6.5rem;padding:1.1rem}
  .company-logo-gap .company-logo-frame{height:6.5rem}
  .company-logo-glyon.company-logo-link-card .company-logo-frame{height:7.25rem}
  .company-logo-blapp .company-logo-frame{height:7.5rem;padding:.75rem 1rem}
  .company-logo-domain{font-size:.7rem;letter-spacing:.07em}
  .company-card-copy{gap:.75rem}
  .company-card-copy h3{margin-bottom:.25rem}
  .company-card-copy p{font-size:1rem;line-height:1.48}
  .company-card-detail{gap:.4rem;font-size:.68rem}
  .people-band{padding:4.5rem 0}
  .people-grid>span{padding-top:.1rem}
  .people-grid h2{grid-column:2}
  .people-grid .text-link{grid-column:2;margin-top:1.25rem}
  .page-hero{padding-top:4.25rem;padding-bottom:4.5rem}
  .page-hero h1{margin-bottom:2rem;font-size:clamp(3.2rem,16vw,4.7rem);line-height:.86}
  .principle{min-height:19.5rem;padding:1.5rem}
  .principle h2{margin:auto 0 1.5rem;font-size:clamp(2rem,10vw,2.8rem)}
  .philosophy-statement{padding:5rem 0}
  .philosophy-statement h2{margin:3rem 0 1.5rem;font-size:clamp(3rem,14vw,4.25rem)}
  .philosophy-statement p{font-size:1.05rem}
  .company-hero{min-height:auto;padding:3rem 0 3.5rem}
  .company-hero .shell{min-height:29rem}
  .company-logo-link-hero{width:100%;margin:auto 0 1.5rem;gap:.55rem}
  .company-logo-link-hero .company-logo-frame{width:100%;height:9rem}
  .company-logo-ecom.company-logo-link-hero .company-logo-frame{width:100%;height:6rem}
  .company-logo-adado.company-logo-link-hero .company-logo-frame{width:min(100%,20rem);height:7rem}
  .company-logo-gap.company-logo-link-hero .company-logo-frame{width:min(100%,22rem);height:8rem}
  .company-logo-grillo-re.company-logo-link-hero .company-logo-frame,.company-logo-grillo-properties.company-logo-link-hero .company-logo-frame{width:100%;height:8rem}
  .company-logo-glyon.company-logo-link-hero .company-logo-frame{width:min(100%,24rem);height:11rem}
  .company-logo-blapp.company-logo-link-hero .company-logo-frame{width:min(100%,22rem);height:11rem}
  .back-link{min-height:2.75rem;margin-bottom:2.5rem;display:inline-flex;align-items:center}
  .company-hero-meta{font-size:.64rem;gap:1rem}
  .company-display-name{font-size:clamp(3.35rem,17vw,5.25rem);line-height:.82;overflow-wrap:anywhere}
  .company-hero h1{font-size:1.3rem;line-height:1.25}
  .company-profile{gap:2.25rem}
  .company-profile h2{font-size:2.8rem}
  .profile-copy>p{font-size:1.4rem;line-height:1.38}
  .profile-copy dl{margin:3rem 0}
  .profile-copy dl div{padding:1rem 0}
  .company-next{padding-top:2rem;padding-bottom:2rem;display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem}
  .company-next a{min-height:2.75rem;display:inline-flex;align-items:center;justify-content:flex-end;font-size:clamp(1.75rem,9vw,2.7rem);line-height:1;overflow-wrap:anywhere}
  .founder-hero{min-height:auto;padding-top:4.25rem;padding-bottom:4.25rem;gap:3rem}
  .founder-hero h1{font-size:clamp(3.9rem,18vw,5.25rem);line-height:.84}
  .founder-signal{width:100%;height:auto;aspect-ratio:1}
  .founder-story{gap:2.5rem}
  .founder-story>div:first-child,.contact-content>div:first-child{gap:2rem}
  .large-copy{font-size:1.9rem;line-height:1.2}
  .editorial-note{margin-top:2.25rem}
  .filters{flex-wrap:nowrap;gap:.5rem;margin:0 calc(var(--pad) * -1) 2.25rem;padding:0 var(--pad) .5rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .filters button{flex:0 0 auto;min-height:2.75rem;scroll-snap-align:start}
  .press-item{padding:1.75rem 0;gap:1rem 1.25rem}
  .press-item.press-item-youtube-primary{grid-template-columns:1fr}
  .press-publication{max-width:10rem}
  .press-publication-mark{width:8.5rem;max-width:100%;height:2.2rem}
  .press-publication-mark--inverse,.press-publication-mark--artwork{height:2.55rem}
  .press-publication-mark--artwork{width:2.55rem}
  .press-item h2{font-size:1.65rem;line-height:1.14}
  .press-item p{font-size:.92rem;line-height:1.5}
  .press-item>a{width:2.75rem;height:2.75rem;margin-top:-.6rem;display:grid;place-items:center}
  .contact-hero{padding:4.5rem 0}
  .contact-hero h1{margin-bottom:2.5rem;font-size:clamp(3.2rem,15vw,4.55rem);line-height:.86}
  .contact-content{gap:2.5rem}
  .contact-content h2{font-size:3.25rem}
  .site-footer{padding-top:4rem}
  .footer-main{gap:2rem;padding-bottom:3rem}
  .footer-main>p{margin:0;font-size:.94rem}
  .footer-main nav{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
  .footer-main nav a{min-height:3.25rem;display:flex;align-items:center;font-size:.69rem;letter-spacing:.06em}
  .footer-main nav a:nth-child(2){justify-content:center}
  .footer-main nav a:last-child{justify-content:flex-end}
  .footer-bottom{padding-top:1.4rem;padding-bottom:max(1.4rem,env(safe-area-inset-bottom));gap:.65rem;font-size:.62rem;line-height:1.45}
}
@media(max-width:420px){
  :root{--pad:1.125rem}
  .brand-compact{width:3.05rem}
  .hero-content h1{font-size:clamp(3.25rem,17.7vw,4.4rem)}
  .page-hero h1{font-size:clamp(3rem,15.5vw,4.1rem)}
  .company-display-name{font-size:clamp(3rem,16.5vw,4.3rem)}
  .company-card-copy{grid-template-columns:1fr;gap:.4rem}
  .company-card-copy h3,.company-card-copy p,.company-card-detail{grid-column:1}
  .company-card-detail{grid-row:auto;justify-self:start;margin-top:.4rem}
  .footer-main nav a{font-size:.65rem}
}
@media(max-width:720px) and (max-height:620px){
  .home-hero,.hero-content{min-height:auto}
  .hero-content{padding-bottom:3.5rem}
  .hero-foot{margin-top:0;padding-top:3rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.company-logo-link-card{width:100%}.company-logo-frame{max-width:100%}

/* Ecom, Adadò, GAP and Blapp now follow the same neutral card surface already
   used by Grillo RE, Grillo Properties and Glyon: no detached colour tiles. */
.company-card.tone-energy,.company-card.tone-hospitality,.company-card.tone-real-estate,.company-card.tone-digital{color:var(--ink);background:rgba(255,255,255,.08)}
.company-card.tone-energy:hover,.company-card.tone-hospitality:hover,.company-card.tone-real-estate:hover,.company-card.tone-digital:hover{background:rgba(255,255,255,.28)}
.company-card.tone-energy .company-card-copy p,.company-card.tone-hospitality .company-card-copy p,.company-card.tone-real-estate .company-card-copy p,.company-card.tone-digital .company-card-copy p{color:var(--ink-soft)}
.company-logo-ecom .company-logo-frame,.company-logo-adado .company-logo-frame,.company-logo-gap .company-logo-frame,.company-logo-blapp .company-logo-frame{padding:0;background:transparent}
.company-logo-ecom.company-logo-link-card .company-logo-frame{width:min(100%,28rem);height:6.5rem;padding:0;background:transparent}
.company-logo-ecom.company-logo-link-hero .company-logo-frame{width:min(72vw,54rem);height:9rem}
.company-logo-ecom{--ecom-magenta:#e90063}
.company-logo-ecom .company-logo-frame{color:var(--ecom-magenta)}
.company-logo-ecom .company-logo-mark{display:block;flex:none;width:100%;max-width:26.548rem;aspect-ratio:2048/270;background-color:currentColor;-webkit-mask:url('/assets/companies/energia-comune.png') left center/contain no-repeat;mask:url('/assets/companies/energia-comune.png') left center/contain no-repeat}
.company-logo-adado .company-logo-frame{width:min(100%,11rem);height:4rem;justify-content:flex-start}
.company-logo-adado .company-logo-frame img{width:100%;height:auto;max-width:100%;max-height:100%}
.company-logo-adado.company-logo-link-hero .company-logo-frame{width:min(100%,11rem);height:4rem}
.company-logo-adado.company-logo-link-hero .company-logo-frame img{filter:none}
.company-logo-gap .company-logo-frame{background:transparent}
.company-logo-gap.company-logo-link-card .company-logo-frame img{filter:none;mix-blend-mode:multiply}
.company-logo-gap.company-logo-link-hero .company-logo-frame img{filter:none;mix-blend-mode:screen}
.company-logo-blapp .company-logo-frame{width:min(100%,22rem);height:10rem;padding:0;background:transparent}
.company-logo-blapp .company-logo-frame img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:left center}
.company-logo-blapp.company-logo-link-hero .company-logo-frame{width:min(58vw,31rem);height:14rem}

/* Verified founder portrait, presented in monochrome for the FG1 system. */
.founder-portrait{margin:0;position:relative;aspect-ratio:4/5;overflow:hidden;background:#d8d6cf}
.founder-portrait img{width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1) contrast(1.09);transform:scale(1.01)}
.founder-portrait:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(9,15,16,.52),transparent 34%)}
.founder-portrait figcaption{position:absolute;left:1.15rem;right:1.15rem;bottom:1rem;z-index:1;color:#fff;font-size:.65rem;font-weight:650;letter-spacing:.13em;text-transform:uppercase}

/* Contact */
.contact-panel>p{max-width:43rem}.contact-form{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--line)}
.contact-company-details{margin-top:2.75rem;padding:1.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(8rem,.7fr) minmax(0,1.3fr);gap:2rem}.contact-company-details .eyebrow{margin:0}.contact-company-details address{margin:0;display:grid;gap:.22rem;font-style:normal}.contact-company-details strong{margin-bottom:.35rem;font-family:var(--serif);font-size:1.45rem;font-weight:400}.contact-company-details address a{width:max-content;color:inherit;text-decoration-color:var(--champagne-dark);text-underline-offset:.18em}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.5rem}.form-field{display:grid;gap:.7rem}.form-field-wide{grid-column:1/-1}
.form-field label{font-size:.69rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.form-field input,.form-field textarea{width:100%;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:.85rem 0;color:var(--ink);background:transparent;font:inherit}.form-field textarea{min-height:10rem;resize:vertical;line-height:1.5}.form-field input:focus,.form-field textarea:focus{outline:0;border-color:var(--champagne-dark);box-shadow:0 2px 0 var(--champagne-dark)}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-form-note{max-width:49rem;margin:2rem 0 0;color:var(--ink-soft);font-size:.82rem}.contact-form-actions{margin-top:1.5rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.contact-form-actions button{min-height:3.25rem;padding:.85rem 1.25rem;border:1px solid var(--ink);color:var(--paper);background:var(--ink);cursor:pointer;font-size:.72rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;transition:background-color .2s ease,color .2s ease,opacity .2s ease}.contact-form-actions button:hover:not(:disabled),.contact-form-actions button:focus-visible{color:var(--ink);background:var(--champagne)}.contact-form-actions button:disabled{cursor:wait;opacity:.62}.contact-form-actions p{margin:0;color:var(--ink-soft);font-size:.75rem}.contact-form-actions .form-status-success{color:#315f4a}.contact-form-actions .form-status-error{color:#8b332d}

@media(max-width:720px){
  .company-logo-ecom.company-logo-link-card .company-logo-frame{height:5.25rem;padding:0}
  .company-logo-adado .company-logo-frame{width:8rem;height:7rem;padding:0}
  .company-logo-blapp .company-logo-frame{height:8.75rem;padding:0}
  .company-logo-ecom.company-logo-link-hero .company-logo-frame{height:6rem}
  .company-logo-adado.company-logo-link-hero .company-logo-frame{width:9rem;height:8rem}
  .company-logo-blapp.company-logo-link-hero .company-logo-frame{width:min(100%,22rem);height:10rem}
  .founder-portrait{width:100%;aspect-ratio:4/5}
  .contact-form{margin-top:2.5rem;padding-top:2rem}.contact-form-grid{grid-template-columns:1fr;gap:1.5rem}.form-field-wide{grid-column:1}.contact-form-actions{align-items:flex-start;flex-direction:column}.contact-form-actions button{width:100%}
}

.footer-bottom address{max-width:52rem;margin:0;font:inherit;text-align:right}.footer-bottom address a{color:inherit;text-decoration-color:currentColor;text-underline-offset:.16em}
@media(max-width:720px){.contact-company-details{margin-top:2rem;grid-template-columns:1fr;gap:1rem}.footer-bottom address{text-align:left}}

/* The complete portfolio is visible as one continuous index—no carousel or
   pagination. Four columns keep all seven companies compact on wide screens. */
@media(min-width:1180px){
  .company-grid-all{grid-template-columns:repeat(4,minmax(0,1fr))}
  .company-grid-all .company-card{min-height:25rem}
  .company-grid-all .company-card-inner{padding:1.5rem}
  .company-grid-all .company-card-copy{grid-template-columns:1fr;gap:.45rem}
  .company-grid-all .company-card-copy h3,.company-grid-all .company-card-copy p,.company-grid-all .company-card-detail{grid-column:1}
  .company-grid-all .company-card-detail{grid-row:auto;justify-self:start;margin-top:.6rem}
}
@media(max-width:720px){
  .company-logo-adado .company-logo-frame,.company-logo-adado.company-logo-link-hero .company-logo-frame{width:min(100%,10.5rem);height:3.5rem;padding:0}
}

/* Selected magazine covers remain fully visible and sit within the editorial
   rhythm of the Media index. */
.press-copy-with-cover{display:grid;grid-template-columns:minmax(9rem,14rem) minmax(0,1fr);gap:clamp(1.25rem,2.5vw,2.5rem);align-items:start}
.press-cover{width:100%;margin:0;border:1px solid var(--line);background:var(--paper-deep);box-shadow:0 .75rem 2rem rgba(24,34,35,.08)}
.press-cover img{width:100%;height:auto}
.press-copy-body{min-width:0}
@media(max-width:980px){.press-copy-with-cover{grid-template-columns:1fr}.press-cover{width:min(100%,15rem)}}
@media(max-width:720px){.press-cover{width:min(100%,18rem)}}

/* The magazine reader contains only the cover and the approved article pages. */
.press-reader-intro{padding-top:clamp(2rem,5vw,5rem);padding-bottom:3rem}
.press-reader-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(14rem,.8fr);gap:clamp(2rem,5vw,5rem);align-items:center;margin-top:2.5rem}
.press-reader-heading h1{font-size:clamp(2.8rem,5vw,5.5rem);line-height:1.05;margin-bottom:1.5rem}
.press-reader-heading .lead{font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2.3rem);line-height:1.3}
.press-reader-credit{margin:1.5rem 0;color:var(--ink-soft);font-size:.9rem}
.press-reader-cover{max-width:25rem;margin:0;justify-self:end;border:1px solid var(--line)}
.press-reader-cover img,.press-reader-page img{display:block;width:100%;height:auto}
.press-reader-pages{padding-bottom:clamp(3rem,6vw,6rem)}
.press-reader-pages h2{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.15}
.press-reader-pages>p{margin-top:.7rem;margin-bottom:2rem;color:var(--ink-soft)}
.press-reader-page{max-width:56rem;margin:0 auto 2.5rem}
.press-reader-page figcaption{margin-bottom:.7rem;color:var(--ink-soft);font-size:.875rem}
.press-reader-page a{display:block;border:1px solid var(--line);background:#fff}
@media(max-width:720px){.press-reader-heading{grid-template-columns:1fr;gap:2rem}.press-reader-cover{width:min(100%,25rem);justify-self:start}.press-reader-intro{padding-bottom:2rem}}

/* Portfolio cards share the same visual rhythm: the official website and
   company name start on common baselines, while every profile link closes the
   card at the same height regardless of copy length. */
.company-card{display:flex}
.company-card-inner{min-width:0;width:100%;flex:1;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 12.25rem minmax(0,1fr)}
.company-logo-link-card{min-width:0;height:100%;margin:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;align-items:end;gap:.65rem;padding-top:1.25rem}
.company-logo-link-card .company-logo-frame{max-width:100%;align-self:center;justify-self:start}
.company-logo-link-card .company-logo-domain{width:max-content;align-self:end}
.company-card-copy{min-width:0;min-height:0;padding-top:1rem;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:.45rem;align-items:start}
.company-card-copy h3,.company-card-copy p,.company-card-detail{grid-column:1}
.company-card-copy h3{grid-row:1;margin-bottom:0}
.company-card-copy p{grid-row:2}
.company-card-detail{grid-row:3;min-width:5.75rem;justify-content:space-between;justify-self:start;align-self:end;margin-top:1rem}
@media(min-width:1180px){
  .company-grid-all .company-card{min-height:30rem}
  .company-grid-all .company-card-copy{grid-template-rows:auto minmax(0,1fr) auto;gap:.45rem}
  .company-grid-all .company-card-detail{grid-row:3;margin-top:1rem}
}
@media(max-width:720px){
  .company-card{min-height:27.5rem}
  .company-card-inner{grid-template-rows:auto 10.5rem minmax(0,1fr)}
  .company-logo-link-card{gap:.55rem;padding-top:1rem}
  .company-card-copy{grid-template-rows:auto minmax(0,1fr) auto;gap:.45rem;padding-top:.85rem}
  .company-card-detail{grid-row:3;margin-top:.85rem}
}

/* The group diagram keeps the seven company links visible around one globe.
   Brand marks stay upright; only the globe meridians and orbital lines move. */
.group-orbit{position:relative;overflow:hidden;padding:clamp(4rem,7vw,7rem) 0 2rem;color:var(--paper);background:var(--ink);scroll-margin-top:5rem}
.orbit-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;position:relative;z-index:1}
.orbit-heading .eyebrow{color:var(--champagne);margin-bottom:1.2rem}
.orbit-heading h2{margin:0;font-size:clamp(3rem,6vw,6.5rem);line-height:.95}
.orbit-heading>p{margin:0;color:rgba(241,240,234,.7);font-size:1rem;line-height:1.6}
.orbit-field{position:relative;isolation:isolate;width:100%;max-width:72rem;height:clamp(37rem,58vw,47rem);margin:1rem auto 0}
.orbit-track{position:absolute;left:50%;top:50%;border:1px solid rgba(183,171,143,.2);border-radius:50%;pointer-events:none}
.orbit-track-one{width:79%;height:83%;transform:translate(-50%,-50%) rotate(-13deg);animation:orbit-precession 42s ease-in-out infinite alternate}
.orbit-track-two{width:89%;height:60%;transform:translate(-50%,-50%) rotate(17deg);border-color:rgba(183,171,143,.12)}
.orbit-track-one:after{content:"";position:absolute;left:50%;top:-3px;width:5px;height:5px;background:var(--champagne);border-radius:50%}
.orbit-globe{position:absolute;left:50%;top:50%;width:39%;max-width:27rem;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 38% 30%,rgba(183,171,143,.12),rgba(183,171,143,.025) 58%,transparent 73%);box-shadow:0 0 5rem rgba(183,171,143,.035)}
.orbit-globe-grid{width:100%;height:100%;stroke:rgba(183,171,143,.23);stroke-width:.85}
.orbit-meridians{transform-origin:200px 200px;animation:orbit-meridians 22s ease-in-out infinite alternate}
.orbit-core{position:absolute;inset:27%;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,rgba(24,34,35,.96) 35%,rgba(24,34,35,.85) 58%,transparent 73%)}
.orbit-core img{width:100%;height:auto}
.orbit-companies{list-style:none;margin:0;padding:0;position:absolute;inset:0}
.orbit-satellite{position:absolute;left:var(--orbit-x);top:var(--orbit-y);width:19%;max-width:14rem;transform:translate(-50%,-50%)}
.orbit-satellite-ecom{--orbit-x:50%;--orbit-y:9%;color:#e90063;width:23%;max-width:17rem}
.orbit-satellite-adado{--orbit-x:80%;--orbit-y:25%;color:#ff6b00}
.orbit-satellite-gap{--orbit-x:20%;--orbit-y:24%}
.orbit-satellite-grillo-re{--orbit-x:67%;--orbit-y:88%}
.orbit-satellite-grillo-properties{--orbit-x:31%;--orbit-y:88%}
.orbit-satellite-glyon{--orbit-x:14%;--orbit-y:60%}
.orbit-satellite-blapp{--orbit-x:86%;--orbit-y:61%}
.orbit-company{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;min-height:5.5rem;padding:.5rem .3rem;text-align:center;transition:transform .25s ease;isolation:isolate}
.orbit-company:before{content:"";position:absolute;inset:-.4rem -1rem;background:radial-gradient(ellipse,rgba(24,34,35,.97) 30%,rgba(24,34,35,.8) 60%,transparent 75%);z-index:-1}
.orbit-company:hover,.orbit-company:focus-visible{transform:translateY(-.35rem)}
.orbit-company:focus-visible{outline-offset:.5rem;border-radius:.25rem}
.orbit-mark{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:3.5rem}
.orbit-mark img{width:100%;height:auto;max-height:5.5rem;object-fit:contain}
.orbit-payoff{font-size:.75rem;line-height:1.3;font-weight:600;color:inherit;max-width:100%}
.orbit-ecom-mark{display:block;width:100%;aspect-ratio:2048/270;background:currentColor;-webkit-mask:url('/assets/companies/energia-comune.png') center/contain no-repeat;mask:url('/assets/companies/energia-comune.png') center/contain no-repeat}
.orbit-satellite-adado .orbit-mark img{max-width:9.5rem}
.orbit-satellite-gap .orbit-mark{min-height:0;width:77%;aspect-ratio:3;overflow:hidden;background:var(--ink)}
.orbit-satellite-gap .orbit-mark img{position:absolute;left:50%;top:50%;width:330%;max-width:none;max-height:none;transform:translate(-50%,-50%);mix-blend-mode:screen}
.orbit-satellite-glyon .orbit-mark img{max-height:6rem}
.orbit-satellite-blapp .orbit-mark img{max-height:6rem}
.orbit-footer{border-top:1px solid var(--line-light);padding-top:1.2rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;color:rgba(241,240,234,.65);font-size:.8rem}
.orbit-motion-toggle{display:flex;align-items:center;gap:.6rem;min-height:2.75rem;padding:.5rem 0 .5rem 1rem;border:0;background:none;color:inherit;cursor:pointer;font-size:.8rem}
.orbit-motion-toggle:hover{color:var(--paper)}
.orbit-paused .orbit-track-one,.orbit-paused .orbit-meridians{animation-play-state:paused}
@keyframes orbit-precession{from{transform:translate(-50%,-50%) rotate(-13deg)}to{transform:translate(-50%,-50%) rotate(9deg)}}
@keyframes orbit-meridians{from{transform:scaleX(.72)}to{transform:scaleX(1)}}
@media(max-width:720px){
  .group-orbit{padding-top:3.75rem}
  .orbit-heading{align-items:flex-start;flex-direction:column;gap:1.25rem}
  .orbit-heading h2{font-size:clamp(2.75rem,11vw,4.5rem)}
  .orbit-heading>p{font-size:.9rem}
  .orbit-field{height:36rem;margin-top:1.25rem}
  .orbit-globe{width:52%;top:47%}
  .orbit-track-one{width:70%;height:82%;transform:translate(-50%,-50%) rotate(-8deg)}
  .orbit-track-two{width:85%;height:65%;transform:translate(-50%,-50%) rotate(10deg)}
  .orbit-satellite{width:35%;max-width:9.5rem}
  .orbit-satellite-ecom{--orbit-y:7%;width:62%;max-width:14rem}
  .orbit-satellite-adado{--orbit-x:82%;--orbit-y:26%}
  .orbit-satellite-gap{--orbit-x:18%;--orbit-y:26%}
  .orbit-satellite-grillo-re{--orbit-x:70%;--orbit-y:88%;width:40%}
  .orbit-satellite-grillo-properties{--orbit-x:24%;--orbit-y:88%;width:45%}
  .orbit-satellite-glyon{--orbit-x:18%;--orbit-y:64%}
  .orbit-satellite-blapp{--orbit-x:81%;--orbit-y:64%}
  .orbit-company{min-height:4.5rem;padding:.25rem 0;gap:.35rem}
  .orbit-company:before{inset:-.25rem -.4rem}
  .orbit-mark{min-height:2.6rem}
  .orbit-mark img{max-height:4rem}
  .orbit-satellite-glyon .orbit-mark img,.orbit-satellite-blapp .orbit-mark img{max-height:4.25rem}
  .orbit-payoff{font-size:.75rem}
  .orbit-satellite-gap .orbit-mark{width:95%}
  .orbit-footer{align-items:flex-start;gap:1rem;font-size:.75rem}
  .orbit-footer>span{max-width:12rem;line-height:1.5}
  .orbit-motion-toggle{padding-top:0;min-height:2.75rem;white-space:nowrap;font-size:.75rem}
}
@media(prefers-reduced-motion:reduce){.orbit-track-one,.orbit-meridians{animation:none}.orbit-company{transition:none}}

/* Brand lockups: the payoff belongs to the mark, while the official website
   remains on the shared baseline beneath it. Glyon's approved SVG already
   contains its payoff; Energia Comune and Adadò pair their supplied wordmarks
   with crisp live type so the line stays legible at every density. */
.company-logo-link-has-payoff .company-logo-frame{flex-direction:column;align-items:flex-start;justify-content:center;gap:.42rem}
.company-logo-payoff{display:block;max-width:100%;font-size:clamp(.62rem,.8vw,.74rem);font-weight:650;line-height:1.15;letter-spacing:.025em;white-space:nowrap}
.company-logo-ecom .company-logo-payoff{color:inherit}
.company-logo-adado .company-logo-payoff{color:#0017e6}
.company-logo-gap.company-logo-link-has-payoff .company-logo-frame{height:auto;gap:.3rem}
.company-logo-gap .company-logo-wordmark{position:relative;display:block;width:100%;height:auto;aspect-ratio:3;overflow:hidden}
.company-logo-gap .company-logo-wordmark img{width:330%}
.company-logo-gap .company-logo-payoff{color:inherit;font-size:clamp(.64rem,.8vw,.76rem);letter-spacing:.02em}
.company-logo-gap.company-logo-link-hero .company-logo-wordmark{height:auto}
.company-logo-ecom.company-logo-link-has-payoff .company-logo-frame img{width:100%;height:auto;max-height:3.5rem;object-position:left center}
.company-logo-adado.company-logo-link-has-payoff .company-logo-frame{width:min(100%,13rem);height:5.25rem}
.company-logo-adado.company-logo-link-has-payoff .company-logo-frame img{width:min(100%,11rem);height:auto;max-height:3.4rem;object-position:left center}
.company-logo-link-hero .company-logo-payoff{color:currentColor;font-size:clamp(.72rem,1.1vw,.95rem)}
.company-logo-ecom.company-logo-link-hero .company-logo-payoff{color:inherit}
.company-logo-adado.company-logo-link-hero .company-logo-payoff{color:#ff6b00}
.company-logo-ecom.company-logo-link-hero.company-logo-link-has-payoff .company-logo-frame{height:10rem}
.company-logo-adado.company-logo-link-hero.company-logo-link-has-payoff .company-logo-frame{width:min(100%,15rem);height:6.25rem}
.company-logo-adado.company-logo-link-hero.company-logo-link-has-payoff .company-logo-frame img{width:min(100%,13rem)}
@media(max-width:720px){
  .company-logo-payoff{font-size:.64rem}
  .company-logo-gap .company-logo-wordmark,.company-logo-gap.company-logo-link-hero .company-logo-wordmark{height:auto}
  .company-logo-ecom.company-logo-link-card.company-logo-link-has-payoff .company-logo-frame{height:5.25rem}
  .company-logo-adado.company-logo-link-has-payoff .company-logo-frame,.company-logo-adado.company-logo-link-hero.company-logo-link-has-payoff .company-logo-frame{width:min(100%,11.5rem);height:5rem}
  .company-logo-adado.company-logo-link-has-payoff .company-logo-frame img,.company-logo-adado.company-logo-link-hero.company-logo-link-has-payoff .company-logo-frame img{width:min(100%,10.5rem);max-height:3rem}
  .company-logo-ecom.company-logo-link-hero.company-logo-link-has-payoff .company-logo-frame{height:7rem}
}
