/* Daichan Egypt / Mahmoud Egypt Guide — shared visual system, October 2026.
   Final stylesheet on public pages. No booking logic, pricing, content or SEO URLs changed.
   Concept: editorial Egypt — Nile ink, warm limestone, copper sunlight. */
:root{
  --identity-ink:#112f34;
  --identity-deep:#0b252d;
  --identity-paper:#f8f5ee;
  --identity-sand:#ede5d8;
  --identity-copper:#bb7953;
  --identity-copper-dark:#8f533b;
  --identity-nile:#167577;
  --identity-muted:#5f716f;
  --identity-stroke:rgba(17,47,52,.12);
  --identity-shadow:0 22px 60px rgba(12,37,45,.095);
  --identity-radius:22px;
}
html{scroll-padding-top:100px;scroll-behavior:smooth}
body{background:var(--identity-paper);color:var(--identity-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html[lang="ar"] body{font-family:"Noto Sans Arabic",Tahoma,Arial,system-ui,sans-serif;line-height:1.85}
html[lang="en"] body{font-family:Inter,"Segoe UI",Arial,system-ui,sans-serif;line-height:1.7}
html[lang="ja"] body{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif}
:is(.container,.wrap,.tp-wrap,.rs-wrap){max-width:1300px}
:is(h1,h2,h3){text-wrap:balance;overflow-wrap:anywhere}
html[lang="ar"] :is(h1,h2,h3){text-wrap:pretty}
p,li{overflow-wrap:break-word}
::selection{background:#e0b897;color:#142b30}
:focus-visible{outline:3px solid #e4a876!important;outline-offset:3px}
a,button,summary,input,select,textarea{touch-action:manipulation}
a{text-underline-offset:3px}
img{max-width:100%;height:auto}
main{min-width:0}
:is(.header,.site-header){
  border-bottom:1px solid rgba(17,47,52,.08);
  box-shadow:0 6px 35px rgba(12,37,45,.045);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}
.header{background:rgba(251,249,245,.96)}
.site-header{background:rgba(250,248,244,.96)}
.header .logo,.site-header .brand{
  letter-spacing:.01em;
  font-weight:800;
  color:var(--identity-deep);
}
.header .logo{font-family:Georgia,"Times New Roman",serif;line-height:1.12}
html[lang="ar"] .header .logo{font-family:"Noto Sans Arabic",Tahoma,Arial,sans-serif}
.header .logo small,.site-header .brand-text small{
  letter-spacing:.07em;
  opacity:.78;
}
.site-header .brand-mark{
  background:linear-gradient(145deg,#1b4d53,#0d313b);
  border:1px solid rgba(255,255,255,.18);
  color:#f7e6d0;
  box-shadow:0 9px 24px rgba(8,40,45,.18);
}
:is(.site-nav,.nav) a:not(.nav-line):hover{color:var(--identity-copper-dark)}
:is(.lang-switcher, .language-switcher){isolation:isolate}
.top{background:var(--identity-deep);color:#f0e5d4}
:is(.kicker,.eyebrow,.tp-kicker,.rs-eyebrow){
  color:var(--identity-copper-dark);
  font-weight:850;
  letter-spacing:.11em;
}
:is(.section,.tp-section,.rs-section) h2{font-weight:800;letter-spacing:-.024em;line-height:1.24}
html[lang="ja"] :is(.section,.tp-section,.rs-section) h2{letter-spacing:.005em;line-height:1.4}
html[lang="ar"] :is(.section,.tp-section,.rs-section) h2{letter-spacing:0}
:is(.section,.tp-section,.rs-section)>:is(.container,.wrap,.tp-wrap,.rs-wrap)>p{max-width:78ch}
:is(.hero,.pagehero,.tours-index-hero,.tour-hero,.tourhero,.tp-hero,.rs-hero){isolation:isolate}
html[lang="ja"] .hero.hero-cinematic{
  background-color:var(--identity-deep);
}
html[lang="ja"] .hero.hero-cinematic .hero-cinematic-shade{
  background:linear-gradient(90deg,rgba(6,26,31,.93),rgba(6,26,31,.70) 51%,rgba(6,26,31,.16))!important;
}
html[lang="ja"] .hero.hero-cinematic h1{
  font-size:clamp(2.4rem,5.25vw,5.15rem);
  line-height:1.24;
  letter-spacing:.02em;
  max-width:16.8em;
  font-weight:850;
  text-wrap:balance;
}
html[lang="ja"] .hero.hero-cinematic .eyebrow{color:#f7cf9b;letter-spacing:.14em}
html[lang="ja"] .hero.hero-cinematic .hero-lead{max-width:690px;color:#f6f1e8}
html[lang="ja"] .hero.hero-cinematic .hero-guide-card{
  border:1px solid rgba(255,255,255,.36);
  box-shadow:0 25px 60px rgba(0,0,0,.15);
  -webkit-backdrop-filter:blur(15px);
  backdrop-filter:blur(15px);
}
html:is([lang="en"],[lang="ar"]) .home-premium>.hero{
  min-height:clamp(590px,71vh,820px);
  background:var(--identity-deep);
}
html:is([lang="en"],[lang="ar"]) .home-premium>.hero:after{
  background:linear-gradient(90deg,rgba(5,26,32,.92) 0%,rgba(5,26,32,.67) 50%,rgba(5,26,32,.18) 100%);
}
html[lang="ar"] .home-premium>.hero:after{
  background:linear-gradient(270deg,rgba(5,26,32,.92) 0%,rgba(5,26,32,.67) 50%,rgba(5,26,32,.18) 100%);
}
html:is([lang="en"],[lang="ar"]) .home-premium>.hero h1{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.65rem,5.5vw,5.6rem);
  font-weight:650;
  letter-spacing:-.04em;
  line-height:1.07;
  max-width:13ch;
  text-shadow:0 5px 25px rgba(0,0,0,.13);
}
html[lang="ar"] .home-premium>.hero h1{
  font-family:"Noto Sans Arabic",Tahoma,Arial,sans-serif;
  font-size:clamp(2.2rem,5.1vw,4.8rem);
  letter-spacing:0;
  line-height:1.37;
  font-weight:800;
  max-width:14ch;
}
html:is([lang="en"],[lang="ar"]) .home-premium>.hero .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#f9d4a9;
  font-size:clamp(.78rem,1.2vw,.95rem);
  letter-spacing:.12em;
  text-transform:none;
}
html:is([lang="en"],[lang="ar"]) .home-premium>.hero .eyebrow:before{
  content:"";height:1px;width:34px;background:#e6ba83;display:block;flex:none;
}
html:is([lang="en"],[lang="ar"]) .home-premium>.hero p{max-width:680px;color:#fcf7ee;line-height:1.85}
html:is([lang="en"],[lang="ar"]) .home-premium>.hero .btn{
  box-shadow:0 12px 32px rgba(5,26,32,.14);
}
html:is([lang="en"],[lang="ar"]) .home-premium>.hero .btn:not(.light){
  background:var(--identity-copper);border-color:var(--identity-copper);
}
html:is([lang="en"],[lang="ar"]) .home-premium>.hero .btn:not(.light):hover{
  background:var(--identity-copper-dark);
}
:is(.hero,.tour-hero,.tourhero,.tp-hero,.rs-hero) h1{
  text-wrap:balance;
}
:is(.btn,.nav-cta,.nav-line,.tp-btn,.rs-button,button[type="submit"]){
  border-radius:12px;
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
:is(.btn,.nav-cta,.nav-line,.tp-btn,.rs-button,button[type="submit"]):hover{
  transform:translateY(-2px);
}
:is(.btn,.nav-cta,.nav-line,.tp-btn,.rs-button,button[type="submit"]):active{
  transform:translateY(0);
}
:is(.card,.tour-card,.service-card,.journey-service,.home-area,.process-card,.home-flow-step,.related-tour-card,.tp-service-card,.rs-photo-card,.rs-activity-card){
  border-radius:var(--identity-radius);
  box-shadow:0 12px 42px rgba(10,38,44,.065);
  border-color:var(--identity-stroke);
  transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease;
}
:is(.card,.tour-card,.service-card,.journey-service,.home-area,.related-tour-card,.tp-service-card,.rs-photo-card,.rs-activity-card):hover{
  transform:translateY(-5px);
  box-shadow:var(--identity-shadow);
  border-color:rgba(187,121,83,.34);
}
:is(.tour-card,.card,.journey-service,.related-tour-card,.tp-service-card,.rs-photo-card){overflow:hidden}
:is(.tour-card,.card,.journey-service,.related-tour-card,.tp-service-card,.rs-photo-card) img{
  transition:transform .55s cubic-bezier(.2,.6,.2,1),filter .4s ease;
}
:is(.tour-card,.card,.journey-service,.related-tour-card,.tp-service-card,.rs-photo-card):hover img{
  transform:scale(1.035);
  filter:saturate(1.05) contrast(1.02);
}
:is(.home-trust,.trust-ribbon){border-color:var(--identity-stroke)}
:is(.home-trust-item,.trust-ribbon-item){font-weight:650}
:is(.home-trust-icon,.trust-icon,.service-icon,.process-icon,.journey-service-icon){
  background:#e8eee6;
  color:var(--identity-nile);
  border-color:#d6e4db;
}
:is(.home-premium .home-services,.home-premium .tinted,.muted-section,.booking-flow){
  background:linear-gradient(145deg,#f2eee5,#faf7f0);
}
:is(.pagehero,.tours-index-hero){
  background:linear-gradient(115deg,#f2ece1,#faf8f4);
  border-bottom:1px solid var(--identity-stroke);
}
:is(.pagehero,.tours-index-hero) h1{color:var(--identity-ink);line-height:1.2}
:is(.pagehero,.tours-index-hero) .eyebrow{color:var(--identity-copper-dark)}
:is(.tour-hero,.tourhero){border-color:var(--identity-stroke)}
:is(.tour-hero,.tourhero) h1{line-height:1.2;letter-spacing:-.01em}
html[lang="ja"] .tour-hero h1{letter-spacing:0;line-height:1.43}
:is(.gallery-button,.gallery img,.tour-hero-media img,.tourhero img){border-radius:14px}
:is(.inquiry-form,.form-card,.booking-card,.rs-booking-body,.tp-booking-body){
  border-color:var(--identity-stroke);
  box-shadow:0 14px 42px rgba(7,39,48,.06);
}
:is(input,select,textarea){max-width:100%;font:inherit}
:is(.inquiry-form,.form-card,.booking-card,.rs-booking-body,.tp-booking-body) :is(input,select,textarea){
  border-radius:10px;border-color:rgba(17,47,52,.21);
}
:is(.inquiry-form,.form-card,.booking-card,.rs-booking-body,.tp-booking-body) :is(input,select,textarea):focus{
  outline:2px solid #b99470;outline-offset:1px;
}
.transfer-pro{--tp-ink:var(--identity-ink);--tp-teal:var(--identity-nile);--tp-pale:#f2eee6;--tp-line:var(--identity-stroke)}
#redsea-page{color:var(--identity-ink)}
.transfer-pro .tp-hero:after{background:linear-gradient(90deg,rgba(5,27,33,.93),rgba(5,27,33,.68) 48%,rgba(5,27,33,.16))}
html[dir="rtl"] .transfer-pro .tp-hero:after{background:linear-gradient(270deg,rgba(5,27,33,.93),rgba(5,27,33,.68) 48%,rgba(5,27,33,.16))}
#redsea-page .rs-hero:before{background:linear-gradient(90deg,rgba(5,27,33,.92),rgba(5,27,33,.64) 51%,rgba(5,27,33,.1))}
html[dir="rtl"] #redsea-page .rs-hero:before{background:linear-gradient(270deg,rgba(5,27,33,.92),rgba(5,27,33,.64) 51%,rgba(5,27,33,.1))}
.transfer-pro .tp-hero h1,#redsea-page .rs-hero h1{
  font-size:clamp(2.35rem,5vw,4.8rem);
  font-weight:750;
  line-height:1.22;
}
html[lang="ar"] :is(.transfer-pro .tp-hero h1,#redsea-page .rs-hero h1){line-height:1.45;font-size:clamp(2.15rem,4.7vw,4.3rem)}
.transfer-pro .tp-service-card,#redsea-page .rs-photo-card,#redsea-page .rs-activity-card{border-radius:var(--identity-radius)}
:is(.footer,.site-footer){
  background:var(--identity-deep);
  color:#f6f0e7;
}
:is(.footer,.site-footer) a:hover{color:#edc59c}
details summary{cursor:pointer}
html[dir="rtl"] .home-premium>.hero .eyebrow:before{order:0}
@media(max-width:900px){
  html:is([lang="en"],[lang="ar"]) .home-premium>.hero{min-height:630px}
  .section{padding-block:clamp(50px,7vw,82px)}
  :is(.card,.tour-card,.service-card,.journey-service,.home-area,.process-card,.home-flow-step,.related-tour-card,.tp-service-card,.rs-photo-card,.rs-activity-card){border-radius:18px}
}
@media(max-width:640px){
  html{scroll-padding-top:80px}
  .header .logo small,.site-header .brand-text small{letter-spacing:0}
  html:is([lang="en"],[lang="ar"]) .home-premium>.hero{min-height:580px}
  html:is([lang="en"],[lang="ar"]) .home-premium>.hero h1{font-size:clamp(2.45rem,9.2vw,3.8rem);max-width:16ch}
  html[lang="ar"] .home-premium>.hero h1{font-size:clamp(2.2rem,8vw,3.35rem);max-width:15ch}
  html[lang="ja"] .hero.hero-cinematic h1{font-size:clamp(2rem,8.3vw,3.4rem)}
  :is(.hero,.pagehero,.tour-hero,.tourhero,.tp-hero,.rs-hero) h1{overflow-wrap:break-word}
  :is(.inquiry-form,.form-card,.rs-booking-body,.tp-booking-body){max-width:100%}
  :is(.btn,.nav-cta,.nav-line,.tp-btn,.rs-button){min-height:44px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  :is(.btn,.nav-cta,.nav-line,.tp-btn,.rs-button,.card,.tour-card,.service-card,.journey-service,.home-area,.related-tour-card,.tp-service-card,.rs-photo-card,img){transition:none!important;animation:none!important}
  :is(.btn,.nav-cta,.nav-line,.tp-btn,.rs-button,.card,.tour-card,.service-card,.journey-service,.home-area,.related-tour-card,.tp-service-card,.rs-photo-card):hover{transform:none!important}
}


/* ===== First-impression motion layer — 17 Oct 2026 =====
   Intentional, finite, composited motion. No external animation libraries.
   Reduced-motion users get an immediately visible, static experience. */
:root{--identity-motion-ease:cubic-bezier(.22,1,.36,1)}

/* Visual focus: the first hero receives a restrained cinematic treatment. */
html[lang="ja"] .hero.hero-cinematic .hero-cinematic-media img,
html:is([lang="en"],[lang="ar"]) main.home-premium>.hero>img{
  transform-origin:center 52%;
}
html[lang="ja"] .hero.hero-cinematic .hero-cinematic-shade{
  background:
    linear-gradient(90deg,rgba(6,26,31,.88) 0%,rgba(6,26,31,.62) 46%,rgba(6,26,31,.12) 100%),
    linear-gradient(0deg,rgba(6,26,31,.46),transparent 54%)!important;
}
html[dir="rtl"] .home-premium>.hero:before{
  background:linear-gradient(270deg,rgba(5,26,32,.88),rgba(5,26,32,.63) 52%,rgba(5,26,32,.12))!important;
}
html[lang="en"] .home-premium>.hero:before{
  background:linear-gradient(90deg,rgba(5,26,32,.88),rgba(5,26,32,.63) 52%,rgba(5,26,32,.12))!important;
}

/* Warm signature rule before an eyebrow / kicker, visually linking languages. */
html[lang="ja"] .hero.hero-cinematic .hero-copy>.eyebrow,
html:is([lang="en"],[lang="ar"]) main.home-premium>.hero .eyebrow{
  text-shadow:0 1px 12px rgba(7,31,35,.24);
}
html[lang="ja"] .hero.hero-cinematic .hero-copy>.eyebrow{
  display:flex;align-items:center;gap:12px;
}
html[lang="ja"] .hero.hero-cinematic .hero-copy>.eyebrow:before{
  content:"";width:38px;height:1px;flex:none;background:#f3c593;
}

/* Sharper CTA hierarchy: still ordinary links, with safe hover feedback. */
html[lang="ja"] .hero.hero-cinematic .hero-primary-cta,
html:is([lang="en"],[lang="ar"]) main.home-premium>.hero .btn.wa{
  box-shadow:0 14px 36px rgba(4,25,31,.18),0 0 0 1px rgba(255,255,255,.13) inset;
}
@media(hover:hover) and (pointer:fine){
  html[lang="ja"] .hero.hero-cinematic .hero-primary-cta:hover,
  html:is([lang="en"],[lang="ar"]) main.home-premium>.hero .btn.wa:hover{
    transform:translateY(-3px);
    box-shadow:0 19px 45px rgba(4,25,31,.29),0 0 0 1px rgba(255,255,255,.24) inset;
  }
  :is(.tour-card,.card,.related-tour-card,.journey-service,.tp-service-card,.rs-photo-card) :is(h3,.related-tour-title){
    transition:color .23s ease;
  }
  :is(.tour-card,.card,.related-tour-card,.journey-service,.tp-service-card,.rs-photo-card):hover :is(h3,.related-tour-title){
    color:var(--identity-copper-dark);
  }
  :is(.site-nav,.nav)>a:not(.nav-cta,.nav-line,.btn){
    background-image:linear-gradient(var(--identity-copper),var(--identity-copper));
    background-repeat:no-repeat;
    background-size:0 2px;
    background-position:0 100%;
    transition:background-size .27s ease,color .2s ease;
  }
  :is(.site-nav,.nav)>a:not(.nav-cta,.nav-line,.btn):hover{
    background-size:100% 2px;
  }
}

/* Entrance choreography affects only above-the-fold hero elements.
   It never sets display:none and never depends on JS or scrolling. */
@keyframes identity-hero-rise{
  from{opacity:0;transform:translate3d(0,18px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes identity-photo-settle{
  from{transform:scale(1.055)}
  to{transform:scale(1)}
}
@keyframes identity-line-draw{
  from{transform:scaleX(.35);opacity:.35}
  to{transform:scaleX(1);opacity:1}
}
@media(prefers-reduced-motion:no-preference){
  html[lang="ja"] .hero.hero-cinematic .hero-cinematic-media img,
  html:is([lang="en"],[lang="ar"]) main.home-premium>.hero>img{
    animation:identity-photo-settle 11s cubic-bezier(.2,.55,.3,1) both;
  }
  html[lang="ja"] .hero.hero-cinematic .hero-copy>.eyebrow,
  html:is([lang="en"],[lang="ar"]) main.home-premium>.hero .eyebrow{
    animation:identity-hero-rise .75s var(--identity-motion-ease) .08s both;
  }
  html[lang="ja"] .hero.hero-cinematic .hero-copy>h1,
  html:is([lang="en"],[lang="ar"]) main.home-premium>.hero h1{
    animation:identity-hero-rise .95s var(--identity-motion-ease) .15s both;
  }
  html[lang="ja"] .hero.hero-cinematic .hero-copy>.hero-lead,
  html:is([lang="en"],[lang="ar"]) main.home-premium>.hero .wrap>p{
    animation:identity-hero-rise .9s var(--identity-motion-ease) .30s both;
  }
  html[lang="ja"] .hero.hero-cinematic .hero-copy>.hero-actions,
  html:is([lang="en"],[lang="ar"]) main.home-premium>.hero .buttons{
    animation:identity-hero-rise .9s var(--identity-motion-ease) .42s both;
  }
  html[lang="ja"] .hero.hero-cinematic .hero-proofline,
  html:is([lang="en"],[lang="ar"]) main.home-premium>.hero .badges{
    animation:identity-hero-rise .9s var(--identity-motion-ease) .55s both;
  }
  html[lang="ja"] .hero.hero-cinematic .hero-copy>.eyebrow:before{
    transform-origin:left center;
    animation:identity-line-draw .85s var(--identity-motion-ease) .2s both;
  }
}
@media(max-width:680px){
  /* On phones avoid continuous large-image compositing at page load. */
  html[lang="ja"] .hero.hero-cinematic .hero-cinematic-media img,
  html:is([lang="en"],[lang="ar"]) main.home-premium>.hero>img{
    animation:none!important;
    transform:none!important;
  }
  html:is([lang="en"],[lang="ar"]) main.home-premium>.hero .eyebrow{letter-spacing:.025em}
}
@media(prefers-reduced-motion:reduce){
  html[lang="ja"] .hero.hero-cinematic :is(.hero-copy,.hero-copy>*,.hero-proofline),
  html:is([lang="en"],[lang="ar"]) main.home-premium>.hero :is(h1,p,.eyebrow,.buttons,.badges),
  html[lang="ja"] .hero.hero-cinematic .hero-cinematic-media img,
  html:is([lang="en"],[lang="ar"]) main.home-premium>.hero>img{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }
}


/* Daichan global surface system — Desert Sand 02, approved 2026-10-24.
   Non-hero, non-navigation backgrounds only. Inherits across JA/EN/AR. */
:root{
  --identity-paper:#F0E5D5;
  --identity-sand:#E6D6C2;
  --brand-paper:#F0E5D5;
  --m-paper:#F0E5D5;
  --cream:#F0E5D5;
  --daichan-page-sand:#F0E5D5;
  --daichan-card-ivory:#FBF6EE;
  --daichan-border-sand:#DDCBB5;
}
html{background-color:var(--daichan-page-sand)}
html body{background-color:var(--daichan-page-sand)}
/* Japanese landing editorials formerly carried full-width, pure white bands. */
body.home-page :is(.trust-ribbon,.services,.booking-flow,.transfer,.assurance-section,.areas,.faq,#featured-tours,.tour-section){
  background-color:var(--daichan-page-sand);
}
body.home-page :is(.trust-ribbon-item,.tour-card,.process-card,.faq-list details){
  background-color:var(--daichan-card-ivory);
}
/* Common informational blocks: cards retain a lighter accessible surface. */
:is(.section.tinted,.muted-section){
  background-color:var(--daichan-page-sand);
}
