/* Warm paper, olive ink, a quiet Cairo setting. Content stays usable without JS. */
:root{--paper:#f7f4ed;--ink:#293e33;--muted:#5c655e;--line:#d6d9cf;--accent:#8b4f36;--gutter:clamp(24px,5.6vw,88px);--serif:Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{background:#d9e0cd;color:var(--ink)}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.045em}
h2{font-size:clamp(38px,4vw,58px)}
p{max-width:62ch}
.skip-link{position:fixed;top:12px;left:12px;padding:12px 20px;background:var(--ink);color:var(--paper);z-index:10;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.header{min-height:100px;padding:24px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.brand{font-family:var(--serif);font-size:28px;line-height:1.1;letter-spacing:-.045em;flex-shrink:0}
.brand span{display:block;margin-top:6px;font:10px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.header nav,.footer nav{display:flex;align-items:center;gap:32px}
.header nav{font-size:13px}
.nav-link,.email-link,.footer a{transition:color .18s ease;text-decoration:underline;text-underline-offset:5px;text-decoration-color:transparent}
.nav-link:hover,.email-link:hover,.footer a:hover{text-decoration-color:currentColor;color:var(--accent)}
.header-contact{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--ink);min-height:44px}
.contact-short{display:none}
.header-contact .contact-arrow{transition:transform .18s ease}
.header-contact:hover .contact-arrow{transform:translate(2px,-2px)}
.hero{min-height:600px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"intro media" "actions media";grid-template-rows:auto auto;align-content:center;align-items:start;column-gap:clamp(32px,5vw,72px);row-gap:28px;padding:64px var(--gutter)}
.hero-content{grid-area:intro;min-width:0;animation:arrive .65s ease-out both}
.hero-media{grid-area:media;min-width:0;align-self:center}
.hero-actions{grid-area:actions;min-width:0}
.hero-media .eyebrow{margin-bottom:16px}
.video-frame{position:relative;width:100%;aspect-ratio:16/9;min-height:202px;background:#172119;border:1px solid #c7cec1;border-radius:12px;overflow:hidden;box-shadow:0 14px 42px #293e3314}
.video-preview{display:block;width:100%;height:100%;position:relative}
.video-preview img{display:block;width:100%;height:100%;object-fit:contain}
.video-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0007,transparent 45%);pointer-events:none}
.video-preview:focus-visible{outline:3px solid var(--paper);outline-offset:-6px}
.play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--paper);color:var(--ink);box-shadow:0 2px 18px #0004;z-index:1;transition:transform .2s ease,background .2s ease}
.play-icon svg{width:26px;height:26px;fill:currentColor;margin-left:3px}
.video-preview:hover .play-icon{transform:translate(-50%,-50%) scale(1.07);background:#fff}
.play-label{position:absolute;left:20px;bottom:16px;font-size:12px;color:#fff;z-index:1}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:10px;font-size:12px;line-height:1.6;color:var(--muted)}
.video-caption>span{max-width:28ch}
.video-caption a{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.video-caption a:hover{color:var(--accent)}
.eyebrow{font-size:10px;line-height:1.4;letter-spacing:.17em;text-transform:uppercase;color:var(--accent);margin-bottom:24px;font-weight:600}
h1{font-size:clamp(54px,5.6vw,82px);max-width:13ch}
.hero-description{font-size:17px;line-height:1.7;max-width:37ch;margin-top:24px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:56px;padding:15px 25px;background:var(--ink);color:var(--paper);font-size:13px;line-height:1.5;transition:background .2s ease,transform .2s ease}
.button span{font-size:19px;line-height:1;transition:transform .2s ease}
.button:hover{background:#3c5245}
.button:hover span{transform:translate(2px,-2px)}
.button:active{transform:translateY(1px)}
.hero-actions .button{margin-top:0}
.hero-note{font-size:12px;margin-top:18px;color:var(--muted)}
.section{padding:88px var(--gutter);max-width:1600px;margin:0 auto}
.section-heading{max-width:640px;margin-bottom:42px}
.section-heading .eyebrow,.about .eyebrow,.contact .eyebrow{margin-bottom:18px}
.section-heading>p:last-child{color:var(--muted);margin-top:20px;max-width:52ch;font-size:16px}
.lesson-list{border-top:1px solid var(--line)}
.lesson{display:grid;grid-template-columns:44px minmax(0,1fr) 210px;align-items:start;gap:28px;border-bottom:1px solid var(--line);padding:30px 0}
.number{color:var(--accent);font-size:11px;padding-top:7px}
.lesson h3{font-size:29px;letter-spacing:-.025em;margin-bottom:12px}
.lesson p{font-size:14px;color:var(--muted);max-width:61ch;line-height:1.75}
.lesson-label{font-size:11px;color:var(--muted);text-align:right;padding-top:8px}
.section-note{font-size:13px;color:var(--muted);margin-top:24px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:64px;border-top:1px solid var(--line)}
.about-lead{font-family:var(--serif);font-size:28px;line-height:1.35;letter-spacing:-.02em;margin-bottom:24px;max-width:28ch}
.about-copy>p:not(:first-child){font-size:15px;color:var(--muted);margin-top:16px}
.about-copy>.about-detail{font-size:13px!important;padding-top:20px;border-top:1px solid var(--line);margin-top:24px!important}
.contact{max-width:none;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:64px}
.contact .eyebrow{color:#d8b4a0}
.contact-copy>p:first-child{font-size:16px;max-width:47ch;color:#e0e4da}
.button-light{background:var(--paper);color:var(--ink);margin-top:26px}
.button-light:hover{background:#e7e5d9}
.contact-note{font-size:11px;color:#d1d8cc;margin-top:14px}
.email-link{display:inline-block;margin-top:26px;font-size:12px;line-height:1.8;color:var(--paper);text-decoration-color:#89998a}
.email-link:hover{color:#e3c2ae}
.contact a:focus-visible{outline-color:#e3c2ae}
.footer{padding:28px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px;color:var(--muted)}
.footer a{display:inline-flex;align-items:center;gap:10px;min-height:44px}
.error-page{min-height:calc(100svh - 180px);padding:80px var(--gutter);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px}
.error-page h1{font-size:clamp(48px,6vw,84px);max-width:15ch}
@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero,.contact{padding-left:max(var(--gutter),calc((100vw - 1420px)/2));padding-right:max(var(--gutter),calc((100vw - 1420px)/2))}}
@media(max-width:1000px){.lesson{grid-template-columns:32px minmax(0,1fr) 160px;gap:20px}.about,.contact{gap:40px}.header nav{gap:24px}.hero{column-gap:32px}h1{font-size:58px}}
@media(max-width:900px){.hero{grid-template-columns:1fr;grid-template-areas:"intro" "media" "actions";min-height:0;gap:24px;padding-top:40px;padding-bottom:40px}.hero-content{max-width:650px}.hero-media{width:100%;max-width:640px}.hero-description{max-width:40ch}h1{font-size:70px}}
@media(max-width:700px){
 :root{--gutter:20px}
 .header{min-height:76px;padding-top:15px;padding-bottom:15px;gap:12px;flex-wrap:wrap}
 .brand{font-size:24px}.brand span{font-size:9px}
 .header nav{gap:0}.header-contact{font-size:12px;gap:10px;white-space:nowrap}
 .contact-full,.nav-link{display:none}.contact-short{display:inline}
 .hero{padding:28px var(--gutter) 36px;gap:18px}
 h1{font-size:clamp(36px,10.7vw,48px);max-width:none}
 .hero .eyebrow{font-size:9px;margin-bottom:14px}
 .hero-description{font-size:15px;max-width:36ch;margin-top:14px;line-height:1.65}
 .hero-actions .button{width:100%;min-height:54px}
 .hero-note{font-size:12px;margin-top:12px;text-align:center}
 .video-frame{aspect-ratio:4/3;border-radius:10px}
 /* The source thumbnail has black side bars. Crop those in the preview only. */
 .video-preview img{position:absolute;top:0;left:50%;width:176%;height:auto;max-width:none;transform:translateX(-50%)}
 .video-frame.is-playing{aspect-ratio:16/9}
 .play-icon{width:56px;height:56px}.play-label{left:16px;bottom:14px;font-size:12px}
 .video-caption{font-size:12px;gap:10px;margin-top:4px;flex-wrap:wrap}.video-caption>span{max-width:none}
 .section{padding:48px var(--gutter)}h2{font-size:38px}
 .section-heading{margin-bottom:30px}.section-heading>p:last-child{font-size:14px;margin-top:18px}
 .lesson{grid-template-columns:24px minmax(0,1fr);gap:15px;padding:26px 0}
 .lesson h3{font-size:26px}.lesson p{font-size:14px}
 .lesson-label{grid-column:2;text-align:left;font-size:11px;padding-top:0;margin-top:-4px}
 .section-note{font-size:13px;margin-top:22px}
 .about,.contact{grid-template-columns:1fr;gap:28px}.about-lead{font-size:26px}
 .about-copy>p:not(:first-child){font-size:14px}.contact-copy>p:first-child{font-size:15px}
 .contact .button{width:100%}.email-link{font-size:12px}.email-link span:first-child{overflow-wrap:anywhere}
 .footer{padding-top:18px;padding-bottom:18px;font-size:11px;gap:12px;flex-wrap:wrap}.footer nav{gap:24px}
 .error-page{padding-top:50px;padding-bottom:50px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
