/* Ideal V7. Native Aeonik, grid, page lifecycle and Lusion easing retained. */
:root{--v7-space:clamp(64px,7.5vw,144px);--v7-border:#10131b20}
/* Give the header icon a real flex slot. It must never translate across the label. */
#header-right{gap:12px!important;width:auto!important}
#header-right-talk-btn{position:relative!important;left:auto!important;right:auto!important;width:auto!important;min-width:150px;padding:0 24px!important}
#header-right-talk-container{position:relative!important;display:flex!important;align-items:center;justify-content:center;gap:17px;transform:none!important;inset:auto!important;width:auto!important;height:100%;padding:0!important}
#header-right-talk-btn-text{position:relative!important;inset:auto!important;display:block!important;transform:none!important;margin:0!important;order:1}
#header-right-talk-btn-arrow{position:relative!important;inset:auto!important;display:block!important;opacity:1!important;transform:none!important;flex:0 0 16px;width:16px!important;height:16px!important;order:2;margin:0!important}
#header-right-talk-btn-arrow svg{display:block;width:16px;height:16px;transform:rotate(-45deg);transition:transform var(--ideal-motion) var(--ideal-ease)!important}
#header-right-talk-btn-dots{display:none!important}
@media(hover:hover){#header-right-talk-btn:hover #header-right-talk-btn-arrow svg{transform:rotate(-45deg) translateX(2px)}#header-right-talk-btn:hover .ideal-action-label>span{transform:translateY(-100%)}}
.ideal-action{flex-wrap:nowrap!important}.ideal-action>.ideal-action-label{flex:0 1 auto;order:1;width:auto!important;max-width:100%;inset:auto!important}.ideal-action>.ideal-action-arrow{order:2;margin:0!important;translate:none!important}
.v7-icon{width:32px;height:32px;flex:none;display:block;color:var(--ideal-accent)}
.ideal-v7 h1,.ideal-v7 h2,.ideal-v7 h3,.v7-work-card h3{font-weight:400;letter-spacing:-.048em}
.ideal-v7 p{letter-spacing:-.017em}
.v7-hero{padding:clamp(150px,12vw,220px) var(--base-padding-x) 65px;display:grid;grid-template-columns:1fr 1.02fr;gap:5vw;align-items:center}
.v7-hero h1{font-size:clamp(54px,7.1vw,138px);line-height:.99;margin:27px 0}
.v7-hero-copy>p{font-size:clamp(19px,1.45vw,28px);line-height:1.45;max-width:35ch;margin:0 0 28px}
.v7-hero-visual{margin:0;min-width:0;position:relative;overflow:hidden;border-radius:var(--global-border-radius);background:#e9eaf0;align-self:center}
.v7-hero-visual>img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center;transition:transform 1s var(--ideal-ease)}
.v7-hero-visual figcaption{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;font:11px/1.4 IBMPlexMono,monospace;text-transform:uppercase;letter-spacing:.04em;background:#e9eaf0}
.v7-hero-visual figcaption .v7-icon{width:18px;height:18px}
.v7-tags{padding:0;margin:25px 0 0;list-style:none;display:flex;flex-wrap:wrap;gap:7px}.v7-tags li{border:1px solid #10131b25;border-radius:99px;padding:8px 11px;font:10px/1.2 IBMPlexMono,monospace}
.v7-section{padding:var(--v7-space) var(--base-padding-x);position:relative}
.v7-section-head{margin-bottom:42px;max-width:100%}.v7-section-head>.ideal-overline{display:block;margin-bottom:25px}
.v7-section-head h2{font-size:clamp(38px,5.3vw,102px);line-height:1.04;letter-spacing:-.048em;font-weight:400;margin:0;max-width:20ch}
.v7-section-head>p{font-size:clamp(18px,1.45vw,26px);line-height:1.45;max-width:47ch;margin:24px 0 0 auto}
.v7-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.v7-work-grid:has(>.v7-work-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.v7-work-card{min-width:0;margin:0}.v7-cover{overflow:hidden;border-radius:var(--global-border-radius);background:#e9eaf0}
.v7-cover img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center;display:block;transition:transform 850ms var(--ideal-ease)}
@media(hover:hover){.v7-work-card:hover .v7-cover img{transform:scale(1.035)}}
.v7-work-caption{display:flex;justify-content:space-between;gap:16px;padding-top:19px;align-items:center}.v7-work-caption .ideal-overline{font-size:9px;color:#60636f}
.v7-work-caption h3{font-size:clamp(24px,2vw,38px);line-height:1.1;margin:8px 0 0}.v7-work-caption>.v7-icon{width:22px;height:22px}
.v7-work-card>p{font-size:17px;line-height:1.45;max-width:38ch;margin-top:15px}
.v7-ribbon{height:clamp(70px,8vw,150px);position:relative;overflow:hidden;margin:0;pointer-events:none;isolation:isolate}
.v7-ribbon .ideal-drawn-line{inset:18px 0;height:calc(100% - 36px);width:100%;opacity:1}
.v7-features{padding-top:65px}.v7-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.v7-feature-grid:has(>article:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
.v7-feature-grid article{border-top:1px solid var(--v7-border);padding-top:30px;min-width:0}.v7-feature-grid h3{font-size:clamp(24px,2.1vw,38px);line-height:1.12;margin:25px 0 16px}.v7-feature-grid p{font-size:clamp(16px,1.15vw,22px);line-height:1.5;margin:0;max-width:33ch}
.v7-dark{background:var(--ideal-ink);color:var(--ideal-paper);border-radius:var(--global-border-radius);margin:25px var(--base-padding-x) 55px;padding:clamp(45px,6vw,100px);--v7-border:#ffffff35}
.v7-dark .v7-icon{color:#bba0ff}.v7-dark .ideal-overline{color:#b5b6c0}
.v7-journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.v7-journey-grid article{padding:30px;background:#e9ebf0;border-radius:var(--global-border-radius);display:flex;flex-direction:column;min-width:0}
.v7-journey-grid article>.v7-icon{margin-bottom:35px}.v7-journey-grid .ideal-overline{font-size:10px}.v7-journey-grid h3{font-size:clamp(27px,2.5vw,44px);line-height:1.06;margin:16px 0 30px}.v7-journey-grid img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:9px}
.v7-journey-grid p{font-size:17px;line-height:1.45;margin:25px 0 0}.v7-query{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;border-radius:99px;background:#fff;font-size:14px;color:var(--ideal-ink);margin:auto 0}.v7-query .v7-icon{width:20px;height:20px}.v7-action-demo{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--ideal-accent);color:white;border-radius:99px;padding:19px;font-size:13px;margin:auto 0}.v7-action-demo .v7-icon{color:white;width:20px;height:20px}
.v7-note{font:11px/1.6 IBMPlexMono,monospace!important;color:#5a5e6b;margin:22px 0 0;letter-spacing:0!important}
.v7-search-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:center}
.v7-search-board{padding:40px;background:#e9ebf0;border-radius:var(--global-border-radius)}.v7-search-board>.ideal-overline{display:block;margin-bottom:30px}.v7-search-board .v7-query{margin:0 0 18px}
.v7-result{background:white;border-radius:15px;padding:28px}.v7-result>span{font:11px/1.4 IBMPlexMono,monospace}.v7-result h3{font-size:27px;line-height:1.15;color:#7000ff;margin:20px 0 12px}.v7-result p{font-size:17px;line-height:1.4;margin:0}
.v7-sitemap{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:18px 0}.v7-sitemap span{padding:14px;border:1px solid #10131b30;border-radius:10px;font-size:13px}.v7-search-board small{font:10px/1.5 IBMPlexMono,monospace;display:block;color:#60636f;max-width:40ch}
.v7-feature-stack{display:grid;gap:30px}.v7-feature-stack article{display:grid;grid-template-columns:36px 1fr;gap:22px;padding-bottom:30px;border-bottom:1px solid var(--v7-border)}.v7-feature-stack h3{font-size:32px;line-height:1.1;margin:0 0 15px}.v7-feature-stack p{font-size:18px;line-height:1.4;margin:0;max-width:36ch}
.v7-studio-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:7vw;align-items:center}.v7-studio-collage{position:relative;background:#e9ebf0;border-radius:var(--global-border-radius);padding:25px;display:grid;gap:20px;overflow:hidden}.v7-studio-collage img{display:block;max-width:100%;width:84%;height:auto;border-radius:10px}.v7-studio-collage img:nth-child(2){margin:-8% 0 0 auto;box-shadow:0 15px 35px #10131b25}.v7-studio-collage>span{font:9px/1.4 IBMPlexMono,monospace;margin-top:4px;letter-spacing:.08em}
.v7-studio-copy h3{font-size:clamp(32px,3.4vw,64px);line-height:1.07;margin:24px 0}.v7-studio-copy>p{font-size:clamp(19px,1.5vw,28px);line-height:1.45;margin:0 0 22px;max-width:35ch}
.v7-price-hero{padding:clamp(155px,12vw,220px) var(--base-padding-x) 32px}.v7-price-hero h1{font-size:clamp(52px,5.8vw,112px);line-height:1.01;margin:25px 0 20px;max-width:100%}.v7-price-hero p{font-size:21px;line-height:1.4;max-width:48ch;margin:0}
.v7-plans{padding-top:30px}.v7-pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.v7-plan{border:1px solid var(--v7-border);border-radius:var(--global-border-radius);overflow:hidden;display:flex;flex-direction:column;min-width:0;background:#f0f1f5}.v7-plan>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.v7-plan-body{padding:28px;display:flex;flex-direction:column;flex:1}.v7-plan h2{font-size:clamp(27px,2.6vw,48px);line-height:1.1;margin:20px 0 12px}.v7-plan p{font-size:17px;line-height:1.4;min-height:2.8em;margin:0}.v7-price{border-block:1px solid var(--v7-border);padding:22px 0;margin:24px 0}.v7-price>span{font:10px/1.3 IBMPlexMono,monospace;display:block;margin-bottom:12px;text-transform:uppercase}.v7-price strong{font-weight:400;font-size:clamp(23px,2vw,34px);letter-spacing:-.035em}.v7-plan ul{list-style:none;margin:0 0 28px;padding:0}.v7-plan li{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:15px;line-height:1.35}.v7-plan li .v7-icon{width:17px;height:17px}.v7-plan .ideal-action{margin-top:auto;width:100%;padding-inline:14px;font-size:11px;gap:12px}
.v7-contact-grid,.v7-explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:30px}.v7-contact-grid>a,.v7-explore-grid>a{display:flex;flex-direction:column;padding:30px;background:#e9ebf0;border-radius:var(--global-border-radius);min-width:0;transition:background 480ms var(--ideal-ease),color 480ms var(--ideal-ease)}.v7-contact-grid .ideal-overline{margin-top:30px}.v7-contact-grid h2{font-size:clamp(21px,2.1vw,40px);line-height:1.2;overflow-wrap:anywhere;margin:20px 0 35px}.v7-contact-grid>a>.v7-icon:last-child,.v7-explore-grid>a>.v7-icon:last-child{align-self:flex-end;margin-top:auto}.v7-explore-grid h2{font-size:36px;margin:30px 0 18px}.v7-explore-grid p{font-size:18px;line-height:1.4;margin:0 0 35px}
@media(hover:hover){.v7-contact-grid>a:hover,.v7-explore-grid>a:hover{background:var(--ideal-accent);color:white}.v7-contact-grid>a:hover .v7-icon,.v7-explore-grid>a:hover .v7-icon{color:white}}
#projects-main .v7-portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 28px;margin-top:35px}.v7-portfolio-intro{grid-column:7/-1;width:100%;font-size:20px;line-height:1.4;max-width:46ch;margin:25px 0 45px auto}
#projects-main-title-project-number{display:none!important}#projects-main-title-wrapper{max-width:100%}#projects-main-title{font-size:12.2vw!important;white-space:nowrap;word-break:normal!important}#projects-main-title-project-arrow{right:0!important}
.v7-portfolio-grid [data-ideal-reveal]{opacity:1;transform:none}.v7-portfolio-grid .v7-enter{animation:v7-enter 950ms var(--ideal-ease) both}
@keyframes v7-enter{from{opacity:0;transform:translate3d(0,42px,0)}to{opacity:1;transform:none}}
@media(max-width:1050px) and (min-width:813px){.v7-hero{gap:3vw}.v7-feature-grid{gap:20px}.v7-plan-body{padding:20px}.v7-plan .ideal-action{font-size:9px}.v7-journey-grid article{padding:22px}}
@media(max-width:812px){
 #header-right-talk-btn{min-width:0;padding-inline:18px!important}#header-right-talk-container{gap:10px}
 .v7-hero{padding-top:130px;padding-bottom:35px;grid-template-columns:1fr;gap:35px}.v7-hero h1{font-size:14vw;line-height:1.01;margin:22px 0}.v7-hero-copy>p{font-size:20px;max-width:33ch}.v7-hero-visual>img{aspect-ratio:16/10}.v7-hero-visual figcaption{padding:13px 16px;font-size:9px}
 .v7-section{padding-block:58px}.v7-section-head{margin-bottom:30px}.v7-section-head>.ideal-overline{font-size:10px;margin-bottom:18px}.v7-section-head h2{font-size:10.6vw}.v7-section-head>p{font-size:19px;margin:22px 0 0;max-width:34ch}
 .v7-work-grid,.v7-work-grid:has(>.v7-work-card:nth-child(2):last-child){grid-template-columns:1fr;gap:35px}.v7-work-caption{padding-top:15px}.v7-work-caption h3{font-size:28px}.v7-work-caption .ideal-overline{font-size:9px}
 .v7-feature-grid,.v7-feature-grid:has(>article:nth-child(3):last-child){grid-template-columns:1fr 1fr;gap:32px 22px}.v7-feature-grid article{padding-top:20px}.v7-feature-grid h3{font-size:25px;margin:20px 0 12px}.v7-feature-grid p{font-size:16px}.v7-dark{padding:36px 23px;margin:10px var(--base-padding-x) 35px}.v7-dark .v7-section-head h2{font-size:10vw}.v7-dark .v7-feature-grid{grid-template-columns:1fr;gap:28px}.v7-dark .v7-feature-grid p{max-width:100%}
 .v7-ribbon{height:75px}.v7-journey-grid{grid-template-columns:1fr;gap:16px}.v7-journey-grid article{padding:25px}.v7-journey-grid h3{font-size:32px;margin-bottom:25px}.v7-journey-grid article>.v7-icon{margin-bottom:22px}.v7-journey-grid img{max-height:230px}.v7-query,.v7-action-demo{font-size:13px}
 .v7-search-layout,.v7-studio-grid{grid-template-columns:1fr;gap:38px}.v7-search-board{padding:23px}.v7-result{padding:24px}.v7-result h3{font-size:25px}.v7-feature-stack{gap:23px}.v7-feature-stack h3{font-size:28px}.v7-feature-stack p{font-size:18px}.v7-studio-copy h3{font-size:36px}.v7-studio-copy p{font-size:21px}.v7-studio-collage{padding:20px}
 .v7-price-hero{padding-top:130px;padding-bottom:20px}.v7-price-hero h1{font-size:12.7vw;max-width:100%;margin:24px 0}.v7-price-hero p{font-size:20px}.v7-plans{padding-top:20px}.v7-pricing-grid{grid-template-columns:1fr;gap:25px}.v7-plan-body{padding:26px}.v7-plan h2{font-size:35px}.v7-price strong{font-size:30px}.v7-plan .ideal-action{font-size:12px}
 .v7-contact-grid,.v7-explore-grid{grid-template-columns:1fr;padding-top:20px}.v7-contact-grid h2{font-size:28px}.v7-explore-grid h2{font-size:32px}
 #projects-main .v7-portfolio-grid{grid-template-columns:1fr;gap:35px}.v7-portfolio-intro{grid-column:1/-1;font-size:19px;margin:20px 0 30px}#projects-main-title{font-size:12.6vw!important}#projects-main-title-project-arrow{width:22px;height:22px}
}
@media(prefers-reduced-motion:reduce){.v7-enter{animation:none!important}.v7-cover img,.v7-hero-visual img{transition:none!important;transform:none!important}}
/* Keep the studio background and its 3D lines inside the blue section. */
#estudio>.v7-studio-profile{background:var(--ideal-paper,#f6f7fa);color:var(--ideal-ink,#10131b);isolation:isolate}
#projects .ideal-native-portfolio{grid-column:1/-1;margin-top:35px}
#projects .project-item{cursor:default;outline:none}
#projects .project-item-main{padding-top:56.25%}
#projects .project-item:focus-visible .project-item-main{outline:2px solid #7000ff;outline-offset:7px}
#projects .project-item-line-1{font-size:clamp(10px,.85vw,15px)}
#projects .project-item-line-2{font-size:clamp(22px,2.2vw,40px)}
.ideal-hover-video{display:none!important}
#video-overlay__controls,#video-overlay__play-btn,#video-overlay__mute-btn,#video-overlay__progress-container{display:none!important}
#video-overlay__vimeo-video{width:100%!important;height:100%!important;inset:0!important;transform:none!important}
#video-overlay__vimeo-video video{object-fit:contain!important}
#video-overlay__mobile-close-btn{display:flex!important;position:absolute!important;z-index:8!important;top:24px!important;right:24px!important}
.ideal-playlist-caption{position:absolute;bottom:24px;left:28px;right:28px;color:#fff;font:12px/1.5 IBMPlexMono,monospace;letter-spacing:.04em;pointer-events:none;text-align:center;text-transform:uppercase;z-index:4;text-shadow:0 1px 5px #000}
@media(max-width:812px){#projects .project-item-line-2{font-size:24px}.ideal-playlist-caption{font-size:10px;bottom:22px}}
