/* October refinements: product sections, real app screens and quieter page heroes. */
.tovia-home-hero { background:#ead0c7 url('../img/tovia-paper-v2.webp') center/cover no-repeat; }
.tovia-home-hero::before { background:linear-gradient(90deg,rgba(250,241,231,.52),rgba(250,241,231,.08)); }
.tovia-home-copy { text-align:center; }
.tovia-home-copy .lead { justify-content:center; margin-inline:auto; }
.tovia-home-copy .home-product-actions { justify-content:center; }
.tovia-home-hero .tovia-build-cta { color:#a84961; background:#fffaf5; border-color:#a84961; }
.tovia-home-hero .tovia-build-cta:hover { color:#87354a; background:#fff; }
.home-hero:not(.tovia-home-hero) .home-product-actions .btn-secondary { color:#fff; border-color:#a9b9cc; background:#ffffff18; }
.home-hero:not(.tovia-home-hero) .home-product-actions .btn-secondary:hover { background:#ffffff30; }

/* A diagonal hand-off between the two products; screens keep their full aspect ratio. */
.home-app-duo { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:hidden; background:#f7ecde; }
.app-duo-panel { min-width:0; padding:clamp(55px,5vw,88px) clamp(22px,4vw,70px) clamp(66px,6vw,100px); }
.app-duo-inner { display:flex; width:min(100%,610px); min-height:100%; flex-direction:column; align-items:center; margin:auto; text-align:center; }
.app-duo-panel h2 { margin:0; font-size:clamp(2.5rem,3.6vw,4rem); line-height:1; }
.app-duo-panel p { max-width:43ch; min-height:4.5em; margin:18px auto 22px; font-size:clamp(.94rem,1.1vw,1.05rem); line-height:1.55; }
.app-duo-tflsk { --duo-slant:clamp(45px,8vw,110px); position:relative; z-index:1; margin-right:calc(-1 * var(--duo-slant)); padding-right:calc(clamp(22px,4vw,70px) + var(--duo-slant)); color:#fff; background:#061627 url('../img/pitch-overhead-v1.webp') center/cover no-repeat; clip-path:polygon(0 0,100% 0,calc(100% - var(--duo-slant)) 100%,0 100%); }
.app-duo-tflsk::before { position:absolute; z-index:-1; inset:0; content:""; background:#021022c9; }
.app-duo-tflsk p { color:#d6e1ea; }
.app-duo-tovia { color:#392936; background:#f4e2d9 url('../img/tovia-paper-v2.webp') center/cover no-repeat; }
.app-duo-tovia h2 { color:#a84961; }
.app-duo-tovia p { color:#574b50; }
.app-duo-tovia .btn { color:white; background:#a84961; }
.app-duo-tovia .btn:hover { background:#8d3449; }
.app-duo-screens { display:grid; width:min(100%,560px); grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; gap:clamp(7px,1vw,15px); margin:auto auto 25px; }
.app-duo-screens img { display:block; width:100%; height:auto; min-width:0; object-fit:contain; border:1px solid #ffffff78; border-radius:clamp(8px,1.3vw,17px); box-shadow:0 15px 30px #0005; }
.app-duo-tovia .app-duo-screens img { border-color:#c399a3; box-shadow:0 15px 30px #6a46523d; }

/* Studio section stays bright and uses a slanted top edge. */
.home-studio-section { position:relative; color:#11263c; background:#fff; }
.home-studio-section::before { display:none; }
.home-studio-section .studio-panel { min-height:300px; color:#11263c; background:#fff; border:0; border-radius:0; box-shadow:none; }
.studio-service-mark { display:grid; width:min(100%,410px); justify-self:center; gap:3px; padding:clamp(22px,3vw,37px); color:#0c2948; background:#f1f5f7; border-left:5px solid #f3c729; }
.studio-service-mark span { margin-bottom:13px; color:#597087; font-size:.76rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.studio-service-mark b { padding:8px 0; border-bottom:1px solid #cbd8e0; font-size:clamp(1.4rem,2.3vw,2.3rem); line-height:1.1; }
.studio-service-mark b:last-child { border-bottom:0; }
.home-studio-section .studio-panel-copy { padding-block:20px; }
.home-studio-section .studio-panel-copy p { color:#4b5c6b; line-height:1.7; }
.home-studio-section .studio-panel .btn { color:#09213f; border-color:#537294; }
.home-studio-section .studio-panel img.studio-panel-logo { width:min(55%,220px); }
.home-studio-section + .section { position:relative; }
.home-studio-section + .section::before { position:absolute; top:0; left:0; width:100%; height:22px; content:""; background:linear-gradient(176deg,#fff 48%,transparent 49%); pointer-events:none; }
.home-studio-section + .section .service-image { min-height:0; aspect-ratio:16/10; mask-image:none; border-radius:12px; }
.home-final-cta { display:flex; flex-direction:row; justify-content:space-between; gap:25px; padding:clamp(28px,4vw,50px); color:#0a1c33; background:#f5f7f7; border:1px solid #d7e0e9; border-radius:12px; box-shadow:none; text-align:left; }
.home-final-cta h2 { margin:0; text-align:left; }
.home-final-cta p { max-width:50ch; margin:12px 0 0; color:#4d5f6f; line-height:1.6; }
.home-final-cta .btn { flex:none; background:#0b2442; }

/* App heroes and screenshot sections. */
.refined-app-hero { min-height:510px; }
.refined-app-hero .wrap { text-align:center; }
.refined-app-hero h1 { max-width:920px; margin-inline:auto; font-size:clamp(2.9rem,5.2vw,5.35rem); }
.refined-app-hero h1 span { color:#f2c339; }
.refined-app-hero .lead { max-width:670px; margin:20px auto 24px; }
.refined-app-hero .product-hero-actions { justify-content:center; }
.refined-app-hero .store-cta-icon { width:58px; height:58px; }
#features { padding:clamp(45px,6vw,80px) 0; }
#features .app-showcase, #features .app-showcase--stacked { min-height:0; overflow:visible; background:none; border:0; border-radius:0; }
#features .app-showcase-copy { padding:0; }
#features .app-showcase h2 { text-align:center; }
#features .app-screen-fan { display:grid; width:min(100%,900px); height:auto; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:clamp(8px,2.4vw,26px); margin:27px auto 30px; overflow:visible; perspective:none; }
#features .app-showcase--stacked .app-screen-fan img { position:static; top:auto; left:auto; right:auto; bottom:auto; display:block; width:100%; max-width:none; height:auto; object-fit:contain; border-radius:14px; transform:none; filter:drop-shadow(0 16px 24px #0006); }
#features .tick-list { max-width:920px; gap:8px 32px; margin:0 auto; }
.app-founder-story { padding-block:clamp(50px,7vw,95px); }
.app-founder-story .story-copy h2 { max-width:500px; }
.app-system-section { color:#0c2138; background:#f1f4f6; }
.app-system-section .section-heading { max-width:850px; margin-inline:auto; }
.app-system-section .section-heading p { max-width:650px; margin:14px auto 0; color:#4e6071; }
.app-system-section .feature-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; max-width:1000px; margin:auto; background:#cbd7e2; border:1px solid #cbd7e2; }
.app-system-section .ui-card { min-height:0; padding:clamp(20px,3vw,32px); color:#122d4a; background:#fff; border:0; border-radius:0; box-shadow:none; }
.app-system-section .ui-card .number { display:block; width:auto; height:auto; margin:0 0 18px; color:#31639c; background:none; border:0; font-size:.76rem; }
.app-system-section .ui-card p { color:#4c6074; }
.app-screen-tour { background:#092218 url('../img/pitch-overhead-v1.webp') center/cover no-repeat; }
.app-screen-tour::before { position:absolute; inset:0; content:""; background:#03150da8; pointer-events:none; }
.app-screen-tour > .wrap { position:relative; }
.app-screen-tour .section-heading h2 { color:#fff; }
.app-screen-tour .app-screen-track figure { flex-basis:clamp(230px,27vw,340px); min-width:0; padding:13px; background:#071628dc; border:1px solid #ffffff2b; border-radius:17px; }
.app-screen-tour .app-screen-track figure > img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; border-radius:10px; border:0; box-shadow:none; }
.app-screen-tour figcaption strong { color:#fff; }
.app-screen-tour figcaption span { color:#cfdae1; }
.app-screen-tour .scroll-hint { color:#d4e5e4; }
.app-languages .wrap > h2 { max-width:800px; margin:0 auto 35px; text-align:center; }
.app-languages .language-track { margin:0; }

/* Tovia uses a real paper texture, alternating colour, and complete app screens. */
.tovia-refined-hero { min-height:590px; display:grid; place-items:center; padding:calc(var(--header) + 75px) 0 85px; text-align:center; background:#f1dfd5 url('../img/tovia-paper-v2.webp') center/cover no-repeat; }
.tovia-refined-hero::before { background:rgba(250,244,235,.22); }
.tovia-refined-hero::after { position:absolute; z-index:1; right:0; bottom:-1px; left:0; height:clamp(45px,6vw,85px); content:""; background:#ebccca; clip-path:polygon(0 100%,100% 0,100% 100%); pointer-events:none; }
.tovia-refined-hero .wrap { position:relative; z-index:1; }
.tovia-refined-hero h1 { max-width:none; margin:auto; }
.tovia-refined-hero .lead { max-width:600px; margin:22px auto 25px; color:#4c3e47; }
.tovia-hero-download { display:flex; justify-content:center; }
.tovia-hero-download .store-cta-icon { width:58px; height:58px; }
.tovia-page .tovia-feature-section { position:relative; isolation:isolate; padding:clamp(65px,7vw,105px) 0; }
.tovia-feature-cream { background:#f8ecdd url('../img/tovia-paper-v2.webp') center/cover no-repeat; }
.tovia-feature-rose { background:#ebccca; }
.tovia-feature-rose::after { position:absolute; z-index:-1; inset:0; content:""; background:url('../img/tovia-paper-v2.webp') center/cover no-repeat; opacity:.19; }
.tovia-feature-section::before { position:absolute; z-index:1; top:-18px; left:0; width:100%; height:20px; content:""; clip-path:polygon(0 100%,0 36%,4% 47%,9% 23%,14% 45%,20% 29%,26% 54%,32% 20%,38% 48%,45% 35%,51% 55%,58% 25%,65% 47%,71% 28%,77% 53%,84% 24%,91% 45%,96% 25%,100% 43%,100% 100%); pointer-events:none; }
.tovia-feature-cream::before { background:#f8ecdd; }
.tovia-feature-rose::before { background:#ebccca; }
.tovia-editorial-grid { display:grid; grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr); align-items:center; gap:clamp(28px,5vw,80px); }
.tovia-editorial-grid.reverse { grid-template-columns:minmax(0,1.28fr) minmax(250px,.72fr); }
.tovia-editorial-grid.reverse .tovia-feature-text { order:2; }
.tovia-editorial-grid.reverse .tovia-screen-gallery { order:1; }
.tovia-feature-text h2 { max-width:500px; font-size:clamp(2.3rem,4vw,4rem); line-height:1.06; color:#362932; }
.tovia-feature-text p { max-width:480px; margin:20px 0 0; color:#5b4b50; font-size:1.08rem; line-height:1.7; }
.tovia-screen-gallery { display:grid; align-items:center; gap:clamp(8px,1.5vw,18px); }
.tovia-screen-gallery.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tovia-screen-gallery.one { grid-template-columns:minmax(0,1fr); justify-items:center; }
.tovia-screen-gallery.one img { width:min(100%,360px); }
.tovia-screen-gallery.three { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tovia-screen-gallery img { display:block; width:100%; height:auto; min-width:0; object-fit:contain; padding:5px; background:#fff9f1; border:1px solid #d4b6ac; border-radius:clamp(10px,1.7vw,22px); box-shadow:0 16px 38px #70515336; }
.tovia-screen-gallery .landscape-asset { grid-column:1/-1; max-height:260px; width:auto; max-width:100%; margin:auto; object-fit:contain; }
.tovia-closing { background:#ead0ca url('../img/tovia-paper-v2.webp') center/cover no-repeat; }
.tovia-closing .wrap > img { display:none; }

/* More specific, less stock-like internal page introductions. */
.refined-build-hero { min-height:500px; background:#07172d; background-image:none; }
.refined-build-hero::before { background:linear-gradient(120deg,#051326,#102b4b); }
.refined-build-hero .build-hero-grid { position:relative; z-index:1; width:min(100% - 40px,900px); text-align:center; }
.refined-build-hero h1 { max-width:860px; margin-inline:auto; font-size:clamp(3rem,4.9vw,5rem); }
.refined-build-hero .lead { max-width:680px; margin:20px auto 25px; }
.refined-build-hero .actions { justify-content:center; }
.refined-about-hero { min-height:560px; color:#11233b; background:#f4f5f4; }
.refined-about-hero::before { display:none; }
.refined-about-hero .about-hero-grid { display:grid; width:min(100% - 40px,1060px); grid-template-columns:1fr 320px; align-items:center; gap:clamp(35px,7vw,100px); text-align:left; }
.refined-about-hero h1 { max-width:670px; margin:0; color:#11233b; }
.refined-about-hero .lead { max-width:620px; margin:20px 0 25px; color:#465a6d; }
.about-portrait-frame { width:min(100%,320px); aspect-ratio:1.06; overflow:hidden; justify-self:center; background:#999; border-radius:13px; box-shadow:18px 18px 0 #dce4e6; }
.about-portrait-frame img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 14%; }
.about-work-carousel { position:relative; }
.about-work-track { display:flex; gap:18px; overflow-x:auto; padding:2px 2px 16px; scroll-snap-type:x mandatory; scrollbar-width:thin; }
.about-work-track .ui-card { flex:0 0 clamp(280px,42%,500px); min-height:220px; scroll-snap-align:start; }
.about-work-controls { display:flex; justify-content:flex-end; gap:9px; margin-top:17px; }
.about-work-controls button { width:44px; height:44px; color:#102a47; background:#fff; border:1px solid #b9cbd9; border-radius:50%; font-size:1.35rem; cursor:pointer; }
.about-work-controls button:hover { background:#e9f0f5; }

@media(max-width:1050px) {
  .nav-wrap .nav-toggle { margin-left:0; }
}

@media(max-width:900px) {
  .nav-wrap .nav-toggle { margin-left:0; }
  .refined-about-hero .about-hero-grid { grid-template-columns:1fr 260px; gap:25px; }
  .tovia-editorial-grid,.tovia-editorial-grid.reverse { grid-template-columns:1fr; }
  .tovia-editorial-grid.reverse .tovia-feature-text { order:0; }
  .tovia-editorial-grid.reverse .tovia-screen-gallery { order:1; }
  .tovia-feature-text { text-align:center; }
  .tovia-feature-text h2,.tovia-feature-text p { margin-inline:auto; }
  .tovia-screen-gallery { width:min(100%,650px); margin:auto; }
}
@media(max-width:760px) {
  .about-work-track .ui-card { flex-basis:min(84vw,360px); }
  .home-app-duo { grid-template-columns:1fr; }
  .app-duo-panel { padding:55px 22px 65px; }
  .app-duo-tflsk { margin-right:0; margin-bottom:-48px; padding-right:22px; padding-bottom:95px; clip-path:polygon(0 0,100% 0,100% calc(100% - 48px),0 100%); }
  .app-duo-tovia { padding-top:100px; }
  .app-duo-panel p { min-height:0; }
  .home-studio-section .studio-panel { grid-template-columns:1fr; }
  .studio-service-mark { width:min(100%,460px); }
  .home-studio-section .studio-panel-copy { text-align:center; }
  .home-final-cta { flex-direction:column; align-items:center; text-align:center; }
  .home-final-cta h2 { text-align:center; }
  .refined-about-hero .about-hero-grid { grid-template-columns:1fr; text-align:center; }
  .refined-about-hero h1,.refined-about-hero .lead { margin-inline:auto; }
  .about-portrait-frame { width:min(65vw,300px); }
}
@media(max-width:540px) {
  .home-hero:not(.tovia-home-hero) .home-product-actions .btn-primary,.home-hero:not(.tovia-home-hero) .home-product-actions .btn-secondary { width:min(100%,300px); max-width:300px; }
  .app-duo-screens { gap:6px; }
  .app-duo-screens img { border-radius:8px; }
  #features .app-screen-fan { gap:7px; }
  #features .app-showcase--stacked .app-screen-fan img { border-radius:7px; }
  #features .tick-list { grid-template-columns:1fr; }
  .app-system-section .feature-cards { display:grid; grid-template-columns:1fr; overflow:visible; }
  .app-system-section .feature-cards .ui-card { min-width:0; flex:auto; }
  .app-screen-tour .app-screen-track figure { flex-basis:min(78vw,320px); }
  .tovia-refined-hero { min-height:550px; padding:calc(var(--header) + 55px) 0 65px; }
  .tovia-screen-gallery { gap:7px; }
  .tovia-screen-gallery img { padding:3px; border-radius:9px; }
  .tovia-screen-gallery .landscape-asset { max-height:none; width:100%; }
  .refined-build-hero .build-hero-grid { width:min(100% - 30px,900px); }
  .refined-about-hero .about-hero-grid { width:min(100% - 30px,1200px); }
  .refined-build-hero { padding-bottom:72px; }
  .refined-about-hero { padding-bottom:70px; }
}

/* Home page audit: keep the Tovia copy level with the TFLSK slide. */
@media (min-width:761px) {
  .tovia-home-grid { padding:38px 0 36px; }
  .tovia-home-copy { transform:translateY(-40px); }
  .home-app-duo { grid-template-columns:minmax(0,46fr) minmax(0,54fr); }
  .app-duo-tovia { padding-left:clamp(55px,7vw,110px); padding-right:clamp(18px,3vw,50px); }
}
@media (min-width:901px) and (max-width:1099px) {
  .tovia-home-copy { transform:none; }
}
@media (min-width:761px) and (max-width:900px) {
  .tovia-home-copy { transform:translateY(-60px); }
}

/* A restrained overlapping fan keeps every complete app preview visible. */
#features .app-screen-fan,
.tovia-intro .app-screen-fan {
  display:grid;
  width:min(100%,800px);
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  align-items:center;
  height:auto;
  margin:34px auto 42px;
  overflow:visible;
}
#features .app-showcase--stacked .app-screen-fan img,
.tovia-intro .app-showcase--stacked .app-screen-fan img {
  position:relative;
  top:auto;
  left:auto;
  right:auto;
  bottom:auto;
  display:block;
  width:112%;
  max-width:none;
  height:auto;
  object-fit:contain;
  border-radius:14px;
  filter:drop-shadow(0 15px 22px #0007);
}
#features .app-screen-fan img:nth-child(1),
.tovia-intro .app-screen-fan img:nth-child(1) { grid-column:1; grid-row:1; z-index:1; transform:translateX(10%) rotate(-4deg); }
#features .app-screen-fan img:nth-child(2),
.tovia-intro .app-screen-fan img:nth-child(2) { grid-column:3; grid-row:1; z-index:1; transform:translateX(-20%) rotate(4deg); }
#features .app-screen-fan img:nth-child(3),
.tovia-intro .app-screen-fan img:nth-child(3) { grid-column:2; grid-row:1; z-index:2; transform:translateX(-6%); }
.tovia-intro .app-showcase { min-height:0; overflow:visible; background:none; border:0; box-shadow:none; }
.tovia-intro .app-showcase-copy { padding:0; }
.tovia-intro h2,.tovia-intro-lead,.tovia-intro-end { text-align:center; }
.tovia-intro h2 { color:#382932; }
.tovia-intro-lead,.tovia-intro-end { max-width:670px; margin:15px auto 0; color:#54464b; line-height:1.65; }
.tovia-intro-end { margin-top:0; }
.tovia-intro .app-showcase-copy > p { color:#473a40; }
.tovia-system .section-heading { max-width:760px; margin-inline:auto; text-align:center; }
.tovia-system .section-heading h2 { color:#382932; }
.tovia-system .section-heading p { margin:13px auto 0; color:#65545a; }
.tovia-system .feature-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:34px; }
.tovia-system .ui-card { min-height:220px; padding:25px; color:#3a2d32; background:#fffaf5e8; border:1px solid #d9bbb1; border-radius:7px; box-shadow:0 7px 20px #674b4720; }
.tovia-system .ui-card .number { display:block; width:auto; height:auto; margin:0 0 22px; color:#a44c67; background:none; border:0; font-size:.76rem; }
.tovia-system .ui-card p { color:#66565c; }
.tovia-screen-tour .section-heading { display:block; text-align:center; }
.tovia-screen-tour .section-heading h2 { color:#382932; }
.tovia-screen-tour .section-heading p { max-width:560px; margin:12px auto 0; color:#65545a; }
.tovia-screen-tour .app-screen-track figure { flex-basis:clamp(220px,25vw,310px); min-width:0; padding:10px; background:#fffaf6; border:1px solid #d9bcb1; border-radius:10px; box-shadow:0 10px 25px #6c474523; }
.tovia-screen-tour .app-screen-track figure > img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; border:0; border-radius:5px; }
.tovia-screen-tour figcaption strong { color:#3a2c31; }
.tovia-screen-tour figcaption span,.tovia-screen-tour .scroll-hint { color:#68575e; }
.tovia-screen-tour .app-screen-track { scroll-snap-type:x mandatory; }
.tovia-screen-tour .app-screen-track figure { scroll-snap-align:start; }
.tovia-travel-feature .tovia-screen-gallery img,.tovia-games-feature .tovia-screen-gallery img { background:#fffaf5; }
.journey-media-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.journey-media-grid figure,.journey-opening { min-width:0; height:clamp(170px,18vw,265px); margin:0; overflow:hidden; border:1px solid #ffffff28; border-radius:8px; }
.journey-media-grid img { display:block; width:100%; height:100%; object-fit:cover; }
.journey-media-grid figure:nth-child(2) img { object-position:48% center; }
.journey-media-grid figure:nth-child(3) img { object-position:50% center; }
.journey-media-grid figure:nth-child(4) img { object-position:55% center; }
.journey-media-grid figure:nth-child(5) img { object-position:center; }
.journey-opening { display:flex; flex-direction:column; justify-content:end; padding:20px; color:#fff; background:linear-gradient(145deg,#0c243a,#164d30); }
.journey-opening span { color:#f4ca3e; font-size:.72rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.journey-opening strong { margin-top:9px; font-size:clamp(1.1rem,2vw,1.8rem); line-height:1.1; }
.journey-opening p { margin:8px 0 0; color:#dcece5; font-size:.84rem; line-height:1.35; }
@media(max-width:900px) {
  .journey-media-grid figure,.journey-opening { height:190px; }
  .tovia-system .feature-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  #features .app-screen-fan,.tovia-intro .app-screen-fan { width:min(100%,520px); margin:22px auto 28px; }
  #features .app-showcase--stacked .app-screen-fan img,.tovia-intro .app-showcase--stacked .app-screen-fan img { border-radius:6px; }
  .tovia-system .feature-cards { grid-template-columns:1fr; }
  .tovia-system .ui-card { min-height:0; }
  .tovia-screen-tour .app-screen-track figure { flex-basis:min(76vw,300px); }
}

/* Actual app views rotate in the Tovia hero, without cropping the screens. */
.tovia-hero-art { flex-direction:column; gap:12px; }
.tovia-hero-screen-rotator { position:relative; width:min(55%,220px); aspect-ratio:1320 / 2868; }
.tovia-hero-screen { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; border-radius:15px; box-shadow:0 24px 44px #6b3d4b4d; opacity:0; transform:translate(0,12px) scale(.86); transition:opacity .35s ease,transform .55s ease; }
.tovia-hero-screen.is-active { z-index:3; opacity:1; transform:none; }
.tovia-hero-screen.is-next { z-index:2; opacity:.55; transform:translate(52px,13px) rotate(6deg) scale(.9); }
.tovia-hero-screen.is-prev { z-index:1; opacity:.42; transform:translate(-52px,13px) rotate(-6deg) scale(.9); }
.tovia-hero-screen-controls { position:relative; z-index:4; display:flex; gap:10px; align-items:center; justify-content:center; padding:7px 0; }
.tovia-hero-screen-controls button { width:10px; height:10px; padding:0; background:#8d6573; border:0; border-radius:50%; cursor:pointer; }
.tovia-hero-screen-controls button.is-active { width:28px; background:#a84961; border-radius:8px; }
.tovia-hero-screen-controls button:focus-visible { outline:3px solid #263c58; outline-offset:3px; }

/* A quieter studio introduction on navy, with the work itself as the visual. */
.home-studio-section { color:#fff; background:#071b34; }
.home-studio-section .studio-panel { min-height:370px; padding-block:clamp(35px,5vw,65px); color:#fff; background:transparent; }
.studio-capabilities { display:grid; width:min(100%,450px); justify-self:center; gap:0; padding:0 clamp(12px,3vw,40px); }
.studio-capabilities span { margin-bottom:14px; color:#f2c339; font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.studio-capabilities strong { display:block; padding:10px 0; border-top:1px solid #7f94ab66; color:#fff; font-size:clamp(1.5rem,3vw,2.8rem); font-weight:800; line-height:1.08; letter-spacing:-.045em; }
.studio-capabilities strong:last-child { border-bottom:1px solid #7f94ab66; }
.home-studio-section .studio-panel-copy h2 { color:#fff; }
.home-studio-section .studio-panel-copy p { color:#c4d0dc; }
.home-studio-section .studio-panel .btn { color:#fff; background:transparent; border-color:#a6bad0; }
.home-studio-section .studio-panel .btn:hover { background:#ffffff18; }
.home-studio-section + .section::before { background:linear-gradient(176deg,#071b34 48%,transparent 49%); }

@media(max-width:760px) {
  .tovia-home-grid {
    display:grid;
    min-height:100svh;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto minmax(0,1fr);
    gap:0;
    padding:22px 0 26px;
  }
  .tovia-home-copy { transform:none; }
  .tovia-home-hero .home-product-actions { flex-direction:column; align-items:center; gap:10px; }
  .tovia-home-hero .home-product-actions .btn { width:min(100%,300px); max-width:300px; min-height:44px; }
  .tovia-home-hero .home-product-actions .store-cta { width:100%; justify-content:center; }
  .tovia-hero-art { min-height:0; justify-content:center; gap:4px; margin-top:8px; }
  .tovia-hero-screen-rotator { width:min(40vw,175px); }
  .tovia-hero-screen.is-next { transform:translate(28px,8px) rotate(6deg) scale(.9); }
  .tovia-hero-screen.is-prev { transform:translate(-28px,8px) rotate(-6deg) scale(.9); }
  .app-duo-tovia { padding-left:22px; padding-right:22px; }
  .home-studio-section .studio-panel { padding-block:45px; }
  .studio-capabilities { width:min(100%,430px); padding:0 18px; }
  .studio-capabilities strong { font-size:clamp(1.6rem,7vw,2.4rem); }
  .home-studio-section .studio-panel-copy { padding:25px 18px 0; }
}
@media(prefers-reduced-motion:reduce) {
  .tovia-hero-screen { transition:none; }
}

/* Keep the verified Tovia feature list readable on the rose paper section. */
.tovia-intro .tovia-feature-bullets { max-width:940px; gap:12px 34px; margin:18px auto 0; }
.tovia-intro .tovia-feature-bullets li { color:#493b42; line-height:1.55; }
.tovia-intro .tovia-feature-bullets li::before { color:#9c3e5c; }

/* Let the original splash artwork read clearly, without an added blue frame. */
.build-app-images { gap:clamp(10px,2vw,20px); height:auto; align-items:center; overflow:visible; }
.build-app-images img { flex:0 1 auto; width:min(45%,150px); height:auto; object-fit:contain; object-position:center; background:transparent; border:0; border-radius:10px; box-shadow:0 12px 28px #0b1c2b20; }
.build-capabilities #websites > img { height:auto; aspect-ratio:2518/1520; object-fit:contain; background:#101010; }
.build-work .work-item--logo > img { object-fit:contain; object-position:center; padding:18px; background:#fff; }
@media(max-width:600px) {
  .tovia-intro .tovia-feature-bullets { grid-template-columns:1fr; }
}

/* Build With Us: visible work, two distinct products and a quieter process. */
.build-intro .build-app-images { gap:clamp(10px,2vw,20px); margin-top:22px; }
.build-intro .build-app-images img { flex:0 1 auto; width:min(45%,150px); }
.build-products,.build-process { color:#10243d; background:#f6f8fa; }
.build-products::before,.build-process::before { display:none; }
.build-products .section-heading h2,.build-process .section-heading h2 { color:#10243d; }
.build-products .section-heading > p { color:#526477; }
.build-work .section-heading { margin-bottom:36px; }
.build-work .section-heading > p { color:#b9c8d6; }
.build-website-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.build-website-card { display:block; min-width:0; overflow:hidden; color:#122840; background:#fff; border:1px solid #31455e; border-radius:12px; }
.build-website-card > img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; object-position:top; background:#e7edf1; }
.build-website-card-copy { padding:clamp(22px,3vw,32px); }
.build-status { color:#6c5315; font-size:.74rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.build-website-card h3 { margin:9px 0; color:#10243d; font-size:clamp(1.6rem,2.3vw,2.25rem); }
.build-website-card p { max-width:47ch; margin:0; color:#536579; line-height:1.6; }
.build-card-link { display:inline-block; margin-top:24px; color:#164f87; font-size:.9rem; font-weight:800; }
.build-website-card[href]:hover .build-card-link { text-decoration:underline; text-underline-offset:4px; }
.build-more-sites { display:grid; grid-template-columns:220px 1fr; gap:30px; align-items:start; margin-top:28px; padding:22px 0; border-top:1px solid #486078; }
.build-more-sites h3 { margin:0; color:#fff; font-size:1.15rem; }
.build-more-sites > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.build-more-sites p { display:grid; gap:5px; margin:0; }
.build-more-sites strong { color:#f2f5f7; font-size:.98rem; }
.build-more-sites span { color:#aebfcd; font-size:.85rem; }
.build-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.build-product-card { position:relative; display:flex; min-height:300px; align-items:flex-start; gap:25px; padding:clamp(25px,3vw,36px); padding-bottom:82px; border-radius:12px; transition:transform .18s ease; }
.build-product-card:hover { transform:translateY(-3px); }
.build-product-card img { display:block; width:74px; height:74px; flex:none; border-radius:17px; }
.build-product-card > div { display:flex; min-height:100%; flex-direction:column; }
.build-product-card h3 { margin:0 0 12px; font-size:clamp(2rem,3vw,3rem); }
.build-product-card p { max-width:36ch; margin:0 0 22px; line-height:1.65; }
.build-product-card strong { position:absolute; right:20px; bottom:clamp(25px,3vw,36px); left:20px; text-align:center; font-size:.9rem; }
.build-product-tflsk { color:#fff; background:linear-gradient(90deg,#071629ec,#071629e0),url('../img/pitch-overhead-v1.webp') center/cover; }
.build-product-tflsk p { color:#c8d5e1; }
.build-product-tflsk strong { color:#f3c73e; }
.build-product-tovia { color:#392d35; background:#f1ded7 url('../img/tovia-paper-v2.webp') center/cover; border:1px solid #e0c4bf; }
.build-product-tovia p { color:#594c51; }
.build-product-tovia strong { color:#a74764; }
.build-process { background:#eaf0f4; }
.build-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:48px 0 0; padding:0; list-style:none; border-top:2px solid #b9c9d5; }
.build-steps li { min-width:0; padding:24px clamp(18px,2.5vw,32px) 0; border-left:1px solid #c7d4de; }
.build-steps li:first-child { border-left:0; padding-left:0; }
.build-steps li > span { color:#966f17; font-size:.8rem; font-weight:900; letter-spacing:.1em; }
.build-steps h3 { margin:17px 0 9px; color:#102b48; font-size:clamp(1.3rem,1.7vw,1.75rem); }
.build-steps p { max-width:29ch; margin:0; color:#506376; line-height:1.65; }
.about-work-track .about-work-icon { display:block; width:64px; height:64px; margin-bottom:22px; object-fit:cover; border-radius:15px; }
.about-work-track .ui-card h3 { margin-top:0; }
.home-studio-section { padding-block:clamp(48px,5vw,70px); }
.home-studio-section .studio-panel { min-height:0; padding-block:clamp(22px,3vw,38px); }
@media(max-width:900px) {
  .build-product-card { flex-direction:column; }
  .build-product-card > div { min-height:0; }
}
@media(max-width:700px) {
  .build-website-grid,.build-product-grid { grid-template-columns:1fr; }
  .build-more-sites { grid-template-columns:1fr; gap:15px; }
  .build-more-sites > div { grid-template-columns:1fr; }
  .build-product-card { min-height:0; }
  .build-steps { grid-template-columns:1fr; margin-top:30px; border-top:0; border-left:2px solid #b9c9d5; }
  .build-steps li,.build-steps li:first-child { padding:0 0 28px 23px; border-left:0; }
  .build-steps li:last-child { padding-bottom:0; }
  .build-steps h3 { margin:8px 0 5px; }
  .about-work-controls { justify-content:center; padding-right:54px; }
  .home-studio-section { padding-block:42px; }
  .home-studio-section .studio-panel { padding-block:22px; }
}
@media(max-width:760px) {
  .home-studio-section .studio-panel-copy .actions { justify-content:center; }
}
@media(max-width:600px) {
  .service-split .actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .service-split .actions .btn { width:100%; min-width:0; padding-inline:8px; font-size:clamp(.65rem,2.9vw,.75rem); white-space:nowrap; }
}
