/* Fluid dimensions; breakpoints below change layout, not device presets. */
:root{
 --f-gutter:clamp(1.0625rem,calc(.55rem + 2.8vw),4rem);
 --f-rail-gutter:max(var(--f-gutter),calc((100vw - 120rem)/2));
 --f-gap:clamp(1.25rem,2.25vw,4rem);
 --f-section-gap:clamp(1.5rem,4.5vw,8.75rem);
 --f-section-space:clamp(2.75rem,5.5vw,7.5rem);
 --f-nav-height:clamp(5rem,calc(4rem + 1.67vw),7rem);
 --f-foot-height:clamp(3rem,calc(2.5rem + .56vw),4rem);
 --f-body:clamp(.8125rem,calc(.61rem + .42vw),1.3125rem);
 --f-small:clamp(.6875rem,calc(.55rem + .22vw),.875rem);
 --f-control:clamp(2.75rem,calc(2.4rem + .65vw),3.625rem);
 --f-panel-space:clamp(1.0625rem,calc(.65rem + 1.35vw),2.5rem);
}
.signal-public .public-nav{height:var(--f-nav-height);padding:clamp(.875rem,.9vw,1.5rem) var(--f-rail-gutter);gap:var(--f-gap)}
.signal-public .public-nav .brand img{width:clamp(2.125rem,calc(1.25rem + 1.6vw),3.5rem);height:clamp(2.125rem,calc(1.25rem + 1.6vw),3.5rem)}
.signal-public .public-nav .brand-copy strong{font-size:clamp(1.3rem,calc(.65rem + 1vw),2.25rem)}
.signal-public .public-nav .brand-copy small{font-size:clamp(.375rem,calc(.25rem + .18vw),.5625rem)}
.signal-public .public-links{font-size:var(--f-small);gap:clamp(.875rem,1.65vw,2rem)}
.signal-public .public-links .btn{font-size:var(--f-small);min-height:var(--f-control);padding-inline:clamp(.875rem,1.35vw,1.625rem)}
.signal-public .s-copy{left:var(--f-rail-gutter);width:calc(46vw - var(--f-rail-gutter) - var(--f-gap));max-width:50rem;container-type:inline-size}
.signal-public .s-copy .s-title{font-size:clamp(2.75rem,min(calc(.25rem + 4.8vw),15svh),9rem);width:100%;flex-shrink:0}
@supports(font-size:1cqw){
 .signal-public .s-copy-one .s-title{font-size:clamp(2.75rem,min(calc(.25rem + 15.6cqw),15svh),9rem)}
 .signal-public .s-copy-two .s-title{font-size:clamp(2.625rem,min(calc(.25rem + 14.8cqw),14svh),8.25rem)}
}
.signal-public .s-title-line>span{white-space:normal;overflow-wrap:anywhere}
.signal-public .s-copy .s-label{width:fit-content;font-size:clamp(.5625rem,calc(.4rem + .27vw),.875rem);margin-bottom:clamp(.875rem,1.5vw,1.875rem)}
.signal-public .s-copy .s-lead{max-width:30rem;font-size:clamp(.8125rem,min(calc(.625rem + .5vw),2.1svh),1.3125rem);line-height:1.8;margin-top:clamp(.75rem,1.65vw,1.875rem)}
.signal-public .s-actions,.signal-public .s-copy-two .s-actions{margin-top:clamp(.875rem,1.9vw,2.125rem);gap:clamp(.875rem,1.4vw,1.625rem)}
.signal-public .s-actions .btn{font-size:clamp(.6875rem,calc(.5rem + .3vw),1rem);min-height:var(--f-control);padding:clamp(.625rem,.9vw,1rem) clamp(.875rem,1.5vw,1.75rem)}
.signal-public .s-actions .text-btn{font-size:clamp(.625rem,calc(.5rem + .26vw),.9375rem)}
.signal-public .s-offer{font-size:clamp(.5rem,calc(.35rem + .3vw),.8125rem);margin-top:clamp(.5rem,1.2vw,1.5rem);gap:clamp(.3125rem,.5vw,.5rem) clamp(.625rem,.95vw,1.125rem)}
.signal-public .s-offer>strong{font-size:clamp(.6875rem,calc(.45rem + .32vw),1rem)}
.signal-public .s-world{top:var(--f-nav-height);bottom:var(--f-foot-height);--tile:clamp(12rem,min(20vw,46svh),37.5rem);--radius:calc(var(--tile)*.195)}
.signal-public .s-app-face{padding:clamp(1.125rem,calc(var(--tile)*.12),4.5rem)}
.signal-public .s-app-face>span{font-size:clamp(.4375rem,calc(.28rem + .23vw),.875rem)}
.signal-public .s-stage-teal,.signal-public .s-stage-ink{bottom:var(--f-foot-height)}
.signal-public .s-stage-foot{height:var(--f-foot-height);padding-inline:var(--f-rail-gutter);gap:var(--f-gap)}
.signal-public .s-stage-foot :is(.s-scene-label,.s-scroll-label){font-size:clamp(.375rem,calc(.25rem + .25vw),.6875rem)}
.signal-public .s-progress{max-width:clamp(8.125rem,15vw,23.75rem)}
.signal-public .s-art-word{font-size:clamp(9rem,19vw,35rem)}
.signal-public .s-word-push{font-size:clamp(8.5rem,18vw,33.125rem)}
.signal-public .s-message{--message-width:clamp(16.5rem,23vw,33.75rem);width:var(--message-width);left:calc(50% - var(--message-width)/2);padding:clamp(1.125rem,1.5vw,2.25rem)}
.signal-public .s-message-head{font-size:clamp(.5625rem,calc(.4rem + .25vw),.875rem);gap:clamp(.5rem,.7vw,.75rem)}
.signal-public .s-message-head img{width:clamp(1.5rem,2vw,2.5rem);height:clamp(1.5rem,2vw,2.5rem)}
.signal-public .s-message-head small{font-size:clamp(.5rem,calc(.35rem + .2vw),.75rem)}
.signal-public .s-message>strong{font-size:clamp(1rem,calc(.7rem + .7vw),2rem)}
.signal-public .s-message>p{font-size:clamp(.625rem,calc(.45rem + .35vw),1.0625rem)}
.signal-public .s-message-note{font-size:clamp(.375rem,calc(.25rem + .2vw),.625rem)}
.signal-public.connect-public main>:is(.s-studio,.n-audience-line,.n-ideas,.n-install,.n-capabilities,.n-integrations,.n-pricing,.n-faq,.n-closing){padding-inline:var(--f-rail-gutter)!important;gap:var(--f-section-gap)}
.signal-public.connect-public main>:is(.s-studio,.n-ideas,.n-install,.n-capabilities,.n-integrations,.n-pricing,.n-faq){padding-block:var(--f-section-space)!important}
.signal-public .s-section-title{font-size:clamp(3.5rem,calc(1.6rem + 4.5vw),8.5rem)}
.signal-public .s-studio .s-label{font-size:var(--f-small)}
.signal-public .s-studio-copy>p:last-child{font-size:clamp(.875rem,calc(.65rem + .45vw),1.1875rem);max-width:30rem}
.signal-public :is(.n-section-heading>h2,.n-install-story h2,.n-integration-heading h2,.n-pricing h2),.signal-public .n-capabilities>.n-section-heading h2{font-size:clamp(3rem,calc(2rem + 2.2vw),7rem)}
.signal-public :is(.n-section-heading>p,.n-install-story>p,.n-integration-heading>p){font-size:clamp(.8125rem,calc(.6rem + .45vw),1.125rem);max-width:32rem}
.signal-public .n-audience-line>p{font-size:clamp(1rem,calc(.7rem + .6vw),1.75rem)}
.signal-public .n-audience-line>span,.signal-public .n-section-index{font-size:clamp(.5rem,calc(.35rem + .2vw),.6875rem)}
.signal-public .n-idea-rail .idea-choice{font-size:clamp(.75rem,calc(.55rem + .25vw),1rem);min-height:clamp(3.125rem,4vw,4.25rem)}
.signal-public .n-ideas .idea-purpose :is(h2,h3){font-size:clamp(1.125rem,calc(.8rem + .6vw),1.75rem)}
.signal-public .n-ideas .idea-purpose>p,.signal-public .n-ideas .idea-notification>p{font-size:clamp(.75rem,calc(.55rem + .3vw),1rem)}
.signal-public .n-ideas .idea-notification>strong{font-size:clamp(.875rem,calc(.65rem + .4vw),1.3125rem)}
.signal-public .n-ideas .idea-notification{padding:var(--f-panel-space)}
.signal-public .n-install-guide{padding:var(--f-panel-space)}
.signal-public .n-guide-choices button{font-size:var(--f-small);padding-inline:clamp(.5rem,.8vw,.875rem)}
.signal-public .n-install-guide h3{font-size:clamp(1.125rem,calc(.8rem + .75vw),1.875rem);margin-block:clamp(1.125rem,1.6vw,1.875rem)}
.signal-public .n-install-guide li>p{font-size:clamp(.75rem,calc(.55rem + .4vw),1.0625rem)}
.signal-public .n-guide-note{font-size:clamp(.6875rem,calc(.5rem + .3vw),.9375rem)}
.signal-public .n-capability-rows h3{font-size:clamp(1.875rem,calc(1.1rem + 1vw),2.625rem)}
.signal-public .n-capability-rows p{font-size:clamp(.8125rem,calc(.6rem + .35vw),1.0625rem);max-width:41.25rem}
.signal-public .n-capability-rows>article{padding-block:clamp(1.25rem,2vw,2.5rem);gap:var(--f-gap)}
.signal-public .n-integration-options{gap:var(--f-gap)}
.signal-public .n-integration-options h3{font-size:clamp(1.875rem,calc(1.1rem + 1vw),2.625rem)}
.signal-public .n-integration-options p,.signal-public .n-faq summary{font-size:clamp(.8125rem,calc(.6rem + .35vw),1.0625rem)}
.signal-public .n-faq details>p{font-size:clamp(.75rem,calc(.55rem + .3vw),1rem)}
.signal-public .n-price-number{font-size:clamp(5rem,calc(2.5rem + 5vw),8.25rem)}
.signal-public .n-price-number>span{font-size:clamp(2rem,calc(1rem + 1.8vw),3rem)}
.signal-public .n-pricing>div:first-child>p,.signal-public .n-pricing>ul{font-size:clamp(.8125rem,calc(.6rem + .3vw),1rem)}
.signal-public .n-closing h2{font-size:clamp(2.375rem,calc(1.2rem + 3vw),6rem)}
.signal-public .n-closing p,.signal-public .n-closing .btn{font-size:clamp(.75rem,calc(.55rem + .3vw),1rem)}
.signal-public .n-closing{padding-block:clamp(2.5rem,3.5vw,5rem)!important}
.signal-public .public-footer{padding:clamp(1.0625rem,1.5vw,1.75rem) var(--f-rail-gutter);font-size:var(--f-small);gap:var(--f-gap)}
.signal-public .s-studio .n-composer-bar{height:clamp(3.25rem,4vw,4rem)}
.signal-public .s-studio .n-composer-bar>span:not(.n-demo-label),.signal-public .s-studio .n-editor-title h3{font-size:clamp(1.125rem,calc(.8rem + .45vw),1.5rem)}
.signal-public .s-studio .n-example-choices button,.signal-public .s-studio .n-composer .field>span{font-size:var(--f-small)}
.signal-public .s-studio .n-composer .field :is(input,textarea){font-size:clamp(1rem,calc(.8rem + .3vw),1.125rem);padding:clamp(.75rem,1vw,1rem)}
.signal-public .s-studio .n-composer .field textarea{min-height:clamp(5.5rem,8vw,7.5rem)}
.signal-public .s-studio .n-live-message>strong{font-size:clamp(1rem,calc(.75rem + .4vw),1.375rem)}
.signal-public .s-studio .n-live-message>p{font-size:clamp(.75rem,calc(.55rem + .35vw),1.0625rem)}
.signal-public .s-studio .n-preview-label,.signal-public .s-studio .n-composer-foot>span{font-size:clamp(.5625rem,calc(.45rem + .18vw),.75rem)}
.signal-public .s-studio .n-composer-foot .text-btn{font-size:var(--f-small)}
/* Shared public forms and the account keep the same bounded scale. */
.public .help-intro h1{font-size:clamp(1.65rem,calc(1.15rem + 1.3vw),2.75rem)}
.auth-story{container-type:inline-size;min-width:0}
.auth-story h1{font-size:clamp(2.25rem,calc(1rem + 3vw),5.5rem);overflow-wrap:anywhere}
@supports(font-size:1cqw){.auth-story h1{font-size:clamp(2.25rem,calc(.75rem + 11cqw),5.5rem)}}
.workspace-layout .main-content{padding:clamp(1.4375rem,2vw,2.5rem) var(--f-panel-space)}
.workspace-layout .main-content .page-heading h1{font-size:clamp(1.6rem,calc(1.2rem + .7vw),2.15rem)}
.workspace-layout :is(.panel-pad,.form-section){padding:var(--f-panel-space)}
.workspace-layout :is(.panel h2,.form-section h2){font-size:clamp(1.1875rem,calc(.95rem + .45vw),1.75rem)}
.workspace-layout .page-heading p,.workspace-layout .description{font-size:clamp(.75rem,calc(.6rem + .2vw),.9375rem)}
.workspace-layout .metric-value{font-size:clamp(1.875rem,calc(1.25rem + 1.1vw),3rem)}
.workspace-layout .btn{min-height:clamp(2.75rem,calc(2.4rem + .3vw),3.125rem);font-size:clamp(.75rem,calc(.65rem + .12vw),.875rem);padding-inline:clamp(.875rem,1.15vw,1.5rem)}
.workspace-layout .field :is(input,textarea,select){font-size:clamp(1rem,calc(.9rem + .1vw),1.0625rem)}
@media(min-width:701px){
 .signal-public .s-copy{top:var(--f-nav-height);bottom:var(--f-foot-height);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;translate:none}
 .signal-public .s-app-object{top:calc(50% - var(--tile)/2)}
 .signal-public .s-app-shadow{left:calc(50% - var(--tile)*.375);top:calc(50% + var(--tile)*.65);width:calc(var(--tile)*.75);height:calc(var(--tile)*.1)}
}
@media(max-width:700px){
 .signal-public .s-copy{left:var(--f-gutter);right:var(--f-gutter);top:calc(var(--f-nav-height) + clamp(1rem,3vw,2rem));width:auto;max-width:none}
 .signal-public .s-copy-one .s-title,.signal-public .s-copy-two .s-title{font-size:clamp(2.375rem,calc(1rem + 8.9vw),4rem)}
 @supports(font-size:1cqw){.signal-public .s-copy-one .s-title,.signal-public .s-copy-two .s-title{font-size:clamp(2.375rem,calc(1rem + 8.9cqw),4rem)}}
 .signal-public .s-copy .s-label{font-size:clamp(.5625rem,calc(.45rem + .25vw),.6875rem);margin-bottom:clamp(.625rem,2vw,.9375rem)}
 .signal-public .s-world{--tile:clamp(9rem,min(calc(5rem + 24vw),23svh),12.5rem);top:64%}
 .signal-public .s-message{--message-width:clamp(15rem,75vw,21rem)}
 .signal-public .s-copy .s-lead{margin-top:clamp(.625rem,2.6vw,1rem)}
 .signal-public .s-actions,.signal-public .s-copy-two .s-actions{margin-top:clamp(.75rem,3vw,1rem);gap:clamp(.75rem,3vw,1.125rem)}
 .signal-public .s-offer{margin-top:clamp(.4375rem,2vw,.625rem)}
 .signal-public .public-nav{padding-inline:var(--f-gutter)}
}
