site/product-story.css
Rama main · réplica de lectura del repositorio original.
.product-hero {
display: grid;
grid-template-columns: 1fr 1.05fr;
gap: 56px;
align-items: center;
padding: 44px 0 34px;
}
.product-intro h1 {
font-size: clamp(40px, 4.5vw, 64px);
line-height: 1.1;
letter-spacing: -0.04em;
margin: 0 0 28px;
text-wrap: balance;
}
.product-lead {
font-size: 19px;
line-height: 1.65;
margin: 0 0 24px;
color: var(--secondary);
}
.license-line {
font-size: 16px;
margin: 0;
}
.license-line strong {
color: #285831;
}
.product-actions {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 20px;
margin: 22px 0 12px;
}
.product-actions .start-button {
margin: 0;
gap: 24px;
}
.existing-team-action {
display: grid;
gap: 5px;
font-size: 14px;
line-height: 1.4;
}
.existing-team-action > span {
color: var(--secondary);
}
.existing-team-action > a {
font-size: 16px;
font-weight: 700;
text-underline-offset: 5px;
}
.product-footnote {
color: var(--secondary);
font-size: 13px;
margin: 0;
}
.feature-nav {
border-top: 1px solid var(--line);
border-bottom: 1px solid var(--line);
display: flex;
justify-content: space-between;
gap: 16px;
padding: 20px 0;
}
.feature-nav a {
font-size: 13px;
font-weight: 700;
text-decoration: none;
}
.product-section {
display: grid;
grid-template-columns: 0.85fr 1.15fr;
gap: 60px;
align-items: center;
padding: 70px 0;
}
.product-section.reverse {
grid-template-columns: 1.15fr 0.85fr;
}
.product-section.reverse .product-section-copy {
order: 2;
}
.product-section h2,
.section-intro h2,
.open-source-section h2 {
font-size: clamp(27px, 3vw, 39px);
line-height: 1.2;
letter-spacing: -0.03em;
margin: 0 0 20px;
text-wrap: balance;
}
.product-section p,
.section-intro p,
.open-source-section p {
color: var(--secondary);
max-width: 54ch;
line-height: 1.7;
}
.product-figure {
margin: 0;
min-width: 0;
}
.product-figure img {
display: block;
width: 100%;
height: auto;
}
.plain-features {
list-style: none;
padding: 0;
margin: 20px 0 24px;
font-size: 14px;
}
.plain-features li {
padding: 8px 0;
border-bottom: 1px solid var(--line);
}
.text-link {
display: inline-flex;
align-items: center;
gap: 16px;
padding: 10px 0;
text-decoration: none;
font-size: 14px;
font-weight: 700;
}
.text-link:hover,
.comparison-heading a:hover {
color: var(--secondary);
}
.landing-page .story-note a,
.landing-page .comparison-heading a,
.landing-page .site-header nav a {
text-decoration: none;
}
.product-figure > picture {
display: block;
border-radius: 12px;
overflow: hidden;
transform: perspective(1200px) rotateX(1deg) rotateY(-1.5deg);
box-shadow: 0 16px 30px -22px #17324d38;
}
.product-section.reverse .product-figure > picture {
transform: perspective(1200px) rotateX(1deg) rotateY(1.5deg);
}
.landing-page feedbacks-demo[step="recording"] {
--demo-caption-display: none;
--recording-guide-display: none;
--demo-controls-gap: 0;
}
.landing-page feedbacks-demo[depth] {
margin: 0;
}
.capture-section {
padding: 28px 0 45px;
border-top: 1px solid var(--line);
border-bottom: 1px solid var(--line);
}
.section-intro {
margin: 20px 0 28px;
}
.capture-section .story {
min-width: 0;
}
.capture-section .story-stage {
min-height: 0;
}
.feature-directory {
padding: 35px 0 70px;
}
.feature-rows {
border-top: 1px solid var(--line);
}
.feature-rows a {
display: grid;
grid-template-columns: 1fr 1.4fr 24px;
gap: 28px;
padding: 24px 0;
border-bottom: 1px solid var(--line);
text-decoration: none;
align-items: center;
}
.feature-rows a strong {
font-size: 16px;
}
.feature-rows a > span:nth-child(2) {
color: var(--secondary);
font-size: 14px;
line-height: 1.6;
}
.feature-rows a > span:last-child {
font-size: 22px;
}
.feature-rows a:hover strong {
text-decoration: underline;
text-underline-offset: 5px;
}
.client-roadmap {
padding: 10px 0 70px;
}
.client-roadmap-columns {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 60px;
}
.client-roadmap article {
border-top: 1px solid var(--line);
padding-top: 24px;
}
.client-roadmap h3 {
margin: 0 0 18px;
font-size: 20px;
line-height: 1.4;
text-wrap: balance;
}
.client-roadmap p {
max-width: 44ch;
color: var(--secondary);
font-size: 14px;
line-height: 1.65;
}
.client-roadmap .client-platforms {
margin: 0 0 16px;
color: var(--ink);
font-size: clamp(20px, 2.2vw, 28px);
font-weight: 700;
line-height: 1.5;
}
@media (max-width: 700px) {
.client-roadmap-columns {
grid-template-columns: 1fr;
gap: 28px;
}
}
.open-source-section {
background: #edf2e5;
padding: 60px 0;
}
.free-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 70px;
align-items: center;
}
.open-source-section .free-statement {
font-size: 22px;
color: #285831;
font-weight: 700;
}
.open-source-section .cost-note {
font-size: 13px;
}
.landing-page ::selection {
background: #e4efc3;
color: #20241e;
}
@media (min-width: 901px) {
.capture-section .story {
padding-bottom: 0;
}
.capture-section feedbacks-demo {
--demo-screen-height: clamp(220px, calc(100svh - 340px), 360px);
--demo-footer-display: grid;
--demo-caption-height: 0;
--demo-controls-gap: 0;
}
.capture-section .story-stage {
display: grid;
grid-template-columns: 1.5fr 0.7fr;
gap: 28px;
}
}
@media (min-width: 801px) and (max-height: 760px) {
.product-hero {
padding: 16px 0 12px;
}
}
@media (max-width: 1050px) {
.product-hero {
gap: 30px;
}
.product-intro h1 {
font-size: 45px;
}
.product-section {
gap: 30px;
}
.feature-nav {
flex-wrap: wrap;
}
}
@media (max-width: 800px) {
.product-figure > picture,
.product-section.reverse .product-figure > picture {
transform: none;
}
.product-hero {
grid-template-columns: 1fr;
gap: 30px;
padding-top: 26px;
}
.product-intro h1 {
font-size: clamp(38px, 7vw, 54px);
}
.product-lead {
font-size: 17px;
}
.product-section,
.product-section.reverse,
.free-layout {
grid-template-columns: 1fr;
gap: 26px;
}
.product-section.reverse .product-section-copy {
order: 0;
}
.product-section {
padding: 45px 0;
}
.feature-rows a {
grid-template-columns: 1fr 24px;
gap: 10px;
padding: 22px 0;
}
.feature-rows a > span:nth-child(2) {
grid-column: 1;
grid-row: 2;
}
.feature-rows a > span:last-child {
grid-column: 2;
grid-row: 1 / 3;
}
.free-layout {
gap: 10px;
}
.open-source-section {
padding: 40px 0;
}
}
@media (prefers-reduced-motion: reduce) {
.product-figure > picture,
.product-section.reverse .product-figure > picture {
transform: none;
}
}
@media (max-width: 480px) {
.landing-page .site-header {
height: auto;
padding: 20px 0;
flex-wrap: wrap;
gap: 10px;
}
.landing-page .site-header nav {
gap: 20px;
}
.landing-page .site-header nav a {
font-size: 13px;
}
.product-intro h1 {
font-size: 38px;
}
.feature-nav {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.feature-nav a {
font-size: 12px;
}
.product-actions {
gap: 15px;
}
}
.product-hero-demo {
min-width: 0;
}
/* Reserve the styled inspector footprint before custom-element/CSS upgrade. */
.product-hero-demo feedbacks-demo[step="recording"] {
display: block;
min-height: calc(var(--recording-preview-height) + 370px);
--recording-preview-height: 170px;
--demo-caption-display: none;
--recording-mode-display: none;
--recording-guide-display: none;
--recording-event-height: 80px;
--demo-controls-gap: 0;
}
feedbacks-demo > picture,
feedbacks-demo > img,
feedbacks-demo > picture > img {
display: block;
width: 100%;
height: auto;
}
@media (max-width: 800px) {
.product-hero-demo feedbacks-demo[step="recording"] {
--recording-preview-height: 180px;
--recording-event-height: 140px;
}
}
@media (min-width: 801px) and (max-height: 760px) {
.product-hero-demo feedbacks-demo[step="recording"] {
--recording-preview-height: 134px;
}
}
/* Reserve the complete footprint, but reveal no partial UI during loading.
A static picture remains available without JavaScript or after a load error. */
@media (scripting: enabled) {
.product-hero-demo feedbacks-demo[reveal]:not([data-load-failed]) > picture {
visibility: hidden;
}
}