/* Phoenix: dimensional surfaces, readable bilingual typography and intrinsic sizing. */
.phoenix-site{--surface-shadow:0 2px 3px #061c3d08,0 12px 28px -14px #061c3d38;--surface-edge:#dce4ee;line-height:1.7;overflow-wrap:anywhere}
.phoenix-site *,.phoenix-site *::before,.phoenix-site *::after{box-sizing:border-box}
.phoenix-site :is(main,section,article,figure,fieldset,nav,form){min-width:0}
.phoenix-site :is(h1,h2,h3,p,a,span){word-break:normal;overflow-wrap:anywhere}
.phoenix-site :is(img,video,iframe){max-width:100%}
.phoenix-site :is(input,select,textarea){min-width:0;max-width:100%}
.phoenix-site :is(button,.button,.text-link){white-space:normal;max-width:100%}
.phoenix-site :is(.p-container,.container){max-width:1280px}
.phoenix-site main :is(h1,h2,h3){text-wrap:pretty;letter-spacing:-.015em;line-height:1.38}
.phoenix-site.zip-site .zip-home h1{font-size:clamp(32px,3.8vw,52px)!important;font-weight:650!important;line-height:1.32!important;letter-spacing:-.025em!important;max-width:100%}
.phoenix-site.zip-site .zip-home :is(h2.section-title,h2.text-4xl),.phoenix-site.corporate-site .section-title h2{font-size:clamp(27px,2.6vw,38px)!important;font-weight:650!important;line-height:1.4!important;letter-spacing:-.02em!important}
.phoenix-site.corporate-site .detail-grid h1{font-size:clamp(28px,3.2vw,42px);line-height:1.4;letter-spacing:-.015em}
.phoenix-site .section-title{flex-wrap:wrap;align-items:center;gap:16px}
.phoenix-site .section-title>*{min-width:0;max-width:100%}
.phoenix-site .section-title>.text-link{white-space:normal}
.phoenix-site .zip-home>section:first-child .container{min-height:540px;padding-block:64px 88px}
.phoenix-site .zip-home>section:first-child p{font-size:clamp(16px,1.3vw,18px);line-height:1.85;max-width:62ch}
.phoenix-site :is(.corporate-cards,.revision-technology-grid,.project-reference-grid,.service-cards){align-items:stretch;gap:24px}
.phoenix-site.zip-site .revision-technology-grid,.phoenix-site.zip-site .revision-categories .corporate-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.phoenix-site.zip-site :is(.corporate-card,.product-card,.project-reference-card,.revision-technology-grid>a,.service-cards>a),.phoenix-site.zip-site .zip-home a.group:has(h3){
 position:relative;isolation:isolate;min-width:0;max-width:100%;height:auto;display:flex;flex-direction:column;align-self:stretch;
 background:linear-gradient(145deg,#fff 55%,#f6f9fd);border:1px solid var(--surface-edge);border-radius:18px;
 box-shadow:inset 0 1px 0 #fff,0 3px 0 #e7ecf3,var(--surface-shadow);overflow:hidden;
 transform:perspective(1000px) rotateX(0deg) translateY(0);translate:none;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.phoenix-site.zip-site :is(.corporate-card,.project-reference-card,.revision-technology-grid>a,.service-cards>a)::after,.phoenix-site.zip-site .zip-home a.group:has(h3)::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 1px 1px 0 #ffffffb3;pointer-events:none}
.phoenix-site.zip-site .revision-technology-grid h3{min-height:0;padding:22px 24px 0;margin:0;font-size:20px;font-weight:650;line-height:1.55}
.phoenix-site.zip-site .revision-technology-grid .technology-summary{padding:0 24px;margin:12px 0 22px!important;font-size:15px!important;line-height:1.8!important;white-space:normal}
.phoenix-site.zip-site .revision-technology-grid>a>span{padding:0 24px 24px;margin-top:auto;font-size:14px;line-height:1.6}
.phoenix-site.zip-site .technology-visual{height:auto;aspect-ratio:16/10;flex:none;position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 30%,#fff 25%,#edf2f8 100%);border-bottom:1px solid #e6ebf2;overflow:hidden;padding:20px}
.phoenix-site.zip-site .technology-visual::before{content:'';position:absolute;inset:auto 18% 8%;height:14%;border-radius:50%;background:radial-gradient(ellipse,#061c3d25,transparent 68%);transform:rotateX(45deg);z-index:0}
.phoenix-site.zip-site .technology-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:22px;background:transparent;z-index:1;filter:drop-shadow(0 8px 5px #061c3d12);transition:transform .3s ease}
.phoenix-site .technology-visual:has(img)>svg{display:none}
.phoenix-site.zip-site .corporate-card>img{height:auto;aspect-ratio:16/10;object-fit:contain;flex:none;background:linear-gradient(145deg,#fff,#eef3f9);padding:22px}
.phoenix-site.zip-site .corporate-card:is(.project,.article)>img,.phoenix-site.zip-site .zip-home a.group:has(h3)>img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;padding:0;flex:none}
.phoenix-site.zip-site .corporate-card>div,.phoenix-site.zip-site .zip-home a.group:has(h3)>div{display:flex;flex-direction:column;flex:1;gap:0;min-width:0;padding:24px}
.phoenix-site.zip-site :is(.corporate-card,.project-reference-card,.product-card) :is(h2,h3),.phoenix-site.zip-site .zip-home a.group:has(h3) h3{font-size:20px;font-weight:650;line-height:1.55;margin:0 0 12px;letter-spacing:0}
.phoenix-site.zip-site :is(.corporate-card,.product-card) p,.phoenix-site.zip-site .zip-home a.group:has(h3) p:not(:first-child){font-size:15px;line-height:1.8;white-space:normal;display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible;margin:0 0 20px}
.phoenix-site.zip-site .corporate-card .text-link,.phoenix-site.zip-site .zip-home a.group:has(h3)>div>span:last-child{margin-top:auto;padding-top:8px}
.phoenix-site.zip-site .project-reference-image{aspect-ratio:16/10}
.phoenix-site.zip-site .project-reference-copy{padding:24px}
.phoenix-site.zip-site .review-gallery-stage{border-radius:20px;border:1px solid #dce4ee;background:radial-gradient(ellipse at 50% 35%,#fff,#edf2f8);box-shadow:inset 0 2px 0 #fff,0 4px 0 #e7ecf3,0 16px 30px -20px #061c3d55}
.phoenix-site .review-gallery-stage img{filter:drop-shadow(0 8px 6px #061c3d13)}
.phoenix-site .review-gallery-controls{padding:18px 8px;gap:10px}
.phoenix-site .gallery-dots{max-width:100%}
.phoenix-site .detail-grid>*{min-width:0}
.phoenix-site .detail-info table,.phoenix-site main table{width:100%;table-layout:fixed;border-collapse:collapse}
.phoenix-site main :is(th,td){overflow-wrap:anywhere;word-break:normal;white-space:normal;padding:14px;vertical-align:top}
.phoenix-site .contact-form :is(label,.form-two){min-width:0}
.phoenix-site .contact-form label{line-height:1.7}
.phoenix-site.zip-site .contact-page .contact-company-name{white-space:normal!important;overflow-wrap:anywhere!important;font-size:clamp(18px,2vw,24px)!important;line-height:1.6!important;max-width:100%}
.phoenix-site .contact-form :is(input,select,textarea){width:100%;border-radius:8px}
.phoenix-site footer :is(a,p){overflow-wrap:anywhere}
.phoenix-site .review-gallery-stage button,.phoenix-site .review-gallery-controls>button{border-radius:9px}
@media(hover:hover) and (pointer:fine){
 .phoenix-site.zip-site :is(.corporate-card,.product-card,.project-reference-card,.revision-technology-grid>a,.service-cards>a):hover,.phoenix-site.zip-site .zip-home a.group:has(h3):hover{transform:perspective(1000px) translateY(-5px) rotateX(1.5deg);translate:none;border-color:#9bafc7;box-shadow:inset 0 1px 0 white,0 4px 0 #dbe3ee,0 22px 34px -17px #061c3d45}
 .phoenix-site.zip-site .revision-technology-grid>a:hover .technology-visual img{transform:translateY(-3px) scale(1.025)}
}
.phoenix-site main a:focus-visible{outline:3px solid #b91c28;outline-offset:4px}
@media(max-width:1000px){
 .phoenix-site.zip-site .revision-technology-grid,.phoenix-site.zip-site .revision-categories .corporate-cards,.phoenix-site .zip-home .project-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .phoenix-site .detail-grid{gap:28px}
}
@media(max-width:760px){
 .phoenix-site .p-container{width:calc(100% - 40px)}
 .phoenix-site .zip-home>section:first-child .container{min-height:0!important;padding-block:44px 100px!important}
 .phoenix-site.zip-site .zip-home h1{font-size:clamp(29px,7.5vw,38px)!important;line-height:1.4!important}
 .phoenix-site .detail-grid{grid-template-columns:minmax(0,1fr)}
 .phoenix-site .section-title>p{display:block}
 .phoenix-site .review-gallery-stage{max-height:none}
 .phoenix-site .review-gallery-stage img{max-height:100%}
 .phoenix-site main :is(th,td){padding:10px;font-size:14px}
}
@media(max-width:600px){
 .phoenix-site.zip-site .revision-technology-grid,.phoenix-site.zip-site .revision-categories .corporate-cards,.phoenix-site .zip-home .project-reference-grid,.phoenix-site .corporate-cards{grid-template-columns:minmax(0,1fr);gap:22px}
 .phoenix-site.zip-site :is(.corporate-card,.project-reference-card,.revision-technology-grid>a){border-radius:15px}
 .phoenix-site.zip-site .revision-technology-grid h3{padding:20px 20px 0;font-size:19px}
 .phoenix-site.zip-site .revision-technology-grid .technology-summary{padding-inline:20px}
 .phoenix-site.zip-site .revision-technology-grid>a>span{padding:0 20px 22px}
 .phoenix-site.zip-site .corporate-card>div,.phoenix-site.zip-site .zip-home a.group:has(h3)>div,.phoenix-site.zip-site .project-reference-copy{padding:20px}
 .phoenix-site .review-gallery-controls{gap:8px}
}
@media(prefers-reduced-motion:reduce){
 .phoenix-site.zip-site :is(.corporate-card,.product-card,.project-reference-card,.revision-technology-grid>a,.service-cards>a),.phoenix-site.zip-site .zip-home a.group:has(h3),.phoenix-site.zip-site .technology-visual img{transition:none!important;transform:none!important;translate:none!important}
}
