/* =========================================================
   PENTACLE Holding — intégration plaquette
   ========================================================= */
:root{
  --navy-900:#0a1633;
  --navy-800:#0f1f45;
  --navy-700:#16295a;
  --navy-600:#1e3570;
  --gold:#c9a15a;
  --gold-light:#e8c98a;
  --ink:#16213d;
  --ink-soft:#3b465f;
  --line:#e3e7ef;
  --white:#fff;
  --serif:"Cormorant Garamond", "Garamond", "Times New Roman", serif;
  --sans:"Inter", "Helvetica Neue", Arial, sans-serif;
  --container:1240px;
  --radius:10px;
}

*,*::before,*::after{box-sizing:border-box}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}
img{max-width:100%;display:block}
ul{list-style:none;margin:0;padding:0}
h1,h2,p{margin:0}

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(16px,3vw,32px)}

.gold-rule{display:block;width:44px;height:2px;background:linear-gradient(90deg,var(--gold-light),var(--gold))}

.eyebrow{font-family:var(--sans);font-size:.8rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.eyebrow--line{display:flex;align-items:center;gap:18px}
.eyebrow--line::after{content:"";width:64px;height:1px;background:var(--gold)}

/* ---------- Brand ---------- */
.brand{display:flex;align-items:center;gap:clamp(12px,2vw,22px)}
.brand__mark{width:clamp(76px,10vw,118px);aspect-ratio:1;flex:none}
.brand__name{display:flex;flex-direction:column;line-height:1}
.brand__title{font-family:var(--serif);font-weight:700;font-size:clamp(2.2rem,4.6vw,3.6rem);color:var(--white);letter-spacing:.02em}
.brand__sub{font-family:var(--sans);font-weight:600;font-size:clamp(1.3rem,2.8vw,2.1rem);letter-spacing:.14em;margin-top:.15em;
  background:linear-gradient(180deg,var(--gold-light),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}

.brand--small .brand__mark{width:56px}
.brand--small .brand__title{font-size:1.7rem}
.brand--small .brand__sub{font-size:1rem}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;color:var(--white);
  background:radial-gradient(120% 140% at 35% 10%,var(--navy-600) 0%,var(--navy-800) 55%,var(--navy-900) 100%);
  padding:clamp(36px,5vw,56px) 0 clamp(56px,7vw,80px)}
.hero__globe{position:absolute;left:0;top:0;height:100%;width:auto;max-width:none;opacity:.9;
  -webkit-mask-image:linear-gradient(90deg,#000 55%,transparent);mask-image:linear-gradient(90deg,#000 55%,transparent)}
.hero__building{position:absolute;right:0;top:0;height:100%;width:auto;max-width:none;object-fit:cover;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 22%);mask-image:linear-gradient(90deg,transparent,#000 22%)}
.hero__inner{position:relative;z-index:1;max-width:var(--container);margin-inline:auto;
  padding-inline:clamp(16px,3vw,32px) clamp(16px,24vw,300px);
  padding-left:clamp(16px,13vw,180px);
  display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.hero__baseline{font-family:var(--sans);font-size:clamp(.85rem,1.4vw,1.1rem);letter-spacing:.2em;text-transform:uppercase;
  margin-top:clamp(18px,2.5vw,30px);padding-left:clamp(0px,7vw,96px);line-height:1.6}
.hero__aside{border-left:1px solid rgba(201,161,90,.7);padding:6px 0 6px clamp(18px,2.4vw,32px);display:grid;gap:18px}
.hero__domains li{font-family:var(--serif);font-weight:500;font-size:clamp(.95rem,1.4vw,1.1rem);letter-spacing:.2em;text-transform:uppercase;line-height:1.55}
.hero__quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.3;color:#e9ecf5}
.hero__wave{position:absolute;left:0;bottom:-1px;width:100%;height:clamp(28px,4vw,56px);z-index:2}

/* ---------- Intro ---------- */
.intro{display:grid;grid-template-columns:1.1fr 1.2fr auto;gap:clamp(20px,3vw,40px);align-items:start;
  padding-top:clamp(24px,3vw,36px);padding-bottom:clamp(28px,3vw,40px)}
.intro__head{display:grid;gap:10px}
.intro__title{font-family:var(--serif);font-weight:500;font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.1;color:var(--navy-800)}
.intro__text{font-size:.98rem;line-height:1.6;color:var(--ink-soft);max-width:60ch;padding-top:26px}
.intro__values{border-left:1px solid var(--gold);padding:24px 0 4px 24px}
.intro__values li{font-family:var(--serif);font-weight:600;font-size:1rem;letter-spacing:.22em;text-transform:uppercase;color:var(--navy-700);line-height:2}

/* ---------- Filiales ---------- */
.poles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.4vw,16px);padding-bottom:clamp(32px,4vw,48px)}
.pole{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius);min-height:340px;
  display:flex;flex-direction:column;padding:22px 20px 22px;
  background:linear-gradient(160deg,#fafcfe 0%,#eef3f8 100%);box-shadow:0 1px 0 var(--line),0 8px 24px -16px rgba(15,31,69,.35)}
.pole--warm{background:linear-gradient(160deg,#fffaf5 0%,#f1f0ee 100%)}
.pole--cool{background:linear-gradient(160deg,#f8fbfe 0%,#e8f0f7 100%)}
.pole--rose{background:linear-gradient(160deg,#fff6f3 0%,#f6ecea 100%)}
.pole--dark{background:linear-gradient(160deg,var(--navy-700) 0%,var(--navy-900) 100%);color:var(--white)}

.pole__logo{height:92px;width:auto;max-width:92%;object-fit:contain;object-position:left center;margin-bottom:14px}
.pole__logo--tall{height:120px}
.pole__link{display:inline-block;align-self:flex-start;max-width:92%;border-radius:6px;margin-bottom:14px;transition:opacity .2s}
.pole__link .pole__logo{max-width:100%;margin-bottom:0}
.pole__link:hover{opacity:.82}
.pole__link:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.pole--dark .pole__logo{height:84px}

.pole__text{position:relative;z-index:2;max-width:68%;font-size:.95rem;line-height:1.45;color:var(--ink)}
.pole--dark .pole__text{color:#e6e9f2}

.pole__tagline{position:relative;z-index:2;margin-top:auto;padding-top:34px;
  font-family:var(--serif);font-weight:600;font-size:.92rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.45;color:var(--navy-700)}
.pole__tagline::before{content:"";position:absolute;top:16px;left:0;width:26px;height:2px;background:var(--gold)}
.pole--dark .pole__tagline{color:#dfe3ee}

.pole__visual{position:absolute;right:0;bottom:0;z-index:1;width:48%;height:72%;object-fit:cover;object-position:right bottom;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 38%),linear-gradient(180deg,transparent 0%,#000 22%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0%,#000 38%),linear-gradient(180deg,transparent 0%,#000 22%);mask-composite:intersect}

.pole__visual--peintalya{object-position:30% 30%}
.pole__visual--mdm-amenagement{object-position:60% 45%}
.pole__visual--clics-agency{object-position:20% 50%}

/* ---------- Vision ---------- */
.vision{position:relative;overflow:hidden;color:var(--white);
  background:linear-gradient(180deg,var(--navy-800) 0%,var(--navy-900) 100%);padding:clamp(54px,6vw,76px) 0 clamp(36px,4vw,52px)}
.vision__wave{position:absolute;top:-1px;left:0;width:100%;height:clamp(22px,3vw,44px);z-index:2}
.vision__landscape{position:absolute;right:0;top:0;width:62%;height:62%;object-fit:cover;object-position:center 40%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 25%),linear-gradient(180deg,#000 70%,transparent);
  -webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,#000 25%),linear-gradient(180deg,#000 70%,transparent);mask-composite:intersect}
.vision__inner{position:relative;z-index:1}
.vision__top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.vision__head{display:grid;gap:14px;max-width:520px}
.vision__title{font-family:var(--serif);font-weight:500;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.18;text-shadow:0 2px 18px rgba(10,22,51,.6)}
.vision__motto{border-left:1px solid var(--gold);padding:6px 0 6px 22px;margin-bottom:24px;
  font-family:var(--serif);font-weight:600;font-size:1.05rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);line-height:1.6}
.vision__motto .gold-rule{margin-top:14px;width:32px}

.vision__bottom{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;margin-top:clamp(40px,5vw,64px)}
.pillars{display:grid;grid-template-columns:repeat(4,1fr)}
.pillar{display:grid;gap:14px;align-content:start;padding:4px clamp(12px,2vw,28px)}
.pillar + .pillar{border-left:1px solid rgba(201,161,90,.45)}
.pillar:first-child{padding-left:0}
.pillar svg{width:44px;height:44px}
.pillar span{font-size:.74rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;line-height:1.7;color:#dfe3ee}
.signature{border-left:1px solid rgba(201,161,90,.45);padding-left:clamp(20px,3vw,48px);display:grid;gap:12px}
.signature p{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.7;color:#dfe3ee}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .hero__inner{padding-left:clamp(16px,8vw,120px);padding-right:clamp(16px,20vw,220px)}
  .intro{grid-template-columns:1fr 1fr}
  .intro__values{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px 28px;border-left:0;border-top:1px solid var(--gold);padding:14px 0 0}
  .intro__values li{line-height:1.4}
}

@media (max-width:980px){
  .poles{grid-template-columns:repeat(2,1fr)}
  .vision__bottom{grid-template-columns:1fr}
  .signature{border-left:0;border-top:1px solid rgba(201,161,90,.45);padding:24px 0 0}
  .vision__landscape{width:80%}
}

@media (max-width:780px){
  .hero__building{display:none}
  .hero__globe{opacity:.45}
  .hero__inner{grid-template-columns:1fr;padding-inline:clamp(16px,5vw,32px)}
  .hero__baseline{padding-left:0}
  .intro{grid-template-columns:1fr}
  .intro__text{padding-top:0}
  .vision__top{flex-direction:column;align-items:flex-start}
  .vision__landscape{width:100%;height:48%;opacity:.7;
    -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
  .vision__head{padding-top:clamp(90px,24vw,160px)}
  .vision__motto{margin-bottom:0}
  .pillars{grid-template-columns:repeat(2,1fr);row-gap:28px}
  .pillar:nth-child(3){border-left:0;padding-left:0}
}

@media (max-width:620px){
  .poles{grid-template-columns:1fr}
  .pole{min-height:320px}
  .pole__visual{width:46%}
}

@media (max-width:380px){
  .pole__text{max-width:72%;font-size:.9rem}
  .pillars{grid-template-columns:1fr}
  .pillar + .pillar{border-left:0;padding-left:0}
  .pillar:first-child{padding-left:0}
}
