/* Public pages (P1 Home … P6 About). IDs in docs/COMPONENT-INDEX.md */
/* ---- P1 HOME ---------------------------------------------------------- */
.hm-main{height:85vh;min-height:520px;display:flex;flex-direction:column}
.hm-hero{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:60fr 40fr}
.hm-slider{position:relative;background:var(--azy);overflow:hidden;min-height:60vh}
.hm-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s;background:var(--azy) center/cover no-repeat;display:flex;align-items:center}
.hm-slide.is-on{opacity:1;visibility:visible}
.hm-slide::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,37,52,.88),rgba(22,37,52,.35))}
.hm-slide__t{position:relative;padding:0 8% 0 9%;max-width:70%}
.hm-slide__t h2{font:800 clamp(1.8rem,2.8vw,2.5rem)/1.1 var(--f1);color:var(--wht)}
.hm-slide__t p{font:400 .85rem/1.6 var(--f2);color:var(--wht);margin:.8rem 0 0}
.hm-slide__t a{position:absolute;inset:0}
.hm-dots{position:absolute;left:2.2%;bottom:6%;display:flex;flex-direction:column;gap:8px;z-index:3}
.hm-dots button{width:3px;height:26px;border:0;background:rgba(255,255,255,.35);padding:0;transition:background .3s,height .3s}
.hm-dots button.is-on{background:var(--ace);height:38px}
.hm-arr{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);border-radius:50%;color:var(--wht);opacity:0;transition:opacity .3s,transform .3s;padding:1rem}
.hm-slider:hover .hm-arr{opacity:.9}
.hm-arr--l{left:.8%}.hm-arr--r{right:.8%}
.hm-arr:hover{transform:translateY(-50%) scale(1.15)}
.hm-find{background:var(--pwh);display:flex;flex-direction:column;justify-content:space-between;position:relative}
.hm-find__g1{margin:auto 0;padding:0 17.5%;display:flex;flex-direction:column;gap:.9rem}
.hm-find .k{font:400 .9rem var(--f2);letter-spacing:.08em;text-transform:uppercase;color:var(--ame)}
.hm-find h1{font:600 1.9rem/1.15 var(--f1)}.hm-find h1 span{color:var(--ace);display:block}
.hm-find .d{font:600 .75rem/1.5 var(--f1);color:var(--ame)}
.hm-s2{display:flex;border-radius:var(--b2);overflow:hidden;background:var(--neu)}
.hm-s2 input{flex:1;min-width:0;border:0;background:var(--neu);padding:.7rem .9rem;font:400 .82rem var(--f2);color:var(--pri)}
.hm-s2 input::placeholder{color:var(--ame)}.hm-s2 input:focus{outline:none;background:var(--wht)}
.hm-s2 button{border:0;background:var(--ace);color:var(--aos);font:600 .75rem var(--f1);text-transform:uppercase;letter-spacing:.06em;padding:0 1.1rem}
.hm-s2 button:hover{background:#c5d08c}
.hm-tip{font:400 .72rem var(--f1);color:var(--ame);margin-top:-.4rem}
.hm-rq{align-self:flex-start;margin-top:.4rem;padding:.55rem 1.1rem;border:1px solid var(--aos);border-radius:var(--b2);background:transparent;color:var(--aos);font:400 .8rem var(--f1);text-transform:uppercase;display:inline-flex;gap:.5rem;align-items:center;transition:.25s}
.hm-rq:hover{background:var(--aos);color:var(--wht)}
.hm-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--bln);height:10%;min-height:86px}
.hm-stats>div{border-left:1px solid var(--bln);display:flex;flex-direction:column;align-items:center;justify-content:center}
.hm-stats>div:first-child{border-left:0}
.num{font:800 1.65rem/1 var(--f1);color:var(--aos)}.num i{font-style:normal;color:var(--ace)}
.hm-stats small{font:300 .88rem var(--f2);color:var(--sec);text-align:center}
@media(max-width:900px){.hm-hero{grid-template-columns:1fr}.hm-find__g1{padding:2rem 1.5rem}.hm-slider{min-height:55vh}.hm-slide__t{max-width:100%;padding:0 12% 0 8%}.hm-main{min-height:0;height:auto}}
/* P1.2 / P1.3 */
.hm-about{position:relative}
.hm-prod{border-left:.5vw solid var(--sec);padding:10vh 0 15vh}
.hm-prod .t{width:min(80vw,1500px);margin:0 auto 7vh}
.hm-prod .t h2{font:800 3rem/1 var(--f1)}
.hm-prod .t .s{font:800 1.1rem var(--f1);letter-spacing:.08em;text-transform:uppercase;color:var(--aos);margin-top:.5rem}
.hm-prod .g{width:min(80vw,1500px);margin:0 auto}
@media(max-width:900px){.hm-prod .t,.hm-prod .g{width:calc(100% - 32px)}}
/* ---- P2 counters ------------------------------------------------------ */
.pr-cnt{display:grid;grid-template-columns:repeat(4,1fr);background:var(--neu)}
.pr-cnt>div{border:1px solid var(--bln);padding:2.4rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.3rem}
.pr-cnt .num{font-size:3rem}.pr-cnt small{font:300 1.15rem var(--f2);color:var(--sec)}
@media(max-width:700px){.pr-cnt{grid-template-columns:1fr 1fr}.pr-cnt .num{font-size:2.2rem}}
.pr-cat{padding:15vh 0}.pr-cat .g{width:min(80vw,1500px);margin:7vh auto 0}
.pr-par{padding:15vh 0}.pr-par__in{width:min(70vw,1400px);margin:0 auto;display:grid;grid-template-columns:4fr 6fr;gap:3rem;align-items:start}
.pr-par .sub{font:500 .85rem var(--f2);letter-spacing:.1em;text-transform:uppercase;color:var(--aos)}
.pr-par h2{font:800 3rem/1.05 var(--f1);margin:.6rem 0 1.2rem}
.pr-par hr{border:0;height:.5rem;width:40%;background:var(--ace);margin:0 0 1.4rem}
.pr-par p{font:400 .95rem/1.75 var(--f2);color:var(--aos)}
.pr-cards{display:grid;grid-template-columns:1fr 1fr;gap:1%}
.pr-card{background:var(--pwh);border-radius:var(--b1);padding:1.6rem;display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s;border:1px solid var(--bln)}
.pr-card::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--ace);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.pr-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.1)}.pr-card:hover::before{transform:scaleX(1)}
.pr-card .lg{display:flex;justify-content:center;align-items:center;background:var(--wht);border-radius:var(--b2);padding:1rem;min-height:80px}.pr-card .lg img{width:85%;height:auto;max-height:70px;object-fit:contain}
.pr-card h4{font:600 .85rem var(--f3);letter-spacing:.08em;text-transform:uppercase;color:var(--aos)}
.pr-card p{font:400 .82rem/1.7 var(--f2);color:var(--aos);margin:0;padding-right:2.4rem}
.pr-card .ic{position:absolute;right:1.1rem;bottom:1.1rem;color:var(--aos);opacity:.7}
@media(max-width:900px){.pr-par__in{grid-template-columns:1fr;width:calc(100% - 32px)}.pr-cards{grid-template-columns:1fr}.pr-cat .g{width:calc(100% - 32px)}}
/* ---- P3 services ------------------------------------------------------ */
.sv-proc{padding:15vh 0}.sv-proc .g{width:min(80vw,1500px);margin:7vh auto 0}
.sv-sol{padding:15vh 0 5vh}.sv-sol .g{width:min(70vw,1400px);margin:7vh auto 0}
@media(max-width:900px){.sv-proc .g,.sv-sol .g{width:calc(100% - 32px)}}
/* ---- P4 news ---------------------------------------------------------- */
.nw{padding:15vh 0}.nw__grid{width:min(80vw,1500px);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2.4rem}
.nw-card{background:var(--wht);border:1px solid var(--bln);border-radius:var(--b1);overflow:hidden;position:relative;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s}
.nw-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--ace);transform:scaleX(0);transform-origin:left;transition:transform .4s;z-index:2}
.nw-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.12)}.nw-card:hover::before{transform:scaleX(1)}
.nw-card .im{aspect-ratio:4/3;overflow:hidden;background:var(--neu)}.nw-card .im img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.nw-card:hover .im img{transform:scale(1.04)}
.nw-card .bd{padding:1.4rem 1.6rem 1.6rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.nw-card .au{font:600 .72rem var(--f4);letter-spacing:.1em;text-transform:uppercase;color:var(--aos)}
.nw-card h3{font:800 1.3rem/1.2 var(--f1)}
.nw-card p{font:400 .9rem/1.7 var(--f2);color:var(--aos);margin:0;flex:1}
.nw-card .rm{align-self:flex-start;display:inline-flex;gap:.4rem;align-items:center;font:600 .78rem var(--f2);letter-spacing:.06em;text-transform:uppercase;color:var(--pri);text-decoration:none;border-bottom:2px solid var(--ace);padding-bottom:2px}
.nw-card .rm .yg-i{transition:transform .3s}.nw-card .rm:hover .yg-i{transform:translateX(5px)}
.nw-card .stretch::after{content:'';position:absolute;inset:0;z-index:1}
.nw__pg{width:min(80vw,1500px);margin:2.4rem auto 0;display:flex;justify-content:flex-end;gap:.6rem}
.nw__empty{width:min(80vw,1500px);margin:0 auto;text-align:center;color:var(--aos)}
@media(max-width:800px){.nw__grid{grid-template-columns:1fr;width:calc(100% - 32px)}.nw__pg{width:calc(100% - 32px)}}
/* ---- P5 post ---------------------------------------------------------- */
.bpost{background:var(--pwh);padding-bottom:10vh}
.bpost__hero{background:linear-gradient(135deg,var(--azy) 0%,#1d3347 100%);color:var(--wht);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);padding:clamp(2rem,6vh,4.5rem) max(7.5vw,16px);position:relative;overflow:hidden}
.bpost__hero::before{content:'';position:absolute;right:-12%;top:-30%;width:55vw;height:55vw;border-radius:50%;background:radial-gradient(circle,rgba(211,220,161,.22),transparent 65%);pointer-events:none}
.bpost__hero.no-pic{grid-template-columns:minmax(0,860px)}
.bpost__head{position:relative;z-index:1;display:flex;flex-direction:column;gap:1.1rem;align-items:flex-start}
.bpost__back{display:inline-flex;gap:.3rem;align-items:center;font:600 .72rem var(--f4);letter-spacing:.14em;text-transform:uppercase;color:var(--acl);text-decoration:none;transition:color .2s}.bpost__back:hover{color:var(--ace)}
.bpost__kick{display:flex;align-items:center;gap:.8rem;font:600 .74rem var(--f4);letter-spacing:.14em;text-transform:uppercase;color:var(--ace)}.bpost__kick i{width:28px;height:1px;background:var(--ace);opacity:.6}.bpost__kick time{color:var(--neu);opacity:.85}
.bpost__head h1{font:800 clamp(2rem,3.6vw,3.4rem)/1.08 var(--f1);color:var(--wht);margin:0;letter-spacing:-.01em}
.bpost__deck{font:400 clamp(1.05rem,1.4vw,1.3rem)/1.55 var(--f3);color:var(--neu);opacity:.9;margin:0;max-width:60ch}
.bpost__by{display:flex;align-items:center;gap:.8rem;margin-top:.4rem;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.14);width:100%}
.bpost__by .av{width:42px;height:42px;border-radius:50%;background:var(--ace);color:var(--pri);display:grid;place-items:center;font:800 .85rem var(--f1)}
.bpost__by b{display:block;font:600 .92rem var(--f2)}.bpost__by small{font:500 .72rem var(--f4);letter-spacing:.08em;color:var(--acl);text-transform:uppercase}
.bpost__pic{position:relative;z-index:1;margin:0;aspect-ratio:4/3;border-radius:var(--b3);overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.12);background:var(--sec)}
.bpost__pic img{width:100%;height:100%;object-fit:cover;display:block}
.bpost__body{width:min(720px,calc(100% - 32px));margin:clamp(2.5rem,6vh,4.5rem) auto 0;font:400 1.08rem/1.9 var(--f2);color:var(--sec)}
.bpost__body>p:first-of-type{font:400 1.25rem/1.75 var(--f3);color:var(--pri)}
.bpost__body p{margin:0 0 1.4rem}
.bpost__body h2{font:800 1.7rem/1.2 var(--f1);color:var(--pri);margin:3rem 0 1rem;padding-top:.4rem}
.bpost__body h2::before{content:'';display:block;width:42px;height:3px;background:var(--ace);margin-bottom:.9rem;border-radius:2px}
.bpost__body h3{font:700 1.25rem/1.3 var(--f1);color:var(--pri);margin:2.2rem 0 .7rem}
.bpost__body a{color:var(--aos);text-decoration:underline;text-decoration-color:var(--ace);text-decoration-thickness:2px;text-underline-offset:3px}.bpost__body a:hover{color:var(--pri)}
.bpost__body img{max-width:100%;height:auto;border-radius:var(--b1);display:block;margin:2rem auto}
.bpost__body figure{margin:2rem 0}.bpost__body figcaption{font:500 .78rem var(--f4);color:var(--aos);text-align:center;margin-top:.6rem;letter-spacing:.04em}
.bpost__body blockquote{margin:2.2rem 0;padding:1.2rem 1.6rem;border-left:4px solid var(--ace);background:var(--wht);border-radius:0 var(--b1) var(--b1) 0;font:italic 400 1.2rem/1.7 var(--f3);color:var(--pri)}
.bpost__body ul,.bpost__body ol{padding-left:1.4rem;margin:0 0 1.4rem}.bpost__body li{margin:.4rem 0}.bpost__body li::marker{color:var(--aos)}
.bpost__body hr{border:0;height:1px;background:var(--bln);margin:2.5rem 0}
.bpost__body table{width:100%;border-collapse:collapse;font-size:.92rem;margin:2rem 0;background:var(--wht);border-radius:var(--b1);overflow:hidden}.bpost__body th{background:var(--neu);text-align:left;font:700 .7rem var(--f4);letter-spacing:.1em;text-transform:uppercase;color:var(--aos)}.bpost__body th,.bpost__body td{padding:.7rem .9rem;border-bottom:1px solid var(--bln)}
.bpost__body pre{background:var(--azy);color:var(--neu);padding:1.1rem 1.3rem;border-radius:var(--b1);overflow:auto;font-size:.85rem;line-height:1.6;margin:1.8rem 0}.bpost__body code{background:var(--neu);padding:.1rem .35rem;border-radius:4px;font-size:.88em}.bpost__body pre code{background:none;padding:0}
.bpost__body iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:var(--b1);margin:2rem 0}
.bpost__more{width:min(1100px,calc(100% - 32px));margin:6vh auto 0;padding-top:3rem;border-top:1px solid var(--bln)}
.bpost__more h2{font:800 1.4rem var(--f1);margin:0 0 1.4rem}
.bpost__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.bpost__grid .rel{display:flex;flex-direction:column;gap:.5rem;text-decoration:none;color:var(--pri);transition:transform .3s}.bpost__grid .rel:hover{transform:translateY(-4px)}
.bpost__grid .im{aspect-ratio:4/3;border-radius:var(--b1);overflow:hidden;background:var(--neu)}.bpost__grid .im img{width:100%;height:100%;object-fit:cover}
.bpost__grid small{font:600 .68rem var(--f4);letter-spacing:.1em;text-transform:uppercase;color:var(--aos)}.bpost__grid b{font:700 1.05rem/1.3 var(--f1)}
@media(max-width:900px){.bpost__hero{grid-template-columns:1fr}.bpost__grid{grid-template-columns:1fr}}
/* ---- P6 about --------------------------------------------------------- */
.ab-gen{padding:15vh 0}.ab-gen__in{width:min(70vw,1400px);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:stretch}
.ab-gen .sub{font:400 .85rem var(--f2);letter-spacing:.1em;text-transform:uppercase;color:var(--aos)}
.ab-gen h2{font:800 3rem/1.05 var(--f1);margin:.6rem 0 1rem}
.ab-gen hr{border:0;height:.2rem;width:40%;background:var(--ace);margin:0 0 1.4rem}
.ab-gen p{font:400 .87rem/1.8 var(--f2);color:var(--pri)}
.ab-gen__img{border-radius:var(--b1);background:var(--neu) center/cover;min-height:380px}
@media(max-width:900px){.ab-gen__in{grid-template-columns:1fr;width:calc(100% - 32px)}}
.ab-his{background:var(--sec);background-image:radial-gradient(rgba(1,1,1,.59) 0%,transparent 11%);background-size:24px 24px;padding:9vh 0;min-height:50vh}
.ab-his__in{width:min(80vw,1500px);margin:0 auto}
.ab-his .sub{font:500 .85rem var(--f2);letter-spacing:.1em;text-transform:uppercase;color:var(--ace)}
.ab-his h2{font:800 3rem var(--f1);color:var(--wht);margin:.4rem 0 3rem}
.hist-wrap{overflow-x:auto;padding-bottom:1rem}
.hist{display:grid;grid-template-columns:repeat(8,minmax(150px,1fr));min-width:1250px}
.hist__i{padding-right:1vw;display:flex;flex-direction:column}
.hist__c{background:var(--pwh);border-radius:var(--b1);padding:3.5vh 1rem;flex:1}
.hist__c p{font:400 .7rem/1.6 var(--f2);color:var(--aos);margin:0}
.hist__l{position:relative;height:3rem;margin:1rem 0 .6rem;display:flex;align-items:center}
.hist__l::before{content:'';position:absolute;left:0;right:0;height:.3rem;border-radius:2px;background:linear-gradient(90deg,var(--acl),var(--aos));background-size:800% 100%;background-position:calc(var(--i)*100%/7) 0}
.hist__l b{position:absolute;right:1vw;width:16px;height:16px;border-radius:50%;background:var(--grn);box-shadow:0 0 0 5px rgba(76,175,80,.25),0 0 14px rgba(76,175,80,.5);transform:translateX(50%)}
.hist__y{font:400 .95rem var(--f1);letter-spacing:.06em;text-transform:uppercase;color:var(--ame)}
.hist__t{font:400 .9rem var(--f1);letter-spacing:.05em;text-transform:uppercase;color:var(--wht)}
.ab-crew{background:var(--wht);padding:12vh 0}.ab-crew .g{width:min(70vw,1400px);margin:7vh auto 0}
@media(max-width:900px){.ab-crew .g,.ab-his__in{width:calc(100% - 32px)}}
/* ---- /search ---------------------------------------------------------- */
.sr{padding:8vh 0 14vh;min-height:70vh}.sr__in{width:min(80vw,1100px);margin:0 auto}
.sr h1{font:800 2.2rem var(--f1);margin-bottom:1rem}
.sr__row{display:flex;border-radius:var(--b3);overflow:hidden;background:var(--wht);border:1px solid var(--bln);max-width:640px}
.sr__row input{flex:1;border:0;padding:.9rem 1.2rem;font:400 1rem var(--f2)}.sr__row input:focus{outline:none}
.sr__row .btn{border-radius:0}
.sr__chk{display:inline-flex;gap:.5rem;align-items:center;margin:.9rem 0 2rem;font:600 .78rem var(--f4);letter-spacing:.06em;text-transform:uppercase;color:var(--aos)}
.sr__count{font:600 .8rem var(--f4);letter-spacing:.08em;text-transform:uppercase;color:var(--aos)}
.sr__hint,.sr__none{color:var(--aos)}.sr__none h2{font:800 1.5rem var(--f1);margin-bottom:.6rem}
@media(max-width:900px){.sr__in{width:calc(100% - 32px)}}
/* ---- P10 / P11 / P12 -------------------------------------------------- */
.lg{padding:10vh 0 14vh}.lg__in{width:min(80vw,860px);margin:0 auto}.lg h1{font:800 2.6rem var(--f1);margin-bottom:1.6rem}
.lg__b h2{font:800 1.2rem var(--f1);margin:2rem 0 .5rem}.lg__b p{font:400 .95rem/1.8 var(--f2);color:var(--sec)}.lg__b .upd{color:var(--aos);font-size:.8rem}
.sm{list-style:none;padding:0;columns:2}.sm li{padding:.35rem 0}.sm a{color:var(--aos);font-weight:600}
@media(max-width:900px){.lg__in{width:calc(100% - 32px)}.sm{columns:1}}

/* Blog hero: the cover also fills the background, blurred under a dark overlay */
.bpost__bg{position:absolute;inset:-60px;width:calc(100% + 120px);height:calc(100% + 120px);max-width:none;object-fit:cover;filter:blur(30px) saturate(1.3);transform:scale(1.08);opacity:.95;z-index:0;pointer-events:none}
.bpost__hero:has(.bpost__bg)::before{display:none}
.bpost__hero:has(.bpost__bg)::after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(100deg,rgba(14,24,34,.90) 0%,rgba(18,31,44,.66) 48%,rgba(18,31,44,.34) 100%);pointer-events:none}

/* Search: heading, count and results share one centred column */
.sr__in{width:min(95vw,952px)}
.sr__row{max-width:none}
