/* HomeMax: charcoal, ivory and brushed bronze; architectural editorial rhythm. */
:root{--bg:#121313;--panel:#1b1d1c;--text:#f5f3ee;--muted:#b8b9b3;--line:#3a3d39;--accent:#dfbe8e}
body{font-family:'Helvetica Neue',Arial,'Microsoft JhengHei','Microsoft YaHei',sans-serif}h1,h2{font-weight:400}a,button{touch-action:manipulation}.eyebrow{font-size:13px;letter-spacing:.16em}.site-header{width:100%;max-width:none;left:0;transform:none;min-height:90px;background:#121313e8;padding:18px 5%;border:0;border-bottom:1px solid #ffffff24;border-radius:0;gap:35px}.brand-name{display:block;font-size:25px;letter-spacing:.16em;line-height:1.15;white-space:nowrap}.brand-name>span{display:block;font-size:10px;letter-spacing:.28em;margin-top:7px}.brand-symbol{display:none}.button{border-radius:0;background:var(--accent);border-color:var(--accent);padding:15px 24px}.button:hover{background:#f2d6af;border-color:#f2d6af}.nav-button{font-size:14px;padding:11px 18px}.hero{height:95svh;min-height:740px;max-height:1080px}.hero>img{object-position:62% 68%}.hero-shade{background:linear-gradient(90deg,#101313ed 0%,#101313b8 37%,#1013132e 75%),linear-gradient(0deg,#101313a8,transparent 35%)}.hero-copy{text-align:left;margin:0;padding:clamp(190px,22vh,280px) 6% 125px;max-width:1180px}.hero h1{font-size:clamp(55px,6.5vw,96px);line-height:1.15;letter-spacing:-.045em;margin:0 0 32px}.hero .eyebrow{color:#e4c89e}.hero p:not(.eyebrow){max-width:560px;margin:0 0 36px;line-height:1.9;color:#e2e2da}.hero-actions{display:flex;gap:35px;align-items:center}.hero-actions .text-link{margin:0;border-color:#bbb}.hero-bottom{position:absolute;bottom:28px;left:6%;right:6%;display:flex;justify-content:space-between;gap:25px;font-size:12px;letter-spacing:.14em}.practice-strip{text-align:center;padding:27px 6%;border-bottom:1px solid var(--line);letter-spacing:.12em;font-size:14px;color:#d5c5ad;background:#191b19}.section{padding:95px max(6%,calc((100vw - 1380px)/2))}.home-about{padding-bottom:60px}.section-label{font-size:13px;color:var(--accent);margin-bottom:45px;letter-spacing:.15em}.section-label span:first-child{color:var(--accent)}.split-heading{gap:10%;grid-template-columns:1.1fr 1fr}.split-heading p{font-size:17px;line-height:1.95}.split-heading h2{font-size:clamp(34px,4.2vw,62px);line-height:1.23}.home-about .split-heading{margin-bottom:0}.expertise-section{background:#1b1e1b}.expertise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.expertise-card{border-top:1px solid #7c786c;padding:24px 0 8px}.expertise-card .eyebrow{display:flex;justify-content:space-between;margin-bottom:55px;color:var(--accent)}.expertise-card h3{font-size:24px;line-height:1.35}.expertise-card p{font-size:16px;line-height:1.8;color:var(--muted)}.expertise-card:hover h3{color:var(--accent)}.project-grid.real-projects{display:block}.real-project-card{display:grid;grid-template-columns:70px 1.4fr 1fr 35px;align-items:center;gap:30px;padding:40px 0;border-top:1px solid var(--line)}.real-project-card:last-child{border-bottom:1px solid var(--line)}.real-project-card>.project-number{font-size:17px;color:var(--accent)}.real-project-card h3{font-size:clamp(24px,2.6vw,38px);margin:0 0 8px}.real-project-card p{margin:0;color:var(--muted);font-size:16px}.real-project-card .project-type{font-size:13px;color:var(--accent);letter-spacing:.08em}.real-project-card>.row-arrow{display:block}.real-project-card:hover h3{color:var(--accent)}.process-section{background:#e8e5dd;color:#202420}.process-section .section-label,.process-section .section-label span:first-child{color:#695137}.process-section .split-heading p{color:#55594f}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.process-grid article{border-top:1px solid #a7aca0;padding-top:20px}.process-grid article>span{font-size:14px;color:#735935;display:block;margin-bottom:40px}.process-grid h3{font-size:23px}.process-grid p{font-size:16px;color:#55594f}.faq-section{grid-template-columns:1fr 1.25fr}.closing>div{background:#1b1e1c}.closing>div+div{background:#30382f}.closing h2{font-size:clamp(32px,4vw,54px)}.footer-brand{font-size:38px;letter-spacing:.14em}.footer-brand span{font-size:12px;letter-spacing:.25em}.footer-main p{font-size:16px}.footer-links{padding:45px 0}.contact-methods{margin:35px 0}.contact-methods>a{display:block;border-top:1px solid var(--line);padding:22px 0;font-size:14px;color:var(--muted)}.contact-methods strong{display:block;color:var(--text);font-size:23px;font-weight:400}.contact-methods p{font-size:12px;letter-spacing:.12em;padding-top:20px}.page-intro{padding-top:170px}.page-intro h1{font-size:clamp(40px,5.5vw,76px)}.page-intro .eyebrow{color:var(--accent)}.contact-layout input,.contact-layout textarea{border-color:#828b7f}.contact-layout label{font-size:16px}.project-facts{grid-template-columns:repeat(3,1fr)}.project-facts span{font-size:14px}.project-detail-body{max-width:850px}.project-detail-body .large-copy{font-size:23px}.project-source{font-size:14px}.service-thumb{display:none}.service-row{grid-template-columns:35px 1.1fr 1fr 25px}.service-row h3{font-size:32px}.feature-image .wide{height:400px}.about-visuals{grid-template-columns:1fr}.about-visuals>figure:nth-child(2){display:none}.about-visuals .wide{height:520px}.contact-layout .button{width:100%}.page-intro p{line-height:1.9}.journal-card h3{line-height:1.4}.service-detail .portrait{height:550px}.reference-caption{font-size:12px;color:var(--muted);text-align:right;margin-top:10px}
@media(min-width:1500px){.hero-copy{padding-left:max(6%,calc((100vw - 1380px)/2))}}
@media(max-width:1050px){.site-header{gap:20px}.brand-name{font-size:21px}nav{gap:18px}.expertise-grid,.process-grid{grid-template-columns:repeat(2,1fr);gap:36px}.expertise-card .eyebrow{margin-bottom:30px}.real-project-card{grid-template-columns:40px 1.3fr 1fr 25px;gap:20px}}
@media(max-width:760px){.site-header{min-height:76px;padding:14px 5%;gap:17px}.brand-name{font-size:22px}.brand-name>span{font-size:9px}.site-header nav{top:76px;border-radius:0;background:#191d19}.nav-button{display:none}.menu-toggle{padding:2px 10px;min-width:44px}.language-switch{gap:0}.language-switch a{padding:9px 7px;min-width:30px}.hero{min-height:700px;height:90svh}.hero-copy{padding:180px 6% 100px}.hero h1{font-size:clamp(45px,8vw,64px)}.hero p:not(.eyebrow){max-width:530px}.hero-bottom{font-size:11px;letter-spacing:.08em}.hero-actions{gap:24px}.hero .eyebrow{font-size:12px;letter-spacing:.1em}.practice-strip{font-size:13px;line-height:2}.section{padding:65px 6%}.split-heading,.faq-section{grid-template-columns:1fr;gap:15px}.split-heading{margin-bottom:35px}.real-project-card{grid-template-columns:30px 1fr 25px;gap:15px;padding:30px 0}.real-project-card>p{grid-column:2;grid-row:2}.real-project-card>.row-arrow{grid-column:3;grid-row:1}.real-project-card h3{font-size:25px}.project-facts{grid-template-columns:1fr}.process-grid article>span{margin-bottom:25px}.service-row{grid-template-columns:25px 1fr 20px}.service-row p{grid-column:2}.service-row .row-arrow{grid-column:3;grid-row:1}.service-row h3{font-size:26px}.about-visuals .wide{height:400px}.page-intro{padding-top:135px}.contact-methods strong{font-size:21px}}
@media(max-width:480px){.expertise-grid,.process-grid{grid-template-columns:1fr}.hero h1{font-size:45px}.hero-copy{padding-top:170px}.hero-actions{flex-wrap:wrap;gap:20px}.hero-bottom{flex-direction:column;gap:6px}.hero{min-height:740px}.brand-name{font-size:19px}.site-header{gap:7px}.expertise-card .eyebrow{margin-bottom:20px}.expertise-card p{max-width:340px}.section-label{margin-bottom:30px}.real-project-card h3{font-size:24px}.footer-brand{font-size:31px}}

.hero-reference{margin:0;padding:9px 6%;font-size:12px;background:#121313;color:#b8b9b3}
.project-grid.real-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.real-project-card.has-image{display:flex;flex-direction:column;align-items:stretch;gap:15px;padding:0 0 25px;border:0;border-bottom:1px solid var(--line);position:relative}.has-image .project-card-image{overflow:hidden;aspect-ratio:4/3}.project-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.has-image:hover img{transform:scale(1.035)}.has-image .project-number{font-size:13px;margin-top:8px}.has-image h3{font-size:27px;line-height:1.25}.has-image>.row-arrow{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:38px;height:38px;background:#121313ce;color:white}.has-image .project-type{margin-bottom:10px}.project-gallery{padding-top:25px;padding-bottom:20px;display:grid;grid-template-columns:1fr 1fr;gap:35px}.gallery-photo:first-child{grid-column:1/-1}.gallery-photo img{width:100%;height:auto;object-fit:contain}.gallery-photo a{display:block}.project-gallery:has(.gallery-photo:only-child){max-width:1200px;margin:auto}.hero>img{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#101313e0,#10131390 48%,#10131310),linear-gradient(0deg,#101313b0,transparent 45%)}
@media(max-width:900px){.project-grid.real-projects{grid-template-columns:1fr 1fr}.has-image h3{font-size:25px}}
@media(max-width:600px){.project-grid.real-projects,.project-gallery{grid-template-columns:1fr}.gallery-photo:first-child{grid-column:auto}.project-gallery{gap:25px}.hero>img{object-position:58% center}.hero-shade{background:#101313aa}.project-card-image{aspect-ratio:4/3}}
.related-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px;margin-top:36px}
.related-service-card{display:block;min-width:0;border-bottom:1px solid var(--line)}
.related-service-photo{aspect-ratio:3/2;overflow:hidden;background:#242822}
.related-service-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.related-service-title{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:20px 0 24px}
.related-service-title h3{font-size:22px;line-height:1.4;margin:0;font-weight:400}
.related-service-title>span{color:var(--accent);font-size:23px}
.related-service-card:hover img,.related-service-card:focus-visible img{transform:scale(1.035)}
.related-service-card:hover h3{color:var(--accent)}
@media(max-width:1000px){.related-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.related-service-grid{grid-template-columns:1fr;gap:28px}.related-service-title h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.related-service-photo img{transition:none}.related-service-card:hover img,.related-service-card:focus-visible img{transform:none}}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:38px}
.portfolio-filters button{padding:12px 20px;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;border-radius:0}
.portfolio-filters button[aria-pressed="true"]{background:var(--accent);color:#151715;border-color:var(--accent)}
.real-project-card[hidden]{display:none!important}
.portfolio-gallery-section{padding-top:25px;padding-bottom:25px}
.portfolio-gallery.project-gallery{padding:0;max-width:none;margin:0;gap:26px}
.portfolio-gallery img{display:block;max-height:1100px;object-fit:contain;background:#161816}
.portfolio-gallery .gallery-photo{margin:0;min-width:0}
.portfolio-gallery .gallery-photo:first-child{grid-column:1/-1}
.portfolio-more{margin-top:32px}.portfolio-more summary{margin-bottom:25px}
.portfolio-notes{max-width:1050px;margin:auto;padding-top:30px}
.portfolio-notes p{line-height:1.9;overflow-wrap:anywhere}
.real-project-card.has-image h3{overflow-wrap:anywhere}
@media(max-width:600px){.portfolio-filters{gap:8px}.portfolio-filters button{padding:10px 12px;font-size:14px}.portfolio-gallery.project-gallery{gap:20px}}

/* Consistent type hierarchy for the services index and service details. */
main:has(>.service-section),main:has(>.service-detail){
 --service-title-size:clamp(2.25rem,1.6rem + 2.4vw,3.5rem);
 --service-section-size:clamp(1.75rem,1.4rem + 1.2vw,2.5rem);
}
main:has(>.service-section) .page-intro h1,
main:has(>.service-detail) .page-intro h1{
 font-size:var(--service-title-size);line-height:1.25;letter-spacing:-.025em;text-wrap:balance;
}
main:has(>.service-section) h2,
main:has(>.service-detail) h2{
 font-size:var(--service-section-size);line-height:1.3;letter-spacing:-.015em;
}
.service-section .section-label{font-size:.875rem;letter-spacing:.08em}
.service-section .service-row h3{font-size:1.5rem;line-height:1.4;letter-spacing:normal;overflow-wrap:break-word}
.service-section .service-row p{font-size:1rem;line-height:1.75}
.service-section .service-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 25px}
.service-detail .large-copy{font-size:1rem;line-height:1.8}
.service-detail .detail-steps h3{font-size:1.375rem;line-height:1.4}
.service-detail .detail-steps article{grid-template-columns:minmax(0,1fr)}
.service-detail .detail-steps p{grid-column:1}
.expertise-card .eyebrow{justify-content:flex-end;margin-bottom:24px}
.site-header .brand{flex-shrink:0}
.brand .brand-logo{width:210px;height:48px;object-fit:cover}
.footer-brand{display:block;align-self:start;width:290px;max-width:100%}
.footer-brand .brand-logo{width:100%;height:70px;object-fit:cover}
@media(max-width:1050px){.brand .brand-logo{width:165px;height:44px}}
@media(max-width:760px){.brand .brand-logo{width:140px;height:40px}}
@media(max-width:760px){
 .service-section .service-row{grid-template-columns:minmax(0,1fr) 20px;row-gap:12px}
 .service-section .service-row p{grid-column:1;grid-row:2}
 .service-section .service-row .row-arrow{grid-column:2;grid-row:1}
 .service-section .service-row h3{font-size:1.375rem}
}
