/* Final public-page layout pass. Not loaded on Products; product-preview is unchanged. */
body:not([data-page="products"]) :is(.site-header,.site-footer,.contact-page,.legal-page) :is(a,p,strong,small) {overflow-wrap:break-word}
body:not([data-page="products"]) :is(.page-hero,.about-hero,.service-detail-hero,.showcase-hero) h1 {text-wrap:balance}
:is(.home-about,.global-presence,.quick-services,.work-preview,.trust-section,.feedback-section,.faq-section,.about-page,.services-page,.service-detail-page,.cta-section,.showcase-cta) h2 {text-wrap:balance;line-height:1.12}
:is(.home-about,.global-presence,.quick-services,.work-preview,.trust-section,.feedback-section,.faq-section,.about-page,.services-page,.service-detail-page) h3 {text-wrap:balance}
.section-heading p:not(.product-preview *) {line-height:1.8}
.hero-actions {row-gap:14px}
.cta-panel {gap:40px;padding:48px;min-height:0}
.cta-panel>div {min-width:0;max-width:760px}
.cta-panel h2 {font-size:clamp(32px,4.2vw,56px);line-height:1.12;letter-spacing:-.04em}
.cta-panel>p,.cta-panel p {max-width:60ch;line-height:1.8}
.cta-panel>.button,.showcase-cta .button {flex:0 0 auto;line-height:1.4;min-height:52px;padding:15px 23px}
.split-heading:not(.product-preview *) {gap:28px;align-items:end}
.split-heading:not(.product-preview *)>.explore-link {align-self:end;margin-bottom:3px}
.home-page .quick-services .feature-card h3 {min-height:2.6em;max-width:none}
.home-page .quick-services .feature-card p {margin-bottom:42px}
.home-page .work-card {display:flex;flex-direction:column;min-width:0}
.home-page .work-card>div:last-child {display:flex;flex-direction:column;flex:1}
.home-page .work-card ul {margin-top:auto;padding-top:10px}
.home-page .work-card .portfolio-visit {align-self:flex-start;margin-top:18px}
.brand-work-card strong,.brand-work-domain small {overflow-wrap:anywhere}
.brand-work-card strong {max-width:100%}
.home-page .brand-work-card {justify-content:flex-start}
.home-page .brand-work-visit {margin-top:auto;padding-top:5px}
.services-page .page-hero {min-height:0;padding:146px 0 64px}
.services-page .page-hero-grid {grid-template-columns:1.4fr .65fr;gap:54px}
.services-page .page-hero h1 {font-size:clamp(42px,5.3vw,70px);line-height:1.08;letter-spacing:-.045em;margin:24px 0}
.services-page .page-hero p {font-size:17px;line-height:1.8;max-width:620px}
.services-page .world-visual {width:min(320px,28vw);justify-self:center}
.service-catalogue {padding-top:40px;scroll-margin-top:95px}
.service-list {border-top:0;display:grid;gap:16px}
.service-row {padding:28px;border:1px solid #214457;border-radius:18px;background:linear-gradient(130deg,#0a2435a6,#061522);grid-template-columns:25px 56px minmax(0,1.25fr) minmax(0,1fr) auto;gap:22px;transition:border-color .25s,background .25s}
.service-row:hover {border-color:#32758b;background:linear-gradient(130deg,#0b2b3d,#071b2a)}
.service-row>div,.service-row ul {min-width:0}
.service-row h2 {font-size:25px;line-height:1.25;margin:3px 0 12px;text-wrap:balance}
.service-row p {font-size:14px;line-height:1.75}
.service-row ul {grid-template-columns:1fr;padding-top:4px;gap:6px}
.service-row li {position:relative;padding-left:13px;font-size:12px;line-height:1.6}
.service-row li:before {position:absolute;left:0;margin:0}
.service-row>a.service-row-cta {height:auto;min-height:44px;min-width:106px;align-self:start;margin:0;line-height:1.35;padding:12px}
.service-row-icon svg {width:27px;height:27px}
.service-row-number {padding-top:16px}
.service-detail-hero {min-height:0;padding:144px 0 76px}
.service-detail-hero-grid {gap:56px;grid-template-columns:1.15fr .65fr}
.service-detail-hero h1 {font-size:clamp(42px,5.2vw,72px);line-height:1.08;letter-spacing:-.045em}
.service-detail-mark {width:min(360px,31vw)}
.service-detail-mark span {display:grid;place-items:center;width:100%}
.service-detail-mark svg {width:76px;height:76px}
.service-back {min-height:30px;font-size:12px;margin-bottom:18px}
.service-overview-grid,.service-fit-grid {gap:60px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.service-overview-copy {padding-left:34px}
.service-capability-card {display:flex;flex-direction:column;min-height:178px}
.service-capability-card h3 {margin:42px 0 0;max-width:none;font-size:19px;line-height:1.4}
.process-grid {grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:24px}
.process-step h3 {font-size:19px;line-height:1.35;min-height:2.7em;margin-bottom:12px}
.process-step p {font-size:13px;line-height:1.8}
.about-page .about-hero-media {height:570px;min-height:0}
.about-page .about-hero-media>img {height:100%;min-height:0;object-fit:cover}
.about-page .about-hero-proof {display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.about-page .about-hero-proof>span {min-width:0;padding-right:10px;line-height:1.6}
.about-page .about-service-card {min-height:340px;padding:28px}
.about-page .about-service-card:before {right:0;bottom:0;transform:translate(35%,40%)}
.about-page .about-service-card>b {flex:0 0 52px;width:52px;height:52px;margin:22px 0}
.about-page .about-service-card .service-icon svg {width:26px;height:26px}
.about-page .about-service-card h3 {max-width:none;font-size:21px;min-height:2.8em;line-height:1.4}
.about-page .about-service-card p {font-size:14px;line-height:1.75;margin-top:13px}
.about-page .about-service-card .service-card-label {color:#b4f1fc;border-top:1px solid #3a647e66;padding-top:16px;font-size:12px;font-weight:700;width:100%}
.about-page .mission-card {padding:36px;min-height:350px}
.about-page .mission-card h2 {font-size:clamp(30px,3vw,42px);margin:65px 0 20px;line-height:1.15}
.about-page .choose-card h3 {min-height:2.7em;line-height:1.35}
.about-page .industry-path-card h3 {min-height:3.9em;line-height:1.3}
.about-page .growth-system-visual {min-height:0;aspect-ratio:1;max-width:520px;width:100%;margin-inline:auto}
.about-page .growth-ring.ring-two {width:88%;height:88%}
.about-page .growth-ring.ring-one {width:61%;height:61%}
.about-page .growth-ring {animation-name:growth-orbit-centered}
@keyframes growth-orbit-centered {to{transform:translate(-50%,-50%) rotate(360deg)}}
.team-info {display:flex;flex-direction:column}
.team-info small {min-height:1.6em}
.team-info h3 {line-height:1.2}
.feedback-heading h2 {font-size:clamp(36px,4.4vw,60px);line-height:1.12}
.feedback-layout {grid-template-columns:minmax(0,1.4fr) minmax(330px,1fr);gap:24px}
.feedback-board {min-height:535px}
.feedback-board-head strong {font-size:15px}
.feedback-board-head small,.feedback-compose-intro>small {font-size:10px;line-height:1.6}
.feedback-board-head>a {font-size:11px;padding:12px;line-height:1.4;text-align:center;flex-shrink:0}
.feedback-compose-intro p {font-size:13px;line-height:1.75}
.feedback-form legend,.feedback-form>label {font-size:12px;line-height:1.5}
.feedback-form label>small {font-size:10px}
.feedback-form input,.feedback-form textarea {font-size:14px;line-height:1.6}
.feedback-form textarea {padding-bottom:27px}
.feedback-form button {font-size:13px;min-height:48px}
.feedback-moderation {font-size:10px;line-height:1.7}
.review-counter {font-size:10px;margin-top:-30px;margin-right:12px}
.star-rating input:focus-visible+label {outline:2px solid #8deaff;outline-offset:3px;border-radius:4px}
.feedback-review-meta strong {font-size:14px}
.feedback-review-meta small {font-size:11px;line-height:1.6}
.faq-layout {grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px}
.faq-item summary {grid-template-columns:26px minmax(0,1fr) 30px;gap:15px;padding:20px 22px}
.faq-item summary>strong {font-size:17px;line-height:1.5}
.faq-item>div {padding:0 28px 24px 63px}
.faq-item summary:focus-visible {outline:2px solid #72e4fa;outline-offset:-3px;border-radius:14px}
.contact-layout {grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:52px}
body[data-page="contact"] .compact-hero {min-height:0;padding:144px 0 62px}
body[data-page="contact"] .compact-hero h1 {font-size:clamp(40px,5.6vw,74px);line-height:1.1;max-width:900px}
.contact-page {padding-top:50px}
.contact-aside h2 {font-size:clamp(29px,3vw,39px);line-height:1.2;text-wrap:balance}
.contact-form {padding:32px;gap:20px}
.contact-form .field-row {grid-template-columns:repeat(2,minmax(0,1fr))}
.contact-form label {min-width:0;font-size:12px;line-height:1.5;letter-spacing:0}
.contact-form input,.contact-form textarea,.contact-form select {font-size:15px;line-height:1.5;min-width:0}
.contact-form select {padding-right:36px;text-overflow:ellipsis}
.contact-form .form-note {font-size:12px;line-height:1.7;margin:0}
.contact-method a {overflow-wrap:anywhere}
.contact-socials a {font-size:11px}
.site-footer .footer-top {grid-template-columns:1fr 1.1fr auto;gap:32px}
.site-footer .footer-grid {grid-template-columns:.8fr 1.15fr 1.4fr .8fr;gap:32px}
.site-footer .footer-grid>div {min-width:0}
.site-footer .footer-grid a {max-width:100%;overflow-wrap:anywhere;line-height:1.8}
.site-footer .footer-bottom {gap:20px;line-height:1.8}
.legal-layout {grid-template-columns:240px minmax(0,1fr);gap:56px}
.legal-layout article h2 {line-height:1.3;font-size:25px;margin:0 0 15px}
.legal-layout article p {max-width:70ch}
body[data-page$="policy"] .compact-hero,body[data-page="terms-of-service"] .compact-hero {min-height:0;padding:144px 0 56px}
.showcase-grid {align-items:stretch}
.showcase-card {display:flex;flex-direction:column}
.showcase-card-copy {display:flex;flex-direction:column;flex:1}
.showcase-card h3 {min-height:2.5em;line-height:1.25;overflow-wrap:break-word}
.showcase-card .work-details {margin-top:auto}
.showcase-card .work-live-link {margin-top:12px;align-self:flex-start}
.showcase-card .result-view {min-height:46px}
.showcase-media {flex-shrink:0}
.work-industry {line-height:1.6}
.showcase-filters button {min-height:44px}
.result-dialog header>div {min-width:0}
.result-dialog header button {flex-shrink:0;min-width:44px;min-height:44px}
.whatsapp-float {width:52px;height:52px;padding:8px;right:18px;justify-content:center}
.whatsapp-float .wa-icon {width:32px;height:32px;flex:0 0 32px;background:transparent}
.whatsapp-float .wa-icon svg {width:28px;height:28px}
.whatsapp-float .wa-label {position:absolute;right:64px;padding:8px 12px;border:1px solid #256f51;border-radius:8px;background:#09271c;color:#c8ffe0;opacity:0;visibility:hidden;transition:opacity .2s;white-space:nowrap;pointer-events:none}
.whatsapp-float:hover .wa-label,.whatsapp-float:focus-visible .wa-label {opacity:1;visibility:visible}
.whatsapp-float:focus-visible {outline:2px solid #b2ffd1;outline-offset:4px}
@media(max-width:1100px) {
  .service-row {grid-template-columns:24px 52px minmax(0,1fr) minmax(0,.9fr);gap:18px}
  .service-row>a.service-row-cta {grid-column:3;justify-self:start}
  .service-row ul {grid-column:4;grid-row:1/span 2}
  .about-page .about-hero-media {height:520px}
  .about-page .about-hero-grid {grid-template-columns:1.1fr .9fr}
}
@media(max-width:900px) {
  .services-page .page-hero-grid,.service-detail-hero-grid {grid-template-columns:1fr;gap:36px}
  .services-page .world-visual {width:230px;margin:0 auto}
  .services-page .hero-actions {justify-content:center}
  .service-detail-mark {width:240px}
  .service-overview-grid,.service-fit-grid {grid-template-columns:1fr;gap:28px}
  .service-overview-copy {padding-left:0;border-left:0}
  .service-row {grid-template-columns:24px 52px minmax(0,1fr)}
  .service-row ul {grid-column:3;grid-row:auto}
  .service-row>a.service-row-cta {grid-column:3}
  .about-page .about-hero-grid {grid-template-columns:1fr}
  .about-page .about-hero-media {height:auto;aspect-ratio:1.35;min-height:0}
  .about-page .about-hero-media>img {position:absolute;inset:0}
  .about-page .industry-path-card h3 {min-height:0}
  .feedback-layout,.faq-layout {grid-template-columns:1fr;gap:30px}
  .feedback-compose,.faq-intro {position:static}
  .feedback-board {min-height:0}
  .contact-layout {grid-template-columns:1fr;gap:36px}
  .cta-panel {flex-direction:column;align-items:flex-start;padding:36px;gap:28px}
  .site-footer .footer-top {grid-template-columns:1fr auto}
  .site-footer .footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .legal-layout {grid-template-columns:1fr;gap:30px}
}
@media(max-width:600px) {
  .services-page .page-hero,.service-detail-hero {padding:120px 0 44px}
  .services-page .page-hero h1,.service-detail-hero h1 {font-size:clamp(36px,10vw,46px);letter-spacing:-.04em;line-height:1.12}
  .services-page .page-hero p {font-size:15px}
  .services-page .world-visual {width:190px}
  .service-detail-mark {width:200px}
  .service-detail-mark svg {width:58px;height:58px}
  .service-catalogue {padding-top:26px}
  .service-row {padding:23px;grid-template-columns:46px minmax(0,1fr);gap:15px}
  .service-row-number {grid-column:2;grid-row:1;justify-self:end;align-self:center;padding:0}
  .service-row-icon {grid-column:1;grid-row:1;width:46px;height:46px;border-radius:13px}
  .service-row>div:nth-child(3),.service-row ul,.service-row>a.service-row-cta {grid-column:1/-1}
  .service-row h2 {font-size:24px;margin:5px 0 12px}
  .service-row p {font-size:14px}
  .service-row ul {grid-template-columns:1fr;gap:7px}
  .service-row li {font-size:13px}
  .service-row>a.service-row-cta {margin-top:5px}
  .home-page .quick-services .feature-card h3 {min-height:0}
  .home-page .quick-services .feature-card p {margin-bottom:42px}
  .about-page .about-service-card {min-height:0;padding:25px}
  .about-page .about-service-card h3,.about-page .choose-card h3 {min-height:0}
  .about-page .about-hero-proof strong {font-size:23px}
  .about-page .about-hero-proof>span {font-size:10px}
  .about-page .about-media-label {left:14px;right:14px;bottom:14px;padding:12px}
  .about-page .mission-card {min-height:0;padding:28px}
  .about-page .mission-card h2 {margin-top:40px}
  .process-grid {grid-template-columns:1fr;gap:28px}
  .process-step h3 {min-height:0;margin-bottom:10px}
  .cta-panel {padding:28px 24px;gap:26px}
  .cta-panel h2 {font-size:34px}
  .cta-panel>.button {max-width:100%;white-space:normal}
  .feedback-heading h2 {font-size:36px;line-height:1.15}
  .feedback-board-head {flex-wrap:wrap;gap:14px}
  .feedback-form input,.feedback-form textarea {font-size:16px}
  .faq-item summary {padding:18px 16px;grid-template-columns:22px minmax(0,1fr) 28px;gap:10px}
  .faq-item summary>strong {font-size:15px}
  .faq-item>div {padding:0 19px 23px 48px}
  body[data-page="contact"] .compact-hero {padding:122px 0 40px}
  body[data-page="contact"] .compact-hero h1 {font-size:42px}
  .contact-page {padding-top:36px}
  .contact-form {padding:24px 20px}
  .contact-form .field-row {grid-template-columns:1fr;gap:20px}
  .contact-form input,.contact-form textarea,.contact-form select {font-size:16px}
  .contact-socials {grid-template-columns:1fr}
  .contact-socials a {font-size:12px}
  .site-footer .footer-top {grid-template-columns:1fr;gap:24px}
  .site-footer .footer-grid {gap:30px 18px}
  .site-footer .footer-bottom {font-size:10px}
  .showcase-card h3 {min-height:0}
  .result-dialog footer {flex-wrap:wrap}
  .result-dialog h2 {font-size:20px;line-height:1.3}
}
@media(max-width:420px) {
  .site-footer .footer-grid {grid-template-columns:1fr}
  .site-footer .footer-grid a,.site-footer .footer-grid span {font-size:13px}
  .about-page .about-hero h1 {font-size:44px}
  .home-page .hero .eyebrow {font-size:9px;letter-spacing:.13em;line-height:1.8}
  .eyebrow {line-height:1.7}
  .eyebrow>span {flex-shrink:0}
}
@media(prefers-reduced-motion:reduce) {
  .service-row,.showcase-card {transition:none}
  .about-page .growth-ring {animation:none}
}
