/* Logo & Brand Identity page: page-specific styling */
.brand-page { color:#172733; overflow:hidden; }
.brand-wrap { width:80%; max-width:1200px; margin:0 auto; }
.brand-hero { 
    width:100%;min-height:38rem; 
    display:flex; align-items:center; 
    background:linear-gradient(90deg,rgba(3,24,43,.88),rgba(3,24,43,.28)),url('../images/site/banner/logo-stationary-branding.png') center/cover; 
}
.brand-hero-content { width:80%; max-width:1200px; margin:auto; color:#fff; }
.brand-hero h2,.eyebrow { color:#a85cff; font-size:.85rem; font-weight:600; letter-spacing:.18rem; text-transform:uppercase; }
.brand-hero h2 { color:#ffe54a; margin:0 0 1.5rem; }
.brand-hero h1 { max-width:760px; margin:0; font-size:clamp(3.1rem,7vw,6.5rem); font-weight:700; line-height:.98; letter-spacing:-.05em; }
.brand-hero p { font-size:1.3rem; margin:2rem 0; color:#e1e6eb; }
.brand-introduction { width:70%; margin:6rem 15%; display:flex; flex-flow:row; }
.brand-introduction .main-content-image-left { width:100%; height:auto; margin:2rem 0; }
.logo-gallery { padding:7rem 0 0 0; background:#f4f5f7; }
.logo-gallery-heading { margin-bottom:2.5rem; }
.logo-gallery-heading h2 { max-width:700px; margin:.5rem 0 0; font-size:clamp(2.2rem,4vw,4rem); font-weight:600; line-height:1.05; letter-spacing:-.05em; color:#172733; }
.logo-gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:clamp(12rem,18vw,17rem); }
.logo-gallery-item { min-width:0; margin:0; overflow:hidden; background:#fff; }
.logo-gallery-item img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.logo-gallery-item:hover img { transform:scale(1.04); }
.concept-copy h2,.section-heading h2,.why-copy h2 { margin:0 0 1.7rem; font-size:clamp(2rem,4vw,3.7rem); font-weight:600; line-height:1.08; letter-spacing:-.04em; color:#172733; }.concept-copy>p,.section-heading>p,.process-lead { max-width:720px; color:#69717c; font-size:1.08rem; line-height:1.65; }
.brand-projects { background:#172733; padding:6rem 0 7rem; color:#fff; }.projects-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:2.5rem; }.projects-heading h2 { margin:.4rem 0 0; font-size:clamp(2.3rem,5vw,4.5rem); font-weight:600; line-height:1; letter-spacing:-.05em; }.projects-heading>p { max-width:260px; color:#b7c0ca; line-height:1.5; }.project-track { display:flex; width:max-content; gap:1.5rem; animation:brand-scroll 34s linear infinite; }.project-card { width:320px; height:390px; padding:1.5rem; display:flex; align-items:end; border-radius:.8rem; background-size:cover; background-position:center; }.project-card>div { width:100%; padding:1rem; background:rgba(2,17,29,.75); border-radius:.5rem; }.project-card span { color:#ffe54a; font-size:.75rem; letter-spacing:.1rem; text-transform:uppercase; }.project-card h3 { margin:.5rem 0 0; font-size:1.5rem; }.project-card-one { background-image:linear-gradient(130deg,#e052ce,#2d65fb); }.project-card-two { background-image:linear-gradient(130deg,rgba(3,24,43,.2),rgba(3,24,43,.5)),url('../images/site/inner-pages/solution/digital-product-design-concept.jpg'); }.project-card-three { background-image:linear-gradient(130deg,#ffcf4a,#e052ce); }.project-card-four { background-image:linear-gradient(130deg,rgba(45,101,251,.3),rgba(3,24,43,.7)),url('../images/site/inner-pages/solution/digital-product-design.png'); }
@keyframes brand-scroll { from{transform:translateX(0)} to{transform:translateX(-42%)} }
.concept-section { display:grid; grid-template-columns:48% 45%; gap:7%; align-items:center; padding:8rem 0; }.concept-visual { background:#f3f5f7; border-radius:1rem; overflow:hidden; }.concept-visual img,.why-image img { display:block; width:100%; height:100%; object-fit:cover; }.concept-copy .eyebrow,.section-heading .eyebrow { margin-bottom:1rem; }.concept-points { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2.5rem; }.concept-points div { border-top:2px solid #2d65fb; padding-top:1rem; }.concept-points strong,.concept-points span { display:block; }.concept-points strong { font-size:1.15rem; }.concept-points span { margin-top:.5rem; color:#69717c; font-size:.85rem; line-height:1.4; }
.process-section { padding:6rem 0; background:#f4f5f7; }.process-section h2 { margin:.5rem 0 1rem; font-size:clamp(2.2rem,4vw,4rem); font-weight:600; line-height:1.05; letter-spacing:-.05em; }.process-lead { margin-bottom:3rem; }.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }.process-grid>div { padding:1.5rem 1.2rem; border-top:1px solid #b8c1ca; }.process-grid b,.kit-steps b,.package-number { color:#9035ea; font-size:.9rem; font-weight:600; }.process-grid h3 { margin:2.5rem 0 .7rem; font-size:1.25rem; }.process-grid p { color:#69717c; line-height:1.5; font-size:.95rem; }
.packages-section { padding:8rem 0; }.section-heading { margin-bottom:3rem; }.package-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }.package-grid article { padding:2rem; border:1px solid #dbe0e5; border-radius:.7rem; }.package-grid .package-featured { background:#172733; color:#fff; border-color:#172733; transform:translateY(-1rem); }.package-grid h3 { margin:2rem 0 .6rem; font-size:1.6rem; }.package-grid article>p { color:#69717c; min-height:2.8rem; }.package-featured article>p,.package-featured p { color:#b7c0ca; }.package-grid ul { min-height:155px; margin:1.5rem 0; padding-top:1.2rem; border-top:1px dotted #a9b1b9; }.package-grid li { margin:.75rem 0; color:#69717c; font-size:.92rem; }.package-featured li { color:#d8dee5; }.package-grid li:before { content:'✓'; color:#2d65fb; margin-right:.6rem; }.package-grid a { color:#2d65fb; font-weight:600; }.package-featured a { color:#ffe54a; }
.brand-kit-section { padding:7rem 0; background:#f4f5f7; }.kit-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin:4rem 0 5rem; }.kit-steps>div { padding:1.5rem; background:#fff; border-radius:.7rem; }.kit-steps h3 { margin:2.5rem 0 .7rem; }.kit-steps p { color:#69717c; line-height:1.5; }.kit-packages h3 { font-size:1.5rem; }.kit-package-list { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #cdd3da; }.kit-package-list div { padding:1.5rem 1rem 0 0; }.kit-package-list strong,.kit-package-list span { display:block; }.kit-package-list span { color:#69717c; margin-top:.6rem; line-height:1.45; }
.why-brand { display:grid; grid-template-columns:45% 48%; gap:7%; align-items:center; padding:8rem 0; }.why-image { height:520px; border-radius:1rem; overflow:hidden; }.why-copy ul { margin-top:2.5rem; }.why-copy li { display:grid; grid-template-columns:42% 58%; gap:1rem; padding:1.15rem 0; border-top:1px dotted #c5cbd1; }.why-copy li strong { font-size:1rem; }.why-copy li span { color:#69717c; line-height:1.45; font-size:.92rem; }
.faq-section { padding:2rem 0 7rem; display:grid; grid-template-columns:40% 52%; gap:8%; }.faq-section .section-heading h2 { font-size:3.2rem; }.faq-list details { border-top:1px solid #d7dce1; padding:1.3rem 0; }.faq-list details:last-child { border-bottom:1px solid #d7dce1; }.faq-list summary { cursor:pointer; list-style:none; font-size:1.05rem; font-weight:600; padding-right:2rem; position:relative; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary:after { content:'+'; position:absolute; right:0; color:#2d65fb; font-size:1.4rem; }.faq-list details[open] summary:after { content:'−'; }.faq-list details p { color:#69717c; line-height:1.6; max-width:600px; }
@media (max-width:768px){.brand-wrap,.brand-hero-content{width:90%;}.brand-introduction{width:90%;margin:4rem 5% 0;}.brand-introduction,.concept-section,.why-brand,.faq-section{display:block;padding:5rem 0;}.brand-introduction .content-col-v1-left,.brand-introduction .content-col-v1-right{width:100%;padding-left:0;margin-right:0;}.projects-heading{display:block}.projects-heading>p{margin-top:1rem}.project-card{width:270px;height:330px}.process-grid,.package-grid,.kit-steps,.kit-package-list{grid-template-columns:1fr 1fr}.package-grid .package-featured{transform:none}.why-image{height:360px;margin-bottom:3rem}.faq-section .section-heading{margin-bottom:3rem}.concept-points{margin-bottom:2rem}}
@media (max-width:768px){.logo-gallery{padding:5rem 0 6rem;}.logo-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(11rem,34vw,15rem);}}
@media (max-width:480px){.brand-hero{min-height:560px}.brand-hero h1{font-size:3.4rem}.brand-hero p{font-size:1rem}.concept-copy h2,.section-heading h2,.why-copy h2{font-size:2.35rem}.process-grid,.package-grid,.kit-steps,.kit-package-list{grid-template-columns:1fr}.concept-points{grid-template-columns:1fr}.package-grid article{padding:1.5rem}.package-grid ul{min-height:0}.why-copy li{display:block}.why-copy li span{display:block;margin-top:.4rem}.faq-section .section-heading h2{font-size:2.4rem}}

/* Refinements: use the existing Ansysoft type rhythm and visual language. */
.brand-page p { font-family:inherit; }
.brand-page .eyebrow { font-family:inherit; font-weight:500; }
.brand-hero h2.section-small-subtitle { color:#ffe54a; }
.concept-points { grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.concept-point { min-height:150px; padding:1.25rem; border-radius:1rem; background:#f4f5f7; border:1px solid transparent; position:relative; overflow:hidden; transition:transform .3s ease,box-shadow .3s ease; }
.concept-point:after { content:""; width:5rem; height:5rem; position:absolute; right:-1.4rem; bottom:-1.8rem; border-radius:50%; opacity:.18; }
.concept-point:hover { transform:translateY(-.5rem); box-shadow:0 .8rem 1.8rem rgba(23,39,51,.12); }
.concept-point i { width:3.1rem; height:3.1rem; display:flex; align-items:center; justify-content:center; margin-bottom:1.1rem; border-radius:50%; font-style:normal; font-size:2rem; color:#fff; background:#f7b04b; }
.concept-point strong,.concept-point span { display:block; }
.concept-point strong { font-size:1.15rem; color:#172733; }
.concept-point span { margin-top:.4rem; color:#69717c; font-size:.82rem; line-height:1.4; }
.concept-memorable { border-color:#e052ce; }.concept-memorable i { background:#e052ce; }.concept-memorable:after { background:#e052ce; }
.concept-adaptable { border-color:#2d65fb; }.concept-adaptable i { background:#2d65fb; }.concept-adaptable:after { background:#2d65fb; }

/* Logo process: the same soft gradient treatment used by the home-page stats section. */
.process-section { background:linear-gradient(90deg,rgba(241,237,254,1) 0%,rgba(250,243,254,1) 39%,rgba(234,244,254,1) 100%); padding:6rem 0 7rem; }
.process-showcase { margin:3rem 0 4rem; }
.process-art { padding:1rem; border-radius:1rem; background:#fff; box-shadow:0 1rem 2rem rgba(45,101,251,.1); overflow:hidden; }
.process-art img { width:100%; height:auto; display:block; }
.process-art-note { padding:2rem 0; }.process-art-note span { display:block; color:#6934ab; font-size:.85rem; text-transform:uppercase; letter-spacing:.16rem; }.process-art-note strong { display:block; margin-top:1rem; color:#172733; font-size:2.4rem; font-weight:400; line-height:1.1; }
.process-grid>div { border-top-color:#b7a8d8; }

@media (max-width:768px){.process-showcase{grid-template-columns:1fr;}.process-art-note{padding:0 0 1rem;}.concept-points{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.concept-points{grid-template-columns:1fr;}.process-art-note strong{font-size:2rem;}}

/* Banner sizing and type match the existing mobile-app inner-page banner. */
.brand-hero { aspect-ratio:1/.455; min-height:0; }
.brand-hero-content { width:84%; margin-left:8%; padding-top:7%; box-sizing:border-box; }
.brand-hero h2 { font:600 1rem "Kumbh Sans", "Josefin Sans", "DM Sans", sans-serif; margin-bottom:1rem; padding-bottom:.5rem; }
.brand-hero h1 { font:500 4.5rem/1.12 "Kumbh Sans", "Josefin Sans", "DM Sans", sans-serif; width:100%; max-width:none; letter-spacing:0; }
.brand-hero p { font-size:1.05rem; margin:1.5rem 0 0; }
@media (max-width:82rem){.brand-hero h1{font-size:3.7rem;}}
@media (max-width:64rem){.brand-hero{aspect-ratio:auto;min-height:36rem;}.brand-hero-content{width:88%;margin-left:6%;padding-top:8%;}}
@media (max-width:48rem){.brand-hero-content{width:86%;margin-left:7%;padding-top:7rem;}.brand-hero h1{font-size:3rem;}}
@media (max-width:30rem){.brand-hero{min-height:30rem;}.brand-hero-content{padding-top:6.5rem;}.brand-hero h2{font-size:.8rem;letter-spacing:.15rem;}.brand-hero h1{font-size:2.2rem;line-height:1.18;}}
