/* 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}
.header-contact span{transition:transform .18s ease}
.header-contact:hover span{transform:translate(2px,-2px)}
.hero{min-height:600px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,72px);padding:64px var(--gutter)}
.hero-content{min-width:0;animation:arrive .65s ease-out both}
.hero-media{min-width:0}
.hero-media .eyebrow{margin-bottom:16px}
.video-frame{position:relative;width:100%;aspect-ratio:16/9;min-height:200px;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:baseline;gap:20px;margin-top:16px;font-size:11px;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 .button{margin-top:30px}
.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{gap:32px}h1{font-size:58px}}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:0;gap:36px;padding-top:48px;padding-bottom:48px}.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){.header{min-height:90px;padding-top:20px;padding-bottom:20px;flex-wrap:wrap;gap:15px}.brand{font-size:25px}.header nav{gap:18px;flex-wrap:wrap}.header-contact{font-size:12px;gap:12px}.nav-link{display:none}.hero{padding:44px var(--gutter) 36px;gap:36px}h1{font-size:clamp(48px,9.5vw,66px);max-width:11ch}.hero .eyebrow{font-size:9px;margin-bottom:20px}.hero-description{font-size:15px;max-width:36ch;margin-top:21px}.hero .button{margin-top:24px}.hero-note{font-size:11px;margin-top:14px}.hero-media .eyebrow{margin-bottom:12px}.video-frame{border-radius:8px}.play-icon{width:56px;height:56px}.play-label{left:14px;bottom:12px;font-size:11px}.video-caption{font-size:10px;gap:12px;margin-top:10px}.video-caption>span{max-width:20ch}.section{padding:56px var(--gutter)}h2{font-size:40px}.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:10px;padding-top:0;margin-top:-4px}.section-note{font-size:12px;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}.email-link{font-size:12px}.email-link span:first-child{overflow-wrap:anywhere}.footer{padding-top:18px;padding-bottom:18px;font-size:10px;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}}
