/* Site-wide cinematic layer (extends home.css): header, footer, page heroes, inner templates. */
:root{--h-deep:#1B1522;--h-ink:#2E2438;--h-mid:#665470;--h-accent:#8B6FAD;--h-glow:#B79BDB;--h-lav:#D6D0E3;--h-light:#F1F6F7;--h-line:rgba(214,208,227,.16);--h-ease:cubic-bezier(.2,.7,.1,1)}
body{background:var(--h-deep)}
main.h-page{display:block;min-height:50vh}

/* rolling link label */
.h-roll{display:inline-block;overflow:hidden;height:1.6em;line-height:1.6em;vertical-align:middle}
.h-roll>span{display:block;transition:transform .5s var(--h-ease)}
.h-roll>span:after{content:attr(data-text);display:block}
a:hover>.h-roll>span,a:focus-visible>.h-roll>span{transform:translateY(-50%)}

/* header */
.y-header.h-header{background:rgba(27,21,34,.7);border-bottom:1px solid rgba(214,208,227,.09);backdrop-filter:saturate(1.4) blur(18px);-webkit-backdrop-filter:saturate(1.4) blur(18px)}
.y-header.h-header.is-scrolled{background:rgba(22,17,28,.92);border-color:rgba(214,208,227,.14);box-shadow:0 18px 50px rgba(8,5,12,.35)}
.h-header .y-nav{min-height:76px}
.h-header .y-logo{display:flex;align-items:center}
/* The logo file is a square canvas with wide transparent margins: crop to the mark. */
.h-header .y-logo img,.h-footer-brand img{width:150px;height:56px;object-fit:cover;object-position:50% 51%}
.h-header .y-logo img{transition:opacity .3s}.h-header .y-logo:hover img{opacity:.8}
.h-header .y-menu{gap:4px}
.h-header .y-menu a{display:inline-flex;align-items:center;height:42px;padding:0 15px;border-radius:99px;font-size:15px;font-weight:500;color:rgba(241,246,247,.76);opacity:1;transition:color .3s,background-color .3s}
.h-header .y-menu a:not(.y-nav-cta):after{content:"";position:absolute;left:50%;right:auto;bottom:5px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--h-glow);box-shadow:0 0 10px var(--h-glow);transform:scale(0);transition:transform .35s var(--h-ease)}
.h-header .y-menu a:hover{color:#fff;background:rgba(214,208,227,.07)}
.h-header .y-menu a[aria-current]{color:#fff}
.h-header .y-menu a[aria-current]:after,.h-header .y-menu a:not(.y-nav-cta):hover:after{transform:scale(1)}
.h-header .y-menu .y-nav-cta{margin-inline-start:12px;padding:0 22px;background:#fff;color:var(--h-ink);font-weight:700;border:0}
.h-header .y-menu .y-nav-cta:hover,.h-header .y-menu .y-nav-cta[aria-current]{background:var(--h-glow);color:var(--h-deep)}
.h-header .y-menu-toggle{border-color:rgba(214,208,227,.22);transition:background-color .3s}
.h-header .y-menu-toggle span{width:20px;height:1.5px;transition:transform .4s var(--h-ease)}
.h-header .y-menu-toggle[aria-expanded="true"]{background:#fff}
.h-header .y-menu-toggle[aria-expanded="true"] span{background:var(--h-ink)}
.h-header .y-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.h-header .y-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.h-header .y-mobile-menu{inset:76px 0 auto;background:#16111C;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:12px 20px 30px;max-height:calc(100dvh - 76px);border-top:1px solid rgba(214,208,227,.08)}
.h-header .y-mobile-menu>a{display:flex;justify-content:space-between;align-items:center;font-size:27px;font-weight:700;padding:15px 0;border-bottom:1px solid rgba(214,208,227,.1);color:#fff}
.h-header .y-mobile-menu>a small{font-size:12px;color:var(--h-glow);font-weight:700;letter-spacing:.08em}
.h-header .y-mobile-menu>a[aria-current]{color:var(--h-glow)}
.h-header .y-mobile-menu>.y-nav-cta{margin-top:22px;justify-content:center;background:#fff;color:var(--h-ink);border:0;border-radius:99px;font-size:18px;padding:16px}
.h-mobile-contact{display:flex;justify-content:space-between;gap:16px;margin:22px 0 0;font-size:15px}
.h-mobile-contact a{color:var(--h-lav);text-decoration:none}
.y-mobile-menu:not([hidden])>*{animation:h-menu-in .6s var(--h-ease) both;animation-delay:calc(var(--i,0)*45ms)}
@keyframes h-menu-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* footer */
.h-footer{position:relative;overflow:hidden;background:#120E17;color:var(--h-lav);padding:clamp(70px,8vw,110px) 0 28px;border-top:1px solid var(--h-line)}
.h-footer-glow{position:absolute;inset:auto 15% -40% 15%;height:80%;background:radial-gradient(closest-side,rgba(139,111,173,.22),transparent);pointer-events:none}
.h-footer .y-wrap{position:relative}
.h-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:clamp(30px,5vw,80px)}
.h-footer-brand img{display:block;margin-inline-start:-14px}
.h-footer-brand p{max-width:440px;line-height:1.95;font-size:15px;margin:20px 0 26px;color:#BDB4CA}
.h-footer-social{display:flex;flex-wrap:wrap;gap:8px}
.h-footer-social a{font-size:13px;color:var(--h-lav);text-decoration:none;padding:7px 13px;border:1px solid var(--h-line);border-radius:99px;direction:ltr;transition:background-color .3s,color .3s,border-color .3s}
.h-footer-social a:hover{background:#fff;color:var(--h-ink);border-color:#fff}
.h-footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.h-footer-title{font-size:12.5px;font-weight:700;letter-spacing:.08em;color:var(--h-glow);margin:0 0 12px}
.h-footer-col>a{color:#E9E4F0;text-decoration:none;font-size:16px}
.h-footer-col>a:hover{color:#fff}
.h-footer-cta{margin-top:14px;display:inline-flex!important;gap:10px;align-items:center;padding:12px 22px;border-radius:99px;background:var(--h-accent);color:#fff!important;font-weight:700;transition:background-color .3s}
.h-footer-cta:hover{background:#fff;color:var(--h-ink)!important}
.h-footer-word{margin:clamp(40px,6vw,80px) 0 0;font-size:clamp(70px,17vw,250px);font-weight:700;line-height:.85;letter-spacing:-.02em;text-align:center;direction:ltr;color:transparent;-webkit-text-stroke:1px rgba(214,208,227,.2);background:linear-gradient(180deg,rgba(183,155,219,.25),transparent 85%);-webkit-background-clip:text;background-clip:text;user-select:none}
.h-footer-bottom{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:26px;padding-top:22px;border-top:1px solid var(--h-line);font-size:13.5px}
.h-footer-bottom p{margin:0;color:#A79DB5}
.h-footer-legal{display:flex;gap:18px;flex-wrap:wrap;margin-inline-start:auto}
.h-footer-legal a{color:var(--h-lav);text-decoration:none}.h-footer-legal a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.h-top{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--h-line);color:#fff;text-decoration:none;font-size:18px;transition:background-color .3s,color .3s}
.h-top:hover{background:#fff;color:var(--h-ink)}
.h-footer a:focus-visible,.h-header a:focus-visible,.h-header button:focus-visible{outline:3px solid var(--h-glow);outline-offset:3px}

/* page hero */
.h-phero{position:relative;overflow:hidden;color:var(--h-light);background:radial-gradient(120% 90% at 85% 0%,#3B2E4E 0%,var(--h-ink) 45%,var(--h-deep) 100%);padding:clamp(90px,11vw,160px) 0 clamp(70px,8vw,110px);--lx:70%;--ly:30%}
.h-phero .h-viewfinder{inset:clamp(12px,2vw,26px)}
.h-phero-grid{position:relative;z-index:2;display:grid;gap:clamp(30px,5vw,70px);align-items:end}
.h-phero-grid.has-media{grid-template-columns:1.15fr .85fr;align-items:center}
.h-phero-label{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--h-glow);font-size:14px;letter-spacing:.04em}
.h-phero-label:before{content:"";width:26px;height:1.5px;background:currentColor}
.h-phero-title{font-size:clamp(44px,7vw,108px);line-height:1.08;letter-spacing:-1.5px;margin:0 0 26px;font-weight:700;max-width:1050px}
.h-phero-title .h-line{padding-bottom:.12em;margin-bottom:-.12em}
.h-phero-title em{font-style:normal;background:linear-gradient(100deg,#fff 0%,var(--h-glow) 55%,#fff 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:h-shine 6s linear infinite}
.h-phero .h-lead{max-width:680px;margin:0}
.h-phero-after{margin-top:34px}
.h-js.is-loaded .h-phero-after{transition-delay:.7s}
.h-phero-media{position:relative;display:flex;justify-content:center;align-items:flex-end;height:min(66svh,600px)}
.h-phero-media .h-portrait{position:relative;z-index:2;height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 40px 60px rgba(0,0,0,.45))}
.h-phero-media .h-hero-ring{top:6%;width:min(32vw,400px)}
.h-phero.is-portrait{padding-bottom:0;padding-top:clamp(50px,6vw,90px)}
.h-phero.is-portrait .h-phero-title{font-size:clamp(42px,5.6vw,84px)}
.h-phero.is-portrait .h-phero-grid.has-media{grid-template-columns:1.1fr .9fr}
.h-phero.is-portrait .h-phero-copy{padding-bottom:clamp(60px,7vw,100px)}
.h-phero.is-portrait .h-phero-grid{align-items:end}
.h-js .h-phero-media{opacity:0;transform:scale(.96);transition:opacity 1.4s var(--h-ease) .2s,transform 1.4s var(--h-ease) .2s}
.h-js.is-loaded .h-phero-media{opacity:1;transform:none}
.h-phero-meta{display:flex;flex-wrap:wrap;gap:10px}
.h-phero-meta span,.h-phero-meta a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:99px;background:rgba(255,255,255,.06);border:1px solid var(--h-line);font-size:14px;color:var(--h-lav);text-decoration:none}
.h-phero-meta a:hover{background:#fff;color:var(--h-ink)}
.h-phero-meta b{color:#fff}

/* glass search */
.h-search{max-width:640px;background:rgba(255,255,255,.06);border:1px solid var(--h-line);border-radius:24px;padding:18px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.h-search label{display:block;color:var(--h-lav);font-size:13px;margin-bottom:10px;font-weight:700}
.h-search>div{display:flex;gap:8px}
.h-search input{flex:1;min-width:0;height:54px;border:1px solid transparent;border-radius:16px;background:rgba(255,255,255,.95);color:var(--h-ink);font:inherit;font-size:16px;padding:0 18px;outline:none;transition:box-shadow .3s}
.h-search input:focus{box-shadow:0 0 0 4px rgba(183,155,219,.35)}
.h-search button{height:54px;border:0;border-radius:16px;background:var(--h-accent);color:#fff;font:700 15px Tajawal,sans-serif;padding:0 26px;cursor:pointer;transition:background-color .3s,color .3s}
.h-search button:hover{background:#fff;color:var(--h-ink)}

/* topics */
.h-topics{background:var(--h-deep);border-block:1px solid var(--h-line);color:var(--h-lav)}
.h-topics .y-wrap{display:flex;align-items:center;gap:20px;padding-block:16px}
.h-topics-label{font-size:13px;font-weight:700;white-space:nowrap;color:var(--h-glow)}
.h-topics-list{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px}
.h-topics-list::-webkit-scrollbar{display:none}
.h-topics-list a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;text-decoration:none;color:var(--h-lav);border:1px solid var(--h-line);border-radius:99px;padding:8px 14px;font-size:14px;transition:background-color .3s,color .3s,border-color .3s}
.h-topics-list a:hover,.h-topics-list a[aria-current]{background:#fff;color:var(--h-ink);border-color:#fff}
.h-topics-list small{display:grid;place-items:center;min-width:22px;height:22px;border-radius:99px;background:rgba(214,208,227,.14);font-size:11px}
.h-topics-list a:hover small,.h-topics-list a[aria-current] small{background:#EEE9F4}

/* shared inner sections */
.h-dark{background:var(--h-deep);color:var(--h-light)}
.h-dark .h-title{color:#fff}
.h-dark .h-link{color:var(--h-lav)}
.h-intro{font-size:clamp(17px,1.4vw,19px);line-height:2;color:var(--h-mid);max-width:560px;margin:0}
.h-dark .h-intro{color:var(--h-lav)}
.h-split{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(30px,6vw,90px);align-items:start}
.h-copy p{font-size:18px;line-height:2.05;color:#4A3F55;margin:0 0 20px}
.h-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.h-pillars.is-3{grid-template-columns:repeat(3,1fr)}
.h-pillar{position:relative;overflow:hidden;padding:clamp(24px,2.6vw,34px);border-radius:26px;background:rgba(255,255,255,.035);border:1px solid var(--h-line);transition:transform .5s var(--h-ease),border-color .4s,background-color .4s;--sx:50%;--sy:50%}
.h-pillar:before{content:"";position:absolute;inset:0;background:radial-gradient(320px circle at var(--sx) var(--sy),rgba(183,155,219,.18),transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}
.h-pillar:hover{transform:translateY(-8px);border-color:rgba(183,155,219,.4)}
.h-pillar:hover:before{opacity:1}
.h-pillar-no{display:block;font-size:clamp(44px,4.6vw,64px);font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(183,155,219,.6);margin-bottom:26px;direction:ltr;text-align:right}
.h-pillar h3{font-size:22px;margin:0 0 10px;color:#fff}
.h-pillar p{margin:0;font-size:15.5px;line-height:1.9;color:#CFC6DB}
.h-light-pillars .h-pillar{background:#fff;border-color:rgba(102,84,112,.14)}
.h-light-pillars .h-pillar h3{color:var(--h-ink)}.h-light-pillars .h-pillar p{color:var(--h-mid)}
.h-light-pillars .h-pillar:hover{box-shadow:0 30px 60px rgba(46,36,56,.12)}
.h-light-pillars .h-pillar-no{-webkit-text-stroke-color:var(--h-accent)}
.h-focus{list-style:none;margin:0;padding:0;border-top:1px solid rgba(46,36,56,.14)}
.h-focus li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid rgba(46,36,56,.14);font-size:clamp(18px,1.8vw,22px);font-weight:700;color:var(--h-ink);transition:padding .4s var(--h-ease),color .3s}
.h-focus li:hover{padding-inline-start:14px;color:var(--h-accent)}
.h-focus li span{font-size:13px;color:var(--h-mid);font-weight:500;direction:ltr}

/* social list */
.h-social{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(24px,4vw,60px);border-top:1px solid var(--h-line)}
.h-social a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 4px;border-bottom:1px solid var(--h-line);color:#fff;text-decoration:none;font-size:clamp(22px,2.4vw,32px);font-weight:700;direction:ltr;transition:padding .45s var(--h-ease),color .3s}
.h-social a small{font-size:14px;font-weight:500;color:var(--h-lav)}
.h-social a i{font-style:normal;font-size:22px;transition:transform .4s var(--h-ease)}
.h-social a:hover{color:var(--h-glow);padding-inline:14px}
.h-social a:hover i{transform:rotate(45deg)}

.h-white{background:#fff}
.h-social.is-light{border-color:rgba(46,36,56,.14)}
.h-social.is-light a{color:var(--h-ink);border-color:rgba(46,36,56,.14)}
.h-social.is-light a small{color:var(--h-mid)}
.h-social.is-light a:hover{color:var(--h-accent)}
.h-phero.is-compact{padding:clamp(80px,9vw,130px) 0 clamp(56px,6vw,80px)}
.h-phero.is-compact .h-phero-title{font-size:clamp(40px,6vw,84px)}

/* services detail rows */
.h-svc{display:grid;gap:clamp(50px,7vw,110px)}
.h-svc-row{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,80px);align-items:center}
.h-svc-row:nth-child(even) .h-svc-media{order:2}
.h-svc-row.no-media{grid-template-columns:1fr;max-width:820px}
.h-svc-media{margin:0;border-radius:28px;overflow:hidden;aspect-ratio:4/3;background:var(--h-ink);transition:clip-path 1.4s var(--h-ease)}
.h-js .h-svc-media{clip-path:inset(10% 8% round 28px)}.h-js .h-svc-media.is-in{clip-path:inset(0 round 28px)}
.h-svc-media img{width:100%;height:116%;object-fit:cover;will-change:transform}
.h-svc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.h-svc-copy h3{font-size:clamp(32px,4vw,56px);line-height:1.15;margin:0 0 16px;color:var(--h-ink);letter-spacing:-.5px}
.h-svc-copy>p{font-size:17.5px;line-height:2;color:var(--h-mid);margin:0 0 22px;max-width:540px}
.h-svc-tags{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-wrap:wrap;gap:8px}
.h-svc-tags li{padding:8px 14px;border-radius:99px;background:#fff;border:1px solid rgba(102,84,112,.16);font-size:14px;font-weight:700;color:var(--h-ink)}

/* listings */
.h-listing{background:var(--h-light)}
.h-count{font-size:14px;font-weight:700;color:var(--h-mid);padding:8px 16px;border:1px solid rgba(102,84,112,.2);border-radius:99px}
.h-article-grid{row-gap:clamp(34px,4vw,50px)}
.h-card .h-article-media{position:relative}
.h-card-ph{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,var(--h-ink),var(--h-deep));color:transparent;-webkit-text-stroke:1px rgba(214,208,227,.35);font-size:64px;font-weight:700;direction:ltr}
.h-card .h-article-body p{margin:10px 0 0;color:var(--h-mid);font-size:15px;line-height:1.85}
.h-card-more{display:inline-flex;gap:8px;margin-top:14px;font-size:14px;font-weight:700;color:var(--h-accent);transition:gap .3s var(--h-ease)}
.h-card a:hover .h-card-more{gap:14px}
.h-dark .h-article a{color:#fff}.h-dark .h-article-body small,.h-dark .h-card .h-article-body p{color:var(--h-lav)}
.h-page .y-pagination{margin-top:clamp(40px,5vw,64px)}
.h-page .y-pagination ul,.h-page .y-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0;justify-content:center}
.h-page .y-pagination a,.h-page .y-pagination span{min-width:48px;min-height:48px;border-radius:99px;border:1px solid rgba(102,84,112,.25);color:var(--h-ink);font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;transition:background-color .3s,color .3s}
.h-page .y-pagination a:hover{background:var(--h-ink);color:#fff}
.h-page .y-pagination .current{background:var(--h-accent);border-color:var(--h-accent);color:#fff}
.h-empty{text-align:center;max-width:640px;margin:0 auto;padding:clamp(30px,5vw,60px) 0}
.h-empty .h-title{font-size:clamp(30px,4vw,48px);margin-bottom:14px}
.h-empty p{color:var(--h-mid);line-height:1.9;margin:0 0 30px}
.h-empty .h-actions{justify-content:center}
.h-btn-dark{background:var(--h-ink);color:#fff}.h-btn-dark:before{background:var(--h-accent)}
.h-btn-outline{border:1.5px solid rgba(46,36,56,.25);color:var(--h-ink)}.h-btn-outline:before{background:var(--h-ink)}.h-btn-outline:hover{color:#fff;border-color:var(--h-ink)}

/* contact */
.h-contact-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:22px;align-items:start}
.h-form-card{background:#fff;border-radius:30px;padding:clamp(24px,4vw,48px);border:1px solid rgba(102,84,112,.12);box-shadow:0 40px 80px rgba(46,36,56,.08)}
.h-form-card .h-title{font-size:clamp(28px,3vw,40px);margin-bottom:10px}
.h-form-card>p{color:var(--h-mid);margin:0 0 28px;line-height:1.9}
.h-form-card .y-formidable-contact input:not([type=submit]):not([type=checkbox]):not([type=radio]),.h-form-card .y-formidable-contact textarea,.h-form-card .y-formidable-contact select{border-radius:14px;border:1px solid rgba(102,84,112,.22);background:#FAF9FC;min-height:52px;font:inherit;transition:border-color .3s,box-shadow .3s,background-color .3s}
.h-form-card .y-formidable-contact input:focus,.h-form-card .y-formidable-contact textarea:focus,.h-form-card .y-formidable-contact select:focus{border-color:var(--h-accent);background:#fff;box-shadow:0 0 0 4px rgba(139,111,173,.15);outline:none}
.h-form-card .y-formidable-contact textarea{width:100%;box-sizing:border-box}
/* Formidable's own style sheet paints the button; override it to match the site. */
.h-form-card .y-formidable-contact .frm_submit .frm_button_submit,.h-form-card .y-formidable-contact button.frm_button_submit{min-height:56px;padding:0 34px;background:var(--h-ink)!important;border:1px solid var(--h-ink)!important;color:#fff!important;border-radius:99px!important;font:700 16px Tajawal,sans-serif!important;box-shadow:none!important;transition:background-color .3s,transform .3s var(--h-ease)}
.h-form-card .y-formidable-contact .frm_submit .frm_button_submit:hover,.h-form-card .y-formidable-contact button.frm_button_submit:hover{background:var(--h-accent)!important;border-color:var(--h-accent)!important;transform:translateY(-2px)}
.h-form-privacy{font-size:13.5px;color:var(--h-mid);margin:18px 0 0}
.h-form-privacy a{color:var(--h-accent)}
.h-direct{position:sticky;top:100px;display:grid;gap:12px}
.h-direct-card{display:block;position:relative;overflow:hidden;padding:24px;border-radius:24px;background:linear-gradient(150deg,var(--h-ink),var(--h-deep));color:#fff;text-decoration:none;transition:transform .5s var(--h-ease);--sx:50%;--sy:50%}
.h-direct-card:before{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--sx) var(--sy),rgba(183,155,219,.25),transparent 60%);opacity:0;transition:opacity .4s}
.h-direct-card:hover{transform:translateY(-6px)}.h-direct-card:hover:before{opacity:1}
.h-direct-card small{display:block;font-size:13px;color:var(--h-glow);font-weight:700;margin-bottom:8px;position:relative}
.h-direct-card b{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:clamp(19px,1.8vw,23px);position:relative}
.h-direct-card.is-wa{background:linear-gradient(150deg,#1F4F3D,#12261F)}
.h-direct-card.is-wa small{color:#8FDBB4}
.h-direct-note{padding:20px 22px;border-radius:22px;border:1px dashed rgba(102,84,112,.3);color:var(--h-mid);font-size:14.5px;line-height:1.85;margin:0}
.h-notice{padding:18px 22px;border-radius:18px;margin:0 0 22px;font-weight:700;line-height:1.8}
.h-notice.is-ok{background:#E9F6EF;color:#1F5E42;border:1px solid #BFE3CF}
.h-notice.is-err{background:#FBECEC;color:#8A2C2C;border:1px solid #EDC4C4}

/* default pages (legal etc.) */
.h-doc{display:grid;grid-template-columns:220px minmax(0,780px);justify-content:center;gap:clamp(30px,5vw,70px)}
.h-doc-aside{position:sticky;top:110px;align-self:start;font-size:14px;color:var(--h-mid);display:grid;gap:10px}
.h-doc-aside b{display:block;color:var(--h-ink);font-size:13px;letter-spacing:.04em}
.h-doc-aside a{color:var(--h-accent);text-decoration:none;font-weight:700}
.h-doc .y-prose h2{font-size:clamp(24px,2.4vw,30px);margin:46px 0 14px;color:var(--h-ink)}
.h-doc .y-prose h3{font-size:21px;color:var(--h-ink)}
.h-doc .y-prose a{color:var(--h-accent)}

/* single article */
.h-page .y-article-hero{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 85% 0%,#3B2E4E 0%,var(--h-ink) 45%,var(--h-deep) 100%);padding:clamp(80px,10vw,140px) 0 clamp(60px,7vw,96px);--lx:70%;--ly:30%}
.h-page .y-article-hero-inner{position:relative;z-index:2}
.h-page .y-article-hero h1{font-size:clamp(36px,5.2vw,68px);line-height:1.2;letter-spacing:-1px}
.h-page .y-article-meta-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--h-lav);font-size:14px;margin-bottom:22px}
.h-page .y-topic{display:inline-flex;padding:6px 14px;border-radius:99px;background:rgba(183,155,219,.16);border:1px solid rgba(183,155,219,.35);color:#fff;text-decoration:none;font-weight:700;transition:background-color .3s,color .3s}
.h-page .y-topic:hover{background:#fff;color:var(--h-ink)}
.h-page .y-article-deck{color:#E3DDEB;font-size:clamp(17px,1.5vw,20px);line-height:1.95;max-width:780px;margin:22px 0 0}
.h-page .y-article-byline{display:flex;align-items:center;gap:12px;margin-top:30px}
.h-page .y-article-byline img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid rgba(183,155,219,.5)}
.h-page .y-article-byline small{display:block;color:var(--h-lav);font-size:13px}
.h-page .y-featured-wrap{position:relative;z-index:3;margin-top:clamp(-60px,-4vw,-30px)}
.h-page .y-featured-media{border-radius:28px;box-shadow:0 40px 90px rgba(27,21,34,.28)}
.h-js .h-page .y-featured-media[data-clip]{clip-path:inset(6% 5% round 28px);transition:clip-path 1.4s var(--h-ease)}
.h-js .h-page .y-featured-media[data-clip].is-in{clip-path:inset(0 round 28px)}
.h-page .y-aside-card{border-radius:22px;border-color:rgba(102,84,112,.14)}
.h-page .y-aside-label{color:var(--h-accent);font-weight:700}
.h-page .y-share-card button{border-radius:99px}
.h-page .y-prose a{color:var(--h-accent);text-underline-offset:4px}
.h-page .y-prose blockquote{border-inline-start:3px solid var(--h-accent);background:#fff;border-radius:0 18px 18px 0;padding:18px 24px;margin-inline:0}
.h-page .y-author-card{border-radius:28px;background:linear-gradient(150deg,var(--h-ink),var(--h-deep));color:#fff;border:0}
.h-page .y-author-card p{color:var(--h-lav)}.h-page .y-author-card .y-kicker{color:var(--h-glow)}
.h-page .y-author-card img{border-radius:50%;border:2px solid rgba(183,155,219,.5)}
.h-page .y-author-card .y-btn{background:#fff;color:var(--h-ink);border-radius:99px}
.h-page .y-tags a{border-radius:99px}

/* project */
.h-page .y-project-hero{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 85% 0%,#3B2E4E 0%,var(--h-ink) 45%,var(--h-deep) 100%);padding:clamp(80px,10vw,150px) 0 clamp(70px,8vw,120px);--lx:70%;--ly:30%}
.h-page .y-project-hero-grid{position:relative;z-index:2}
.h-page .y-project-hero h1{font-size:clamp(42px,6.4vw,96px);line-height:1.08;letter-spacing:-1.5px;margin:6px 0 20px}
.h-page .y-project-title-block>p:not(.y-kicker){color:#E3DDEB;font-size:clamp(17px,1.5vw,20px);line-height:1.95;max-width:720px}
.h-page .y-project-facts{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0}
.h-page .y-project-facts div{padding:12px 18px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid var(--h-line)}
.h-page .y-project-facts dt{font-size:12px;color:var(--h-glow);font-weight:700}
.h-page .y-project-facts dd{margin:2px 0 0;font-weight:700;color:#fff}
.h-page .y-project-index{color:transparent;-webkit-text-stroke:1px rgba(214,208,227,.4);direction:ltr}
.h-page .y-project-cover{position:relative;z-index:3;margin-top:clamp(-70px,-5vw,-30px);border-radius:28px;box-shadow:0 40px 90px rgba(27,21,34,.3)}
.h-js .h-page .y-project-cover[data-clip]{clip-path:inset(6% 5% round 28px);transition:clip-path 1.4s var(--h-ease)}
.h-js .h-page .y-project-cover[data-clip].is-in{clip-path:inset(0 round 28px)}
.h-page .y-project-gallery-item{border-radius:24px}
.h-page .y-project-gallery-item img{transition:transform 1.2s var(--h-ease)}
.h-page .y-project-gallery-item:hover img{transform:scale(1.06)}

.h-next{background:var(--h-deep)}
.h-next-link{position:relative;display:block;overflow:hidden;min-height:clamp(260px,34vw,440px);color:#fff;text-decoration:none;isolation:isolate}
.h-next-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;filter:grayscale(.5);transform:scale(1.05);transition:opacity .8s,filter .8s,transform 1.4s var(--h-ease);z-index:-1}
.h-next-link:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,21,34,.2),rgba(27,21,34,.85));z-index:-1}
.h-next-link:hover .h-next-bg{opacity:.7;filter:none;transform:scale(1.12)}
.h-next-in{min-height:inherit;display:flex;flex-direction:column;justify-content:center;gap:6px;padding-block:50px}
.h-next-in .h-label{color:var(--h-glow)}
.h-next-in b{font-size:clamp(34px,6vw,90px);line-height:1.1;letter-spacing:-1px}
.h-next-arrow{font-size:clamp(28px,3vw,44px);transition:transform .5s var(--h-ease)}
.h-next-link:hover .h-next-arrow{transform:translateX(-16px)}

/* 404 */
.h-404{min-height:calc(100svh - 76px);display:flex;align-items:center}
.h-404 .h-phero-grid{width:min(calc(100% - 32px),var(--y-max))}
.h-404-num{position:absolute;inset:auto -2% -6% auto;font-size:clamp(180px,34vw,520px);font-weight:700;line-height:.8;direction:ltr;color:transparent;-webkit-text-stroke:1.5px rgba(214,208,227,.14);pointer-events:none;user-select:none}
.h-404 .h-search{margin-top:28px}

/* production kit hero */
.pl-page.h-page .pl-hero{background:radial-gradient(120% 90% at 85% 0%,#3B2E4E 0%,var(--h-ink) 45%,var(--h-deep) 100%);--lx:70%;--ly:30%}
.pl-page.h-page .pl-hero-grid{z-index:2}

/* responsive */
@media(max-width:1100px){.h-pillars{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){
 .h-header .y-nav{min-height:68px}.h-header .y-logo img{width:128px;height:48px}.h-header .y-mobile-menu{inset:68px 0 auto;max-height:calc(100dvh - 68px)}
 .h-footer-grid{grid-template-columns:1fr 1fr}.h-footer-brand{grid-column:1/-1}
 .h-doc{grid-template-columns:1fr}.h-doc-aside{position:static;grid-auto-flow:column;justify-content:start;gap:24px}
 .h-contact-grid{grid-template-columns:1fr}.h-direct{position:static;grid-template-columns:1fr 1fr}.h-direct-note{grid-column:1/-1}
}
@media(max-width:900px){
 .h-phero{padding:64px 0 60px}
 .h-phero-grid.has-media,.h-phero.is-portrait .h-phero-grid.has-media{grid-template-columns:1fr}
 .h-phero.is-portrait .h-phero-title{font-size:clamp(40px,11vw,60px)}
 .h-phero-media{order:-1;height:min(54svh,440px)}.h-phero-media .h-hero-ring{width:62vw}
 .h-phero.is-portrait .h-phero-copy{padding-bottom:56px}
 .h-phero-title{font-size:clamp(40px,11.5vw,64px);letter-spacing:-.5px}
 .h-phero .h-viewfinder{display:none}
 .h-split{grid-template-columns:1fr}
 .h-svc-row{grid-template-columns:1fr;gap:24px}.h-svc-row:nth-child(even) .h-svc-media{order:0}
 .h-pillars,.h-pillars.is-3{grid-template-columns:1fr}
 .h-social{grid-template-columns:1fr}
 .h-topics .y-wrap{flex-direction:column;align-items:stretch;gap:10px}
 .h-search{padding:14px}.h-search>div{flex-direction:column}.h-search input{flex:none;width:100%}.h-search button{width:100%}
 .h-page .y-featured-wrap,.h-page .y-project-cover{margin-top:0}
}
@media(max-width:640px){
 .h-footer-grid{grid-template-columns:1fr}
 .h-footer-legal{margin-inline-start:0}
 .h-footer-bottom{flex-direction:column;align-items:flex-start}
 .h-top{position:absolute;left:0;bottom:6px}
 .h-direct{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 .h-roll>span,.y-mobile-menu:not([hidden])>*{transition:none!important;animation:none!important}
 .h-js .h-phero-media,.h-js .h-page .y-featured-media[data-clip],.h-js .h-page .y-project-cover[data-clip]{opacity:1!important;transform:none!important;clip-path:none!important}
}
