/* Consistent visual system for inner public pages only. The homepage hero is intentionally excluded. */
.public-inner-hero{isolation:isolate;min-height:420px;display:flex;align-items:center;background:linear-gradient(120deg,#fff 0%,#fff8f2 44%,#f2f4fb 100%);background-size:180% 180%;animation:innerGradient 16s ease-in-out infinite}
.public-inner-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(7,7,77,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(7,7,77,.04) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent)}
.public-inner-hero:after{content:"";position:absolute;width:330px;height:330px;right:-110px;top:-145px;border:48px solid rgba(7,7,77,.065);border-radius:50%;animation:innerFloat 12s ease-in-out infinite}
.public-inner-hero>.container{position:relative;z-index:2}.public-inner-hero h1{max-width:950px}.public-inner-hero p{max-width:760px}.hero-capability-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.hero-capability-pills span{padding:8px 12px;border:1px solid rgba(7,7,77,.1);border-radius:999px;background:rgba(255,255,255,.76);backdrop-filter:blur(8px);color:#36384e;font-size:.62rem;font-weight:750}.hero-capability-pills span:before{content:"";display:inline-block;width:5px;height:5px;margin-right:7px;border-radius:50%;background:var(--orange,#f05a00);box-shadow:0 0 9px rgba(240,90,0,.45)}
.page-type.is-typing:after{content:"";display:inline-block;width:2px;height:.78em;margin-left:5px;background:var(--orange,#f05a00);vertical-align:.02em;animation:innerCaret .7s steps(1) infinite}

/* Header action remains legible on hover and keyboard focus. */
.clessy-live .portal-pill:hover,.clessy-live .portal-pill:focus-visible{background:linear-gradient(135deg,#f05a00,#d94f00);color:#fff!important;box-shadow:0 10px 24px rgba(240,90,0,.24);outline:none;transform:translateY(-1px)}

.split-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:32px}.split-heading h2{margin:11px 0 0;color:#07074d;font-size:clamp(2rem,3.4vw,3.15rem);line-height:1.1}.split-heading>p{max-width:570px;margin:0;color:#696c7d;font-size:.8rem;line-height:1.75}
.rail-note{margin:13px 0 0;color:#8a8c98;font-size:.58rem;letter-spacing:.05em}.rail-note i{margin-right:5px;color:var(--orange,#f05a00)}

/* Professional insight rail supplied from admin-managed gallery records. */
.service-insights{padding:clamp(4rem,7vw,5.7rem) 0;background:linear-gradient(145deg,#fff 0%,#f6f7fb 52%,#fff3ea 100%);overflow:hidden}.insight-rail{overflow:hidden;padding:3px 0 20px}.insight-rail>.auto-rail-track,.about-card-rail>.auto-rail-track{display:flex;width:max-content;will-change:transform;animation:publicRail var(--rail-duration,38s) linear infinite}.auto-rail-group{display:flex;gap:18px;padding-right:18px}.insight-card{position:relative;display:grid;grid-template-columns:1.05fr .95fr;width:min(680px,82vw);height:325px;overflow:hidden;border:1px solid rgba(7,7,77,.12);border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(7,7,77,.1)}.insight-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.96);transition:transform .7s ease}.insight-card.portrait img{object-fit:contain;background:#f7f7fa}.insight-card>div{display:flex;flex-direction:column;justify-content:center;padding:28px;background:linear-gradient(145deg,#fff,#f6f6fa)}.insight-card:nth-child(3n+2)>div{background:linear-gradient(145deg,#080840,#151568);color:#fff}.insight-card:nth-child(3n+3)>div{background:linear-gradient(145deg,#fff8f2,#fff)}.insight-card small{color:var(--orange,#f05a00);font-size:.56rem;letter-spacing:.13em;font-weight:800}.insight-card h3{margin:10px 0;color:#07074d;font-size:1.05rem}.insight-card:nth-child(3n+2) h3{color:#fff}.insight-card p{margin:0;color:#6b6e7e;font-size:.7rem;line-height:1.65}.insight-card:nth-child(3n+2) p{color:#d5d6e5}.insight-card:hover img{transform:scale(1.045)}.insight-rail:hover .auto-rail-track,.insight-rail:focus-within .auto-rail-track,.about-card-rail:hover .auto-rail-track,.about-card-rail:focus-within .auto-rail-track{animation-play-state:paused}

/* Services: alternating cards always carry explicit matching text colours. */
.service-directory-section{background:linear-gradient(135deg,#fff 0%,#f8f8fb 55%,#fff5ee 100%)}.service-directory-live{gap:18px}.service-directory-live .service-detail-card{min-height:390px;border-radius:17px;background:linear-gradient(145deg,#fff,#f8f8fb);border:1px solid rgba(7,7,77,.11);box-shadow:0 15px 40px rgba(7,7,77,.07)}.service-directory-live .service-detail-card:nth-child(4n+2){background:linear-gradient(145deg,#08083e,#141466 68%,#241448);border-color:rgba(255,255,255,.12)}.service-directory-live .service-detail-card:nth-child(4n+3){background:linear-gradient(145deg,#fff5ec,#fff);border-color:rgba(240,90,0,.2)}.service-directory-live .service-detail-card:nth-child(4n+4){background:linear-gradient(145deg,#f1f3fa,#fff)}.service-directory-live .service-detail-card:nth-child(4n+2) :is(h3,a){color:#fff}.service-directory-live .service-detail-card:nth-child(4n+2) :is(p,li){color:#d6d7e6}.service-directory-live .service-detail-card:nth-child(4n+2) li{border-color:rgba(255,255,255,.11)}.service-directory-live .service-detail-card:nth-child(4n+2) .service-detail-head span{color:rgba(255,255,255,.25)}

.compact-action-ribbon{padding:24px 0;border-block:1px solid #f1d7c6;background:linear-gradient(110deg,#fff8f2,#fff 50%,#f4f5fb)}.compact-action-ribbon>.container{display:flex;align-items:center;justify-content:space-between;gap:25px}.compact-action-ribbon small,.compact-action-ribbon strong{display:block}.compact-action-ribbon small{color:var(--orange,#f05a00);font-size:.54rem;letter-spacing:.14em;font-weight:800}.compact-action-ribbon strong{margin-top:3px;color:#07074d;font-family:"Playfair Display",serif;font-size:1.25rem}.compact-action-ribbon a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:7px;background:#07074d;color:#fff;text-decoration:none;font-size:.68rem;font-weight:800}.compact-action-ribbon a:hover{background:var(--orange,#f05a00);color:#fff}

/* Portfolio */
.portfolio-method{padding:22px 0;background:linear-gradient(110deg,#070735,#11115f);color:#fff}.portfolio-method>.container{display:flex;align-items:center;justify-content:center;gap:25px}.portfolio-method div{display:flex;align-items:center;gap:10px}.portfolio-method b{color:#ff985a;font-family:"Playfair Display",serif;font-size:1.15rem}.portfolio-method span{font-size:.64rem;font-weight:700}.portfolio-method i{color:rgba(255,255,255,.3)}.portfolio-showcase{background:linear-gradient(145deg,#f6f7fb,#fff 50%,#fff4ec)}.portfolio-grid{gap:20px}.portfolio-card{overflow:hidden;border-radius:17px!important;box-shadow:0 16px 42px rgba(7,7,77,.08);background:#fff}.portfolio-card:nth-child(4n+2){background:linear-gradient(145deg,#090940,#151566);border-color:rgba(255,255,255,.12)}.portfolio-card:nth-child(4n+3){background:linear-gradient(145deg,#fff5ec,#fff)}.portfolio-image{position:relative;height:270px;overflow:hidden;background:#f2f2f6}.portfolio-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.portfolio-image>span{position:absolute;right:17px;top:15px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(7,7,77,.8);color:#fff;font-size:.6rem}.portfolio-card:hover .portfolio-image img{transform:scale(1.045)}.portfolio-card:nth-child(4n+2) h2,.portfolio-card:nth-child(4n+2) strong{color:#fff}.portfolio-card:nth-child(4n+2) p{color:#d7d8e7}

/* Team */
.team-page-hero{padding-bottom:7rem}.team-banner{margin-top:-62px}.team-banner-frame{position:relative;overflow:hidden;border-radius:18px;box-shadow:0 28px 65px rgba(7,7,77,.2)}.team-banner-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,7,30,.84),rgba(4,7,30,.15) 62%,transparent)}.team-banner-frame>img{height:min(56vw,610px);border-radius:0;box-shadow:none}.team-banner-caption{position:absolute;z-index:2;left:clamp(25px,5vw,70px);bottom:clamp(25px,5vw,65px);max-width:440px;color:#fff}.team-banner-caption small,.team-banner-caption strong,.team-banner-caption span{display:block}.team-banner-caption small{color:#ff9b61;font-size:.57rem;letter-spacing:.15em;font-weight:800}.team-banner-caption strong{margin:10px 0;font-family:"Playfair Display",serif;font-size:clamp(1.7rem,3.3vw,3rem);line-height:1.08}.team-banner-caption span{font-size:.66rem;color:#d9dbe8}.team-section{background:linear-gradient(145deg,#fff,#f6f7fb 55%,#fff5ed)}.team-grid article{overflow:hidden;border:1px solid rgba(7,7,77,.1);border-radius:17px;background:#fff;box-shadow:0 15px 38px rgba(7,7,77,.07)}.team-grid article:nth-child(3n+2){background:linear-gradient(145deg,#08083e,#16166a)}.team-grid article:nth-child(3n+2) h2{color:#fff}.team-grid article:nth-child(3n+2) p{color:#d5d7e5}.team-member-copy{padding:0 24px 24px}

/* Gallery */
.gallery-section{background:linear-gradient(145deg,#f6f7fb,#fff 45%,#fff3ea)}.gallery-grid{columns:3;column-gap:17px}.gallery-grid figure{border-radius:15px;margin-bottom:17px;box-shadow:0 15px 38px rgba(7,7,77,.12)}.gallery-grid img{min-height:260px;object-fit:cover}.gallery-grid figure.wide img{min-height:340px}.gallery-grid figcaption small{color:#ff995d;font-size:.56rem;letter-spacing:.12em}.gallery-grid figcaption b{font-size:.86rem}.gallery-grid figcaption span{font-size:.66rem}

/* Contact */
.contact-section{background:linear-gradient(145deg,#fff,#f6f7fb 52%,#fff4ec)}.contact-copy{padding:28px;border-left:3px solid var(--orange,#f05a00);border-radius:0 16px 16px 0;background:rgba(255,255,255,.62)}.contact-item{padding:12px 14px;margin:10px 0;border:1px solid rgba(7,7,77,.08);border-radius:12px;background:#fff}.contact-item:nth-of-type(even){background:linear-gradient(135deg,#f2f3fa,#fff)}.contact-item>i{width:40px;height:40px;border-radius:10px;background:#fff0e6;color:var(--orange,#f05a00)}.contact-item b{font-size:.68rem}.contact-item :is(a,span){display:block;color:#6a6d7c;text-decoration:none;font-size:.72rem}.contact-item a:hover{color:var(--orange,#f05a00)}.contact-form{position:relative;overflow:hidden;border-radius:18px;background:linear-gradient(145deg,#08083e,#141465);border:1px solid rgba(255,255,255,.12);box-shadow:0 25px 58px rgba(7,7,77,.18)}.contact-form:before{content:"";position:absolute;width:230px;height:230px;right:-90px;top:-110px;border:34px solid rgba(240,90,0,.15);border-radius:50%}.contact-form>*{position:relative;z-index:2}.form-heading{margin-bottom:20px}.form-heading small{color:#ff9c61;font-size:.55rem;letter-spacing:.14em;font-weight:800}.form-heading h3{color:#fff;font-family:"Playfair Display",serif;font-size:1.55rem;margin:7px 0}.contact-form label{color:#d6d8e6;font-size:.66rem}.contact-form :is(.form-control,.form-select){min-height:42px;border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.95)}.clessy-faq .accordion-item{margin-bottom:9px;border:1px solid rgba(7,7,77,.1);border-radius:10px!important;overflow:hidden}.clessy-faq .accordion-button{font-size:.74rem;font-weight:700;color:#07074d}.clessy-faq .accordion-button:not(.collapsed){background:#fff2e8;color:#07074d;box-shadow:none}

@keyframes innerGradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}@keyframes innerFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(20px)}}@keyframes publicRail{to{transform:translateX(-50%)}}@keyframes innerCaret{0%,48%{opacity:1}49%,100%{opacity:0}}
@media(max-width:991px){.split-heading{grid-template-columns:1fr;gap:15px}.gallery-grid{columns:2}.service-directory-live{grid-template-columns:1fr}.team-page-hero{padding-bottom:6rem}}
@media(max-width:767px){.public-inner-hero{min-height:380px}.insight-card{grid-template-columns:1fr;width:78vw;height:430px}.insight-card img{height:245px}.insight-card>div{padding:20px}.compact-action-ribbon>.container{align-items:flex-start;flex-direction:column}.portfolio-method>.container{align-items:flex-start;flex-direction:column;gap:12px}.portfolio-method i{display:none}.gallery-grid{columns:1}.team-banner-caption{max-width:75%}.team-banner-frame>img{height:470px}.contact-copy{padding:20px}.service-directory-live .service-detail-card{min-height:0}}
@media(prefers-reduced-motion:reduce){.public-inner-hero,.public-inner-hero:after,.auto-rail-track{animation:none!important}.page-type.is-typing:after{display:none}}
