/* TAMIYOUZ SIGNATURE UI 3.0 — Six-phase additive visual architecture.
 * Sitewide UI: navy / warm ivory / champagne gold, purposeful motion,
 * Arabic + English, Dark/Light, mobile. No remote fonts or icon libraries.
 */
/* 01 / VISUAL TOKENS + EDITORIAL FOUNDATION */
:root {
 --ts3-ink:#14263f;--ts3-navy:#081727;--ts3-navy2:#142b46;
 --ts3-gold:#ba8d52;--ts3-gold-hi:#ebc88b;
 --ts3-paper:#fbf9f5;--ts3-card:#fffefb;
 --ts3-muted:#627185;--ts3-line:rgba(23,48,77,.13);
 --ts3-gold-line:rgba(188,143,79,.34);
 --ts3-r-sm:13px;--ts3-r-card:23px;--ts3-r-hero:31px;
 --ts3-shadow:0 15px 45px rgba(18,40,62,.075);
 --ts3-shadow-lift:0 25px 65px rgba(16,35,59,.14);
 --ts3-ease:cubic-bezier(.22,.82,.24,1);
}
html[data-tyz-theme="dark"] {
 --ts3-ink:#f5f1e9;--ts3-paper:#0b1728;
 --ts3-card:#14273d;--ts3-muted:#b2c1d1;
 --ts3-line:rgba(234,216,178,.15);
 --ts3-gold-line:rgba(230,184,114,.38);
 --ts3-shadow:0 20px 56px rgba(0,5,14,.2);
 --ts3-shadow-lift:0 29px 70px rgba(0,6,19,.39);
}
html {scroll-padding-top:110px;}
:where(#tyz-home-v21,#tyz-site-v1,#tyz-premium-blog,#tyz-premium-article,#tyz-portfolio,#tyz-join) :is(h1,h2,h3) {
 text-wrap:balance;letter-spacing:-.028em;
}
:where(#tyz-home-v21,#tyz-site-v1,#tyz-premium-blog,#tyz-premium-article,#tyz-portfolio,#tyz-join) :is(p,li){
 overflow-wrap:break-word;
}
:where(#tyz-home-v21,#tyz-site-v1,#tyz-premium-blog,#tyz-premium-article,#tyz-portfolio,#tyz-join) :is(section,h2,h3,article)[id]{
 scroll-margin-top:114px;
}
:where(#tyz-home-v21,#tyz-site-v1,#tyz-premium-blog,#tyz-premium-article,#tyz-portfolio,#tyz-join) :is(a,button,input,select,textarea,summary):focus-visible{
 outline:3px solid var(--ts3-gold-hi)!important;outline-offset:3px;
}
/* 02 / PREMIUM COMPONENT LANGUAGE */
body.tyz-site-v1 :is(.tyz-site-card,.tyz-content-cards>div,.tyz-work-concept),
#tyz-home-v21 :is(.tyz-service,.tyz-xp-project-card),
#tyz-premium-blog :is(.tyz-pb-article-card,.tyz-pb-feature-preview),
#tyz-portfolio .tyz-pb-project,
#tyz-join .tj-value-card {
 border-radius:var(--ts3-r-card);
 box-shadow:var(--ts3-shadow);
 transition:transform .43s var(--ts3-ease),box-shadow .43s var(--ts3-ease),border-color .32s ease;
}
@media(hover:hover) and (pointer:fine) {
 body.tyz-site-v1 :is(.tyz-site-card,.tyz-content-cards>div,.tyz-work-concept):hover,
 #tyz-home-v21 :is(.tyz-service,.tyz-xp-project-card):hover,
 #tyz-premium-blog :is(.tyz-pb-article-card,.tyz-pb-feature-preview):hover,
 #tyz-portfolio .tyz-pb-project:hover,
 #tyz-join .tj-value-card:hover {
  transform:translate3d(0,-5px,0);
  box-shadow:var(--ts3-shadow-lift);
  border-color:var(--ts3-gold-line);
 }
}
body.tyz-site-v1 :is(.tyz-site-card,.tyz-content-cards>div) {
 border-color:var(--ts3-line);background-color:var(--ts3-card);
}
body.tyz-site-v1 :is(.tyz-site-card,.tyz-content-cards>div) p {color:var(--ts3-muted);}
body.tyz-site-v1 .tyz-site-card{padding:clamp(23px,2.5vw,33px);min-height:260px;}
body.tyz-site-v1 .tyz-site-card h2{font-size:clamp(21px,2.2vw,27px);line-height:1.47;}
body.tyz-site-v1 .tyz-site-card small {font-weight:850;color:var(--ts3-gold);letter-spacing:.12em;}
body.tyz-site-v1 .tyz-site-link{display:inline-flex;gap:11px;align-items:center;min-height:44px;}
#tyz-global-header .tyz-header__link{transition:background-color .2s,color .2s;}
#tyz-global-header .tyz-header__cta{transition:transform .24s var(--ts3-ease),box-shadow .24s;}
@media(hover:hover) and (pointer:fine){
 #tyz-global-header .tyz-header__cta:hover{transform:translateY(-2px);}
}
/* 03 / MOTION AND MICROINTERACTIONS
 * Content is visible by default, no script-required opacity:0 state.
 * No forced parallax and no interference with Scrollama/Web40 process story.
 */
