
:root{--ivory:#f7f6f2;--paper:#fffdfa;--navy:#07182e;--slate:#405064;--muted:#6e746f;--bronze:#a44f19;--bronze-soft:#b08d69;--line:rgba(7,24,46,.12);--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--navy);font-family:'DM Sans',Arial,sans-serif;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{width:min(1320px,calc(100% - 48px));margin:0 auto}.site-header{width:min(1420px,calc(100% - 40px));margin:18px auto 0;position:sticky;top:14px;z-index:30;display:flex;align-items:center;gap:34px;padding:14px 18px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:999px;box-shadow:0 12px 40px rgba(7,24,46,.06)}.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{width:255px;height:auto}.nav{display:flex;align-items:center;justify-content:flex-end;gap:28px;margin-left:auto;font-weight:700;font-size:14px}.nav a{white-space:nowrap}.nav a:hover{color:var(--bronze)}.nav .cta{padding:13px 19px;border-radius:999px;background:var(--navy);color:#fff}.menu{display:none;border:0;background:transparent;font:inherit;font-weight:800;color:var(--navy)}
.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800;color:#725a49;margin-bottom:24px}.eyebrow:before{content:'';width:34px;height:2px;background:var(--bronze-soft);display:block}.hero{position:relative;overflow:hidden;margin-top:24px;border-radius:38px;padding:118px 66px 70px;background:linear-gradient(90deg,rgba(247,246,242,1) 0%,rgba(247,246,242,.99) 33%,rgba(247,246,242,.92) 48%,rgba(247,246,242,.66) 60%,rgba(247,246,242,.28) 74%,rgba(247,246,242,0) 100%),url('assets/veyal-hero-architecture.jpg') 72% center/cover no-repeat;min-height:760px}.hero-inner{position:relative;z-index:2;max-width:900px}.hero h1,.page-hero h1,h2,h3{font-family:'Manrope','DM Sans',sans-serif;letter-spacing:-.055em}.hero h1{font-size:clamp(62px,7.2vw,108px);line-height:.92;margin:0 0 34px;max-width:980px}.hero-line{display:block;white-space:nowrap;word-break:keep-all;overflow-wrap:normal;hyphens:none}.hero-copy{max-width:720px;font-size:21px;color:var(--slate);margin:0 0 32px}.actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 22px;border:1px solid var(--navy);font-weight:800}.button.primary{background:var(--navy);color:#fff}.button.secondary{background:rgba(255,255,255,.52)}.proof-section{padding:30px 0 8px}.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}.proof-strip div{padding:22px 26px 22px 0}.proof-strip div+div{padding-left:26px;border-left:1px solid var(--line)}.proof-strip strong{display:block;font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:var(--bronze);margin-bottom:6px}.proof-strip span{display:block;font-size:14px;color:var(--slate);line-height:1.45}
section{scroll-margin-top:110px}.section{padding:108px 0}.section.compact{padding:82px 0}.section-head{max-width:900px;margin-bottom:52px}.section-head h2,.split h2{font-size:clamp(42px,5vw,72px);line-height:1.02;margin:0}.section-head p{max-width:760px;font-size:19px;color:var(--slate);margin:22px 0 0}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.split-copy{font-size:22px;color:var(--slate)}.split-copy p:first-child{color:var(--navy)}
.positioning{background:#fff;border:1px solid var(--line);border-radius:34px;padding:52px}.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.compare-card{border:1px solid var(--line);border-radius:26px;padding:30px;background:var(--paper);min-height:300px}.compare-card.featured{background:var(--navy);color:#fff}.compare-card .kicker{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--bronze);font-weight:800}.compare-card.featured .kicker{color:#d69b74}.compare-card h3{font-size:30px;line-height:1.05;margin:56px 0 14px}.compare-card p{color:var(--muted)}.compare-card.featured p{color:#c7d0dc}
.problem-section{background:#ece9e2;border-radius:42px;width:calc(100% - 24px);margin:0 auto}.problem-grid,.outcome-grid,.tech-grid,.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.problem-card,.outcome-card,.tech-card,.industry-card{border:1px solid var(--line);border-radius:24px;padding:28px;background:rgba(255,255,255,.62)}.problem-card span,.outcome-card span,.tech-card span,.industry-card span{display:block;color:var(--bronze);font-weight:800;font-size:12px;letter-spacing:.12em;margin-bottom:32px}.problem-card h3,.outcome-card h3,.tech-card h3,.industry-card h3{font-size:24px;line-height:1.08;margin:0 0 10px}.problem-card p,.outcome-card p,.tech-card p,.industry-card p{margin:0;color:var(--slate)}.closing-statement{font-family:'Manrope';font-size:clamp(32px,4vw,52px);line-height:1.04;letter-spacing:-.04em;margin:48px 0 0;max-width:980px}
.specialism-band{background:var(--navy);color:#fff;border-radius:42px;width:calc(100% - 24px);margin:0 auto}.specialism-band .section-head p{color:#bdc7d2}.specialism-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.specialism-card{border:1px solid rgba(255,255,255,.14);border-radius:26px;padding:30px;min-height:400px}.specialism-card:nth-child(2){background:#fff;color:var(--navy)}.specialism-card .num{color:#d69b74;font-weight:800}.specialism-card h3{font-size:46px;margin:84px 0 6px}.specialism-card p{color:#c2ccd6}.specialism-card:nth-child(2) p{color:var(--slate)}.specialism-card ul{list-style:none;padding:18px 0 0;margin:22px 0 0;border-top:1px solid rgba(255,255,255,.15)}.specialism-card:nth-child(2) ul{border-top-color:var(--line)}.specialism-card li{margin:8px 0;font-weight:700;font-size:14px}.specialism-close{margin-top:28px;font-size:24px;font-weight:800}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cap-card{border:1px solid var(--line);border-radius:28px;padding:30px;background:#fff;min-height:330px;display:flex;flex-direction:column}.cap-card .num{color:var(--bronze);font-weight:800;margin-bottom:auto}.cap-card h3{font-size:29px;line-height:1.04;margin:54px 0 12px}.cap-card p{color:var(--slate);margin:0}.cap-card a{margin-top:22px;font-weight:800;color:var(--bronze)}
.method{background:var(--navy);color:#fff;border-radius:42px;width:calc(100% - 24px);margin:0 auto}.method .section-head p{color:#c3ccd7}.method-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative}.method-grid:before{content:'';position:absolute;left:4%;right:4%;top:24px;height:2px;background:var(--bronze)}.method-item{padding:0 18px;position:relative}.method-dot{width:14px;height:14px;border-radius:50%;background:var(--bronze);margin:18px 0 54px;box-shadow:0 0 0 7px var(--navy)}.method-item h3{font-size:24px;margin:0 0 10px}.method-item p{color:#b7c1cd;font-size:15px;margin:0}
.work-section{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.work-card{border:1px solid var(--line);border-radius:28px;padding:32px;background:var(--paper)}.work-card .status{font-size:12px;color:var(--bronze);text-transform:uppercase;letter-spacing:.13em;font-weight:800}.work-card h3{font-size:31px;line-height:1.06;margin:40px 0 24px}.case-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.case-flow div{border-top:1px solid var(--line);padding-top:13px}.case-flow strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}.case-flow span{font-size:13px;color:var(--slate)}.work-note{margin-top:18px;color:var(--muted);font-size:14px}
.technology .tech-card{background:#fff}.experience-panel,.portugal-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;border:1px solid var(--line);border-radius:34px;padding:52px;background:#fff}.founder{margin-top:34px;border-top:1px solid var(--line);padding-top:24px}.founder strong{font-size:18px}.founder span{display:block;color:var(--bronze);font-weight:800;margin:4px 0 10px}.fact-list{display:grid}.fact-list div{padding:20px 0;border-bottom:1px solid var(--line)}.fact-list div:last-child{border-bottom:0}.fact-list strong{display:block;margin-bottom:5px}.fact-list p{margin:0;color:var(--slate)}
.insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.insight{padding:28px;border:1px solid var(--line);border-radius:26px;background:#fff;min-height:290px}.insight .type{font-size:12px;color:var(--bronze);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.insight h3{font-size:27px;line-height:1.06;margin:50px 0 12px}.insight p{color:var(--slate)}
.contact{background:var(--bronze);color:#fff;border-radius:42px;width:calc(100% - 24px);margin:0 auto 24px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.contact h2{font-size:clamp(48px,6vw,82px);line-height:.98;margin:0 0 22px}.contact p{font-size:19px}.contact-form{background:var(--navy);border-radius:28px;padding:30px;display:grid;gap:16px}.contact-form label{display:grid;gap:7px;font-size:13px;font-weight:800}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);border-radius:14px;color:#fff;padding:13px;font:inherit}.contact-form option{color:#07182e}.contact-form textarea{min-height:130px;resize:vertical}.contact-form .button{border-color:#fff;background:#fff;color:var(--navy);width:100%}.form-note{font-size:12px!important;color:#bdc7d2;margin:0}.form-status{font-size:13px!important;margin:0;color:#fff}
.page-hero{padding:105px 0 70px}.page-hero h1{font-size:clamp(52px,7vw,96px);line-height:.96;margin:0 0 28px;max-width:980px}.page-hero p{font-size:21px;color:var(--slate);max-width:760px}.content-section{padding:70px 0 110px}.prose{max-width:820px;font-size:19px;color:var(--slate)}.prose h2{color:var(--navy);font-size:42px;margin-top:54px}.prose strong{color:var(--navy)}
.footer{padding:38px 0 46px}.footer-inner{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;border-top:1px solid var(--line);padding-top:30px}.footer-brand img{width:210px}.legal{font-size:12px;color:var(--muted);max-width:790px;margin-top:18px}.footer-links{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;font-weight:700}
@media(max-width:1100px){.nav{gap:18px}.brand img{width:220px}.hero{padding-left:45px;padding-right:45px}.hero h1{font-size:clamp(56px,7vw,82px)}.proof-strip{grid-template-columns:repeat(2,1fr)}.proof-strip div:nth-child(3){border-left:0}.proof-strip div:nth-child(n+3){border-top:1px solid var(--line)}.compare-grid,.cap-grid,.problem-grid,.outcome-grid,.tech-grid,.industry-grid,.specialism-grid,.insights-grid{grid-template-columns:repeat(2,1fr)}.method-grid{grid-template-columns:1fr}.method-grid:before{left:25px;right:auto;top:0;bottom:0;width:2px;height:auto}.method-item{padding:0 0 32px 58px}.method-dot{position:absolute;left:18px;margin:8px 0}.work-grid,.experience-panel,.portugal-panel,.contact-grid,.split{grid-template-columns:1fr}.case-flow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.site-header{border-radius:28px;position:sticky}.nav{display:none}.nav.open{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:flex-start;padding:22px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 40px rgba(7,24,46,.12)}.menu{display:block;margin-left:auto}.hero{min-height:auto;padding:90px 34px 56px;background:linear-gradient(180deg,rgba(247,246,242,.995) 0%,rgba(247,246,242,.985) 55%,rgba(247,246,242,.82) 76%,rgba(247,246,242,.36) 100%),url('assets/veyal-hero-architecture.jpg') 68% bottom/cover no-repeat}.hero h1{font-size:clamp(46px,8.2vw,68px)}.section{padding:86px 0}.positioning{padding:34px}.compare-card h3{margin-top:38px}.contact{border-radius:30px}}
@media(max-width:620px){.shell{width:min(100% - 28px,1320px)}.site-header{width:min(100% - 24px,1420px);margin-top:10px;padding:12px 14px}.brand img{width:168px}.hero{margin-top:14px;border-radius:28px;padding:76px 22px 46px;background:linear-gradient(180deg,rgba(247,246,242,1) 0%,rgba(247,246,242,.99) 61%,rgba(247,246,242,.86) 79%,rgba(247,246,242,.45) 100%),url('assets/veyal-hero-architecture.jpg') 70% bottom/cover no-repeat}.hero h1{font-size:clamp(37px,10.5vw,51px);line-height:.97;letter-spacing:-.05em}.hero-line{white-space:normal}.hero-line:first-child,.hero-line:last-child{white-space:nowrap}.hero-copy{font-size:16.5px;line-height:1.55}.actions{display:grid}.button{width:100%}.proof-strip,.compare-grid,.cap-grid,.problem-grid,.outcome-grid,.tech-grid,.industry-grid,.specialism-grid,.insights-grid{grid-template-columns:1fr}.proof-section{padding:22px 0 0}.proof-strip div,.proof-strip div+div{padding:18px 0;border-left:0}.proof-strip div+div{border-top:1px solid var(--line)}.proof-strip div:nth-child(3){border-left:0}.proof-strip div:nth-child(n+3){border-top:1px solid var(--line)}.section{padding:72px 0}.section-head{margin-bottom:34px}.section-head h2,.split h2{font-size:clamp(34px,10vw,48px)}.section-head p{font-size:17px}.positioning{padding:24px 20px}.compare-card{min-height:0}.compare-card h3{margin-top:32px;font-size:27px}.problem-section,.specialism-band,.method,.contact{width:calc(100% - 12px);border-radius:28px}.specialism-card{min-height:320px}.specialism-card h3{margin-top:58px}.case-flow{grid-template-columns:1fr}.experience-panel,.portugal-panel{padding:28px 22px}.footer-inner{grid-template-columns:1fr}.footer-brand img{width:180px}.contact-grid{gap:38px}.contact-form{padding:24px 20px}.page-hero{padding:75px 0 50px}.page-hero h1{font-size:clamp(40px,12vw,60px)}.page-hero p{font-size:18px}}
@media(max-width:390px){.brand img{width:150px}.hero h1{font-size:34px}.hero{padding-left:18px;padding-right:18px}}

/* Premium transition between hero and main proposition */
.positioning-statement{padding:90px 0 98px;background:var(--ivory)}
.positioning-inner{max-width:1040px;margin:0 auto;text-align:center}
.eyebrow.centered{justify-content:center;margin-bottom:18px}
.eyebrow.centered:before{width:30px}
.positioning-inner h2{font-size:clamp(40px,4.6vw,66px);line-height:1.02;margin:0;color:var(--navy)}
.positioning-copy{max-width:860px;margin:24px auto 0;font-size:20px;line-height:1.62;color:var(--slate)}
.positioning-points{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:34px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}
.positioning-points i{width:4px;height:4px;border-radius:50%;background:var(--bronze);display:block;flex:0 0 auto}

@media(max-width:900px){
  .positioning-statement{padding:72px 0 80px}
  .positioning-copy{font-size:18px}
  .positioning-points{gap:14px 16px;max-width:720px;margin-left:auto;margin-right:auto}
}
@media(max-width:620px){
  .positioning-statement{padding:58px 0 66px}
  .positioning-inner h2{font-size:clamp(34px,10vw,46px)}
  .positioning-copy{font-size:17px;margin-top:20px}
  .positioning-points{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px;margin-top:28px;font-size:11px;line-height:1.35}
  .positioning-points i{display:none}
}

/* Portrait-mobile methodology title: simplify the headline and let the vertical timeline communicate the five stages. */
.method-title-mobile{display:none}
@media(max-width:620px){
  .method-title-wide{display:none}
  .method-title-mobile{display:block;max-width:100%;font-size:clamp(40px,11vw,52px);line-height:1.02;letter-spacing:-.05em;white-space:normal;overflow-wrap:normal;word-break:normal}
}


/* Veyal brand refresh — contemporary architecture hero */
.hero{
  background:
    linear-gradient(90deg,rgba(247,246,242,.995) 0%,rgba(247,246,242,.985) 37%,rgba(247,246,242,.84) 51%,rgba(247,246,242,.24) 68%,rgba(247,246,242,0) 78%),
    url('assets/veyal-hero-architecture.jpg') 86% 46%/58% auto no-repeat,
    var(--ivory);
}
.brand img{width:230px;height:auto;display:block}
.footer-brand img{width:190px;height:auto;display:block}
@media(max-width:900px){
  .hero{
    background:
      linear-gradient(180deg,rgba(247,246,242,.995) 0%,rgba(247,246,242,.985) 60%,rgba(247,246,242,.80) 78%,rgba(247,246,242,.30) 100%),
      url('assets/veyal-hero-architecture.jpg') 70% 78%/cover no-repeat;
  }
}
@media(max-width:620px){
  .brand img{width:162px}
  .hero{
    background:
      linear-gradient(180deg,rgba(247,246,242,1) 0%,rgba(247,246,242,.995) 63%,rgba(247,246,242,.85) 80%,rgba(247,246,242,.40) 100%),
      url('assets/veyal-hero-architecture.jpg') 68% bottom/cover no-repeat;
  }
}
@media(max-width:390px){.brand img{width:148px}}
