.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.about-media{position:relative;padding-bottom:4rem}
.about-img-main{overflow:hidden;border-radius:var(--radius)}
.about-img-main img{aspect-ratio:4/3.4;width:100%;object-fit:cover}
.about-img-small{position:absolute;right:-6%;bottom:0;width:46%;border:8px solid var(--paper);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg,0 30px 60px -20px rgba(18,16,14,.35))}
.about-img-small img{aspect-ratio:1;width:100%;object-fit:cover}
.about-badge{position:absolute;left:-1rem;top:1.5rem;background:var(--gold);color:var(--ink);padding:1rem 1.2rem;border-radius:var(--radius);display:flex;gap:.7rem;align-items:center;box-shadow:0 16px 34px -12px rgba(163,127,66,.6)}
.about-badge strong{font-family:var(--serif);font-size:2rem;line-height:1}
.about-badge span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;line-height:1.3}
.about-copy .section-title{margin-bottom:1.4rem}
.about-copy p{margin-bottom:1.2rem}
.about-points li{padding-left:1.9rem;position:relative;margin-bottom:1rem}
.about-points strong{color:var(--ink)}
.about-points li::before{content:"";position:absolute;left:0;top:.55em;width:14px;height:14px;border:1.5px solid var(--gold);border-radius:50%}
.about-points li::after{content:"";position:absolute;left:4px;top:.72em;width:6px;height:3.5px;border-left:1.5px solid var(--gold-deep);border-bottom:1.5px solid var(--gold-deep);transform:rotate(-45deg)}
.about-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}

.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.service-group{margin-bottom:clamp(2.2rem,4vw,3.2rem)}
.service-group:last-of-type{margin-bottom:0}
.service-group-title{display:flex;align-items:center;gap:1rem;font-size:1.25rem;margin-bottom:1.4rem;color:var(--ink)}
.service-group-title span{font-family:var(--sans);font-size:.75rem;font-weight:800;color:var(--gold-deep);letter-spacing:.15em;border:1.5px solid var(--gold);border-radius:50%;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.service-group-title::after{content:"";height:1px;background:var(--line);flex:1}
.service-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem 1.5rem;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.service-card:hover{transform:translateY(-6px);box-shadow:0 24px 44px -18px rgba(18,16,14,.22);border-color:rgba(193,154,91,.55)}
.service-icon{width:34px;height:34px;fill:none;stroke:var(--gold-deep);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:1.1rem;transition:stroke .3s}
.service-card h4{font-size:1.12rem;margin-bottom:.55rem}
.service-card p{font-size:.92rem;line-height:1.65}

.section-dark{background:radial-gradient(1200px 600px at 85% -10%,rgba(193,154,91,.09),transparent 60%),var(--ink)}
.section-dark .section-title{color:var(--paper)}

.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.why-card{border:1px solid var(--line-light);border-radius:var(--radius);padding:2rem 1.7rem;background:linear-gradient(160deg,rgba(247,244,239,.04),transparent);transition:border-color .35s,transform .35s,background .35s}
.why-card:hover{border-color:rgba(193,154,91,.5);transform:translateY(-5px);background:rgba(193,154,91,.06)}
.why-num{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--gold);letter-spacing:.05em;display:block;margin-bottom:1rem}
.why-card h3{color:var(--paper);font-size:1.2rem;margin-bottom:.6rem}
.why-card p{font-size:.93rem;color:var(--text-light,#cfc9bf)}

.process-list{max-width:820px;margin-inline:auto;counter-reset:none}
.process-step{display:flex;gap:clamp(1.2rem,3vw,2.2rem);padding-block:1.9rem;border-top:1px solid var(--line);position:relative}
.process-step:last-child{border-bottom:1px solid var(--line)}
.process-step-num{font-family:var(--serif);font-style:italic;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--gold);flex-shrink:0;min-width:74px}
.process-step h3{font-size:1.35rem;margin-bottom:.4rem;padding-top:.3rem}
.process-step p{max-width:56ch}

.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.project-card{position:relative;border-radius:var(--radius);overflow:hidden;min-height:420px;display:flex;align-items:flex-end}
.project-card.wide{grid-column:span 2;min-height:480px}
.project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}
.project-card:hover img{transform:scale(1.06)}
.project-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,12,10,0) 30%,rgba(14,12,10,.88) 100%)}
.project-info{position:relative;z-index:2;padding:1.8rem;color:var(--paper)}
.project-meta{font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.project-info h3{color:var(--paper);font-size:1.55rem;margin-bottom:.4rem}
.project-info p:last-child{font-size:.93rem;color:rgba(247,244,239,.82);max-width:52ch}
#projects .center{margin-top:2.6rem}

.solutions-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;align-items:stretch}
.solution-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.8rem,3.5vw,2.8rem);display:flex;flex-direction:column}
.solution-card > p{margin-bottom:1.2rem}
.solution-card h3{font-size:clamp(1.5rem,2.4vw,1.9rem);margin-bottom:.7rem}
.solution-card-dark{background:var(--ink);border-color:var(--ink)}
.solution-card-dark h3{color:var(--paper)}
.solution-card-dark > p{color:var(--text-light,#cfc9bf)}
.checklist li{padding-left:2rem;position:relative;margin-bottom:.75rem;font-size:.97rem}
.checklist li::before{content:"✓";position:absolute;left:0;top:0;color:var(--gold-deep);font-weight:800}
.checklist-light li{color:rgba(247,244,239,.85)}
.checklist-light li::before{color:var(--gold)}
.solution-btn{margin-top:auto;align-self:flex-start;padding-inline:2rem}

.filter-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-bottom:2.4rem}
.filter-btn{padding:.55rem 1.4rem;border:1.5px solid var(--line);border-radius:100px;font-weight:700;font-size:.86rem;color:var(--text);transition:all .3s ease;background:var(--white)}
.filter-btn:hover{border-color:var(--gold-deep);color:var(--gold-deep)}
.filter-btn.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.gallery-item{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;background:var(--sand)}
.gallery-item.hidden{display:none}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.6,.2,1),filter .5s}
.gallery-item:hover img{transform:scale(1.07)}
.gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.2rem 1.2rem .9rem;font-family:var(--serif);color:var(--paper);font-size:1.02rem;background:linear-gradient(180deg,transparent,rgba(14,12,10,.78));opacity:0;transform:translateY(8px);transition:all .45s ease}
.gallery-item:hover figcaption{opacity:1;transform:translateY(0)}