@keyframes ts3-card-in {
 from{transform:translate3d(0,14px,0);filter:brightness(.985)}
 to{transform:translate3d(0,0,0);filter:brightness(1)}
}
:where(#tyz-home-v21,#tyz-site-v1,#tyz-premium-blog,#tyz-join) .ts3-soft-enter.ts3-entered {
 animation:ts3-card-in .75s var(--ts3-ease) both;
}
@media(hover:hover) and (pointer:fine){
 #tyz-home-v21 .tyz-service,
 body.tyz-site-v1 .tyz-site-card {position:relative;isolation:isolate;}
 #tyz-home-v21 .tyz-service::after,
 body.tyz-site-v1 .tyz-site-card::after {
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  border-radius:inherit;
  background:radial-gradient(430px circle at var(--ts3-x,50%) var(--ts3-y,50%),rgba(203,161,97,.12),transparent 60%);
  opacity:0;transition:opacity .34s;
 }
 #tyz-home-v21 .tyz-service:is(:hover,:focus-within)::after,
 body.tyz-site-v1 .tyz-site-card:is(:hover,:focus-within)::after{opacity:1;}
 #tyz-home-v21 .tyz-service>*,
 body.tyz-site-v1 .tyz-site-card>*{position:relative;z-index:1;}
}
/* 04 / DISTINCT PAGE FAMILY ART DIRECTION */
/* Homepage: gallery cards, service capability rhythm, premium image finishes. */
#tyz-home-v21 .tyz-service{
 border:1px solid var(--ts3-gold-line);
}
#tyz-home-v21 .tyz-service h3 {line-height:1.45;letter-spacing:-.023em;}
#tyz-home-v21 .tyz-service p {line-height:1.93;}
#tyz-home-v21 .tyz-xp-project-card{overflow:hidden;}
#tyz-home-v21 .tyz-xp-project-card img{transition:transform .7s var(--ts3-ease);}
@media(hover:hover) and (pointer:fine){
 #tyz-home-v21 .tyz-xp-project-card:hover img{transform:scale(1.035);}
}
/* Services and service detail pages: editorial rhythm and accessible line lengths. */
body.tyz-site-v1 .tyz-site-hero {
 border-bottom-color:var(--ts3-line);
}
body.tyz-site-v1 .tyz-site-hero h1 {
 font-weight:900;line-height:1.25;letter-spacing:-.048em;max-width:1050px;
}
body.tyz-site-v1 .tyz-site-hero p {line-height:2.04;max-width:760px;}
body.tyz-site-v1 .tyz-site-section{
 padding-block:clamp(73px,7.8vw,112px);
}
body.tyz-site-v1 .tyz-content-lead {padding-block:clamp(38px,5vw,64px);}
body.tyz-site-v1 .tyz-site-article__body{max-width:960px;}
body.tyz-site-v1 .tyz-site-article__body :is(h2,h3){scroll-margin-top:115px;}
/* Preserve bespoke web-design process scrollytelling entirely. */
body.tyz-site-v1 .tyz-web40 :is(.tyz-web40-feature,.tyz-web40-offer,.tyz-web40-benefit){
 border-radius:var(--ts3-r-card);
}
/* Portfolio book: only surface and visible focus, no modal/flip modifications. */
#tyz-portfolio .tyz-pb-intro h2 {letter-spacing:-.038em;}
#tyz-portfolio .tyz-pb-card-art {overflow:hidden;}
#tyz-portfolio .tyz-pb-project button:focus-visible{outline:3px solid var(--ts3-gold-hi);outline-offset:3px;}
/* Journal and articles: readable typography and immersive feature imagery. */
#tyz-premium-blog .tyz-pb-hero h1{letter-spacing:-.042em;line-height:1.25;}
#tyz-premium-blog :is(.tyz-pb-article-card,.tyz-pb-feature-preview){
 border-color:var(--ts3-gold-line);
}
#tyz-premium-blog .tyz-pb-article-card h3{line-height:1.55;}
#tyz-premium-blog .tyz-pb-article-card img{transition:transform .7s var(--ts3-ease);}
@media(hover:hover) and (pointer:fine){
 #tyz-premium-blog .tyz-pb-article-card:hover img{transform:scale(1.03);}
}
#tyz-premium-article :is(h1,h2,h3){letter-spacing:-.032em;}
#tyz-premium-article :is(p,li){line-height:1.97;}
#tyz-premium-article img{height:auto;}
/* Contact and careers: sculpted surfaces, untouched input names and handlers. */
.tyz-contact-panel{box-shadow:var(--ts3-shadow-lift);border-color:var(--ts3-gold-line);}
.tyz-contact-intro{border:1px solid rgba(230,186,117,.24);}
#tyz-join .tj-value-card{border-color:var(--ts3-gold-line);}
#tyz-join .tj-form-panel{box-shadow:var(--ts3-shadow-lift);border-color:var(--ts3-gold-line);}
/* 05 / UX, FORMS AND CONVERSION POLISH */
#tyz-contact-form :is(input:not([type="checkbox"]),select,textarea),
#tj-application-form :is(input:not([type="checkbox"]),select,textarea){
 transition:border-color .2s,background-color .2s,box-shadow .2s;
 font-size:16px;
}
#tyz-contact-form :is(input:not([type="checkbox"]),select,textarea):focus,
#tj-application-form :is(input:not([type="checkbox"]),select,textarea):focus{
 border-color:#b78a4d;box-shadow:0 0 0 4px rgba(203,158,86,.14);
}
#tyz-contact-form :is(input,textarea,select):user-invalid,
#tj-application-form :is(input,textarea,select):user-invalid{border-color:#b45e50;}
#tyz-contact-form :is(input,textarea,select):user-valid,
#tj-application-form :is(input,textarea,select):user-valid{border-color:rgba(102,156,121,.45);}
#tyz-contact-form :is(button[type="submit"],.tyz-contact-submit),
#tj-application-form button[type="submit"]{min-height:50px;cursor:pointer;}
#tyz-contact-form label,#tj-application-form label{line-height:1.7;}
.tyz-site-cta a,#tyz-join .tj-btn-gold{box-shadow:0 10px 32px rgba(194,143,68,.18);}
@media(hover:hover) and (pointer:fine){
 .tyz-site-cta a:hover,#tyz-join .tj-btn-gold:hover{box-shadow:0 16px 36px rgba(194,143,68,.25);}
}
:where(#tyz-home-v21,body.tyz-site-v1,#tyz-premium-blog,#tyz-premium-article,#tyz-join) a{
 text-underline-offset:.22em;
}
/* 06 / RESPONSIVE, RTL/LTR AND ACCESSIBILITY HARDENING */
@media(max-width:960px){
 body.tyz-site-v1 .tyz-site-section{padding-block:68px;}
 body.tyz-site-v1 .tyz-site-hero h1{line-height:1.33;}
 #tyz-home-v21 .tyz-service{min-height:242px;}
 #tyz-join .tj-value-card{min-height:240px;}
}
@media(max-width:620px){
 html{scroll-padding-top:86px;}
 body.tyz-site-v1 .tyz-site-section{padding-block:56px;}
 body.tyz-site-v1 .tyz-site-card{padding:23px;min-height:215px;}
 body.tyz-site-v1 .tyz-site-hero h1{font-size:clamp(39px,10.5vw,57px);}
 body.tyz-site-v1 .tyz-site-hero p{font-size:15px;}
 #tyz-premium-blog .tyz-pb-hero h1{line-height:1.34;}
 #tyz-join .tj-value-card{min-height:auto;}
 :where(#tyz-home-v21,body.tyz-site-v1,#tyz-premium-blog,#tyz-premium-article,#tyz-join) :is(a,button,summary){
  touch-action:manipulation;
 }
}
@media(prefers-reduced-motion:reduce){
 :where(#tyz-home-v21,#tyz-site-v1,#tyz-premium-blog,#tyz-join) .ts3-soft-enter.ts3-entered{animation:none!important;}
 :where(#tyz-home-v21,body.tyz-site-v1,#tyz-premium-blog,#tyz-portfolio,#tyz-join) :is(.tyz-site-card,.tyz-service,.tyz-pb-article-card,.tj-value-card){transition:none!important;}
 html:focus-within{scroll-behavior:auto!important;}
}
@media(hover:none){
 :where(#tyz-home-v21,body.tyz-site-v1,#tyz-premium-blog,#tyz-portfolio,#tyz-join)
 :is(.tyz-service,.tyz-site-card,.tyz-pb-article-card,.tyz-pb-project,.tj-value-card){transform:none;}
}
@media print{.ts3-soft-enter.ts3-entered{animation:none!important;}}
