@font-face{font-family:"TnSerif";src:url(fonts/tn-serif.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"TnSerif";src:url(fonts/tn-serif-i.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"TnSans";src:url(fonts/tn-sans.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"TnArabic";src:url(fonts/tn-ar.woff2) format("woff2");font-weight:400;font-display:swap}
:root{--ivory:#f5efe4;--sand:#e8dcc8;--paper:#fbf8f2;--esp:#1c1511;--esp2:#2a201a;--gold:#c9a35f;--gold2:#a8803f;--mut:#6f6257;--line:rgba(28,21,17,.14);--serif:"TnSerif",Georgia,"Times New Roman",serif;--sans:"TnSans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--ar:"TnArabic","Geeza Pro","Noto Naskh Arabic",serif;--pad:clamp(20px,5vw,72px);--bar:var(--preview-bar,0px)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--paper);color:var(--esp);font-size:16px;line-height:1.55;overflow-x:hidden;padding-top:var(--bar)}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
em{font-style:italic}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.thread{position:fixed;left:calc(var(--pad)*.42);top:0;bottom:0;width:1px;background:rgba(201,163,95,.18);z-index:40;pointer-events:none}
.thread span{display:block;width:100%;height:100%;background:linear-gradient(var(--gold),var(--gold2));transform-origin:top;transform:scaleY(0)}
@media (max-width:700px){.thread{left:8px}}
/* header */
.top{position:fixed;top:var(--bar);left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px var(--pad);color:#fff;transition:background .4s,color .4s,padding .4s,box-shadow .4s}
.top.solid{background:rgba(251,248,242,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--esp);padding-top:10px;padding-bottom:10px;box-shadow:0 1px 0 var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-height:44px}
.mark{width:34px;height:34px;color:var(--gold)}
.bn{display:flex;flex-direction:column;line-height:1}
.bn b{font-family:var(--serif);font-weight:500;font-size:23px;letter-spacing:.01em}
.bn i{font-style:normal;font-size:10px;letter-spacing:.32em;text-transform:uppercase;opacity:.8;margin-top:3px}
.nav{display:flex;gap:30px}
.nav a{text-decoration:none;font-size:14px;letter-spacing:.04em;opacity:.85;padding:12px 0;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:8px;height:1px;background:var(--gold);transition:right .35s}
.nav a:hover::after{right:0}
.top-cta{display:flex;align-items:center;gap:10px}
.ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid currentColor;opacity:.9}
.ic svg{width:18px;height:18px;fill:currentColor}
.pill{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:99px;background:var(--gold);color:var(--esp);text-decoration:none;font-weight:600;font-size:14px;letter-spacing:.02em;transition:transform .3s,background .3s}
.pill:hover{transform:translateY(-2px);background:#d8b673}
@media (max-width:900px){.nav{display:none}}
@media (max-width:380px){.pill{padding:0 14px}}
/* hero */
.hero{position:relative;min-height:calc(100svh - var(--bar));display:flex;align-items:flex-end;overflow:hidden;background:var(--esp);color:#fff}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:118%;object-fit:cover;object-position:50% 40%;transform:scale(1.12);animation:heroIn 2.6s cubic-bezier(.2,.7,.1,1) forwards;will-change:transform}
@keyframes heroIn{to{transform:scale(1)}}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,10,.6) 0%,rgba(20,14,10,.18) 22%,rgba(20,14,10,.55) 45%,rgba(20,14,10,.86) 70%,rgba(20,14,10,.95) 100%)}
@media (min-width:901px){.hero-shade{background:linear-gradient(90deg,rgba(20,14,10,.9) 0%,rgba(20,14,10,.7) 38%,rgba(20,14,10,.15) 70%,rgba(20,14,10,.05) 100%),linear-gradient(180deg,rgba(20,14,10,.5),transparent 25%)}}
.hero-copy{text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero-copy{position:relative;z-index:2;padding:0 var(--pad) clamp(56px,9vh,96px);max-width:860px}
.where{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:#ecd3a0;font-weight:600;margin-bottom:18px}
.hl{font-family:var(--serif);font-weight:500;font-size:clamp(46px,8.4vw,112px);line-height:.96;letter-spacing:-.01em}
.hl .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hl .ln>span{display:inline-block;transform:translateY(105%);animation:lineUp 1.1s cubic-bezier(.2,.7,.1,1) forwards}
.hl .ln:nth-child(2)>span{animation-delay:.12s}.hl .ln:nth-child(3)>span{animation-delay:.24s}
.hl em{color:#ecd3a0}
@keyframes lineUp{to{transform:none}}
.ar{font-family:var(--ar);font-size:clamp(20px,2.4vw,28px);color:#ecd3a0;margin:18px 0 6px;text-align:left}
.sub{font-size:clamp(15px,1.3vw,18px);max-width:500px;opacity:.88;margin-top:8px}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:99px;text-decoration:none;font-weight:600;font-size:15px;letter-spacing:.02em;transition:transform .3s,background .3s,color .3s;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn.gold{background:var(--gold);color:var(--esp)}
.btn.gold:hover{background:#d8b673}
.btn.line{border:1px solid rgba(255,255,255,.6);color:#fff}
.btn.line:hover{background:#fff;color:var(--esp)}
.btn.dark{background:var(--esp);color:var(--ivory)}
.btn.wide{width:100%;margin-top:26px}
.stars{display:inline-flex;align-items:center;gap:8px;margin-top:26px;text-decoration:none;font-size:14px;opacity:.92;min-height:44px}
.stars .st{color:var(--gold);letter-spacing:2px}
.scrollcue{position:absolute;right:var(--pad);bottom:40px;width:1px;height:70px;background:rgba(255,255,255,.25);overflow:hidden;z-index:2}
.scrollcue span{position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--gold);animation:cue 2.2s ease-in-out infinite}
@keyframes cue{to{top:100%}}
@media (max-width:700px){.scrollcue{display:none}.hero-btns .btn{flex:1 1 auto}}
/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.2,.7,.1,1),transform 1s cubic-bezier(.2,.7,.1,1)}
.rv.in{opacity:1;transform:none}
.hero .rv{transition-delay:.5s}
/* headings */
.h2{font-family:var(--serif);font-weight:500;font-size:clamp(40px,6vw,84px);line-height:.98;letter-spacing:-.01em}
.h2 em{color:var(--gold2)}
.h2.light{color:var(--ivory)}.h2.light em{color:#ecd3a0}
.lede{font-size:clamp(15px,1.25vw,18px);color:var(--mut);max-width:440px;margin-top:20px}
.lede.light{color:rgba(245,239,228,.75)}
/* care */
.care{padding:clamp(80px,12vw,160px) var(--pad);background:var(--paper);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(32px,6vw,96px);row-gap:28px;align-items:start}
.care-head{position:sticky;top:calc(var(--bar) + 110px)}
.menu{list-style:none;border-top:1px solid var(--line)}
.menu li{border-bottom:1px solid var(--line)}
.menu button{width:100%;display:grid;grid-template-columns:48px 1fr 40px;grid-template-rows:auto auto;column-gap:14px;text-align:left;padding:24px 0;min-height:64px;align-items:center;transition:padding .4s}
.menu .n{grid-row:1/3;font-size:12px;color:var(--gold2);letter-spacing:.1em;align-self:start;padding-top:12px}
.menu .nm{font-family:var(--serif);font-size:clamp(28px,3.2vw,44px);line-height:1.05;transition:color .3s,transform .4s}
.menu .ds{grid-column:2;font-size:14px;color:var(--mut);margin-top:4px}
.menu .add{grid-column:3;grid-row:1/3;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);position:relative;transition:background .3s,border-color .3s,transform .4s}
.menu .add::before,.menu .add::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:var(--esp);transform:translate(-50%,-50%);transition:transform .4s,background .3s}
.menu .add::after{transform:translate(-50%,-50%) rotate(90deg)}
.menu button:hover .nm{transform:translateX(8px);color:var(--gold2)}
.menu button.on .add{background:var(--gold);border-color:var(--gold);transform:rotate(180deg)}
.menu button.on .add::after{transform:translate(-50%,-50%) rotate(0deg)}
.menu button.on .nm{color:var(--gold2)}
.care-note{grid-column:2;font-size:14px;color:var(--mut)}
.care-note a{color:var(--esp);font-weight:600;text-decoration-color:var(--gold);text-underline-offset:4px;display:inline-block;padding:12px 0}
@media (max-width:860px){.care{grid-template-columns:1fr}.care-head{position:static}.care-note{grid-column:1}}
/* house */
.house{background:var(--esp);color:var(--ivory);position:relative}
.house-pin{display:flex;gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(80px,10vw,130px) 0 clamp(80px,10vw,130px) var(--pad);overflow:hidden}
.house-intro{flex:0 0 min(380px,32vw)}
.swipe{display:none;margin-top:22px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.reel{display:flex;gap:22px;align-items:flex-end;will-change:transform;padding-right:var(--pad)}
.fr{flex:0 0 auto;position:relative;overflow:hidden;border-radius:4px;clip-path:inset(12% 0 12% 0);transition:clip-path 1.3s cubic-bezier(.2,.7,.1,1)}
.fr.in{clip-path:inset(0 0 0 0)}
.fr img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);transition:transform 1.6s cubic-bezier(.2,.7,.1,1)}
.fr.in img{transform:scale(1)}
.fr.tall{width:clamp(240px,22vw,340px);aspect-ratio:9/15}
.fr.wide{width:clamp(380px,40vw,620px);aspect-ratio:16/10}
.fr.sq{width:clamp(260px,26vw,400px);aspect-ratio:3/4}
.fr figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 16px;font-size:13px;letter-spacing:.06em;background:linear-gradient(transparent,rgba(16,11,8,.78))}
.fr figcaption span{color:var(--gold);margin-right:8px;font-size:11px}
@media (min-width:901px){.fr.tall{width:auto;height:min(66vh,640px)}.fr.wide{width:auto;height:min(52vh,500px)}.fr.sq{width:auto;height:min(58vh,560px)}}
@media (max-width:900px){.house-pin{flex-direction:column;align-items:stretch;padding-right:0}.house-intro{flex:none;padding-right:var(--pad)}.swipe{display:block}.reel{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:6px;align-items:stretch}.reel::-webkit-scrollbar{display:none}.fr{scroll-snap-align:start}.fr.tall{width:68vw;aspect-ratio:auto;height:110vw;max-height:520px}.fr.wide{width:86vw;aspect-ratio:auto;height:110vw;max-height:520px}.fr.sq{width:78vw;aspect-ratio:auto;height:110vw;max-height:520px}}
/* words */
.words{padding:clamp(80px,12vw,160px) var(--pad);background:var(--ivory);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,6vw,96px);align-items:start}
.score .big{font-family:var(--serif);font-size:clamp(110px,15vw,210px);line-height:.85;color:var(--esp)}
.score .st{color:var(--gold2);letter-spacing:5px;font-size:20px;margin-top:10px}
.score .cap{color:var(--mut);font-size:14px;margin-top:6px}
.quotes{display:grid;gap:0}
.quotes blockquote{border-top:1px solid var(--line);padding:30px 0}
.quotes blockquote:last-child{border-bottom:1px solid var(--line)}
.quotes p{font-family:var(--serif);font-size:clamp(23px,2.3vw,32px);line-height:1.22}
.quotes cite{display:block;font-style:normal;font-size:13px;color:var(--mut);letter-spacing:.06em;margin-top:14px}
.tags{grid-column:2;display:flex;flex-wrap:wrap;gap:8px;margin-top:-20px}
.tags span{border:1px solid var(--line);border-radius:99px;padding:8px 14px;font-size:13px;background:var(--paper)}
.tags-cap{grid-column:2;font-size:12px;color:var(--mut);margin-top:-40px}
@media (max-width:860px){.words{grid-template-columns:1fr}.tags,.tags-cap{grid-column:1}.tags{margin-top:0}.tags-cap{margin-top:-20px}}
/* book */
.book{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:var(--paper);min-height:100vh}
.book-photo{position:relative;overflow:hidden}
.book-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.planner{padding:clamp(70px,9vw,130px) var(--pad);max-width:760px}
fieldset{border:0;margin-top:30px}
legend{font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold2);margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:46px;padding:0 18px;border-radius:99px;border:1px solid var(--line);background:#fff;font-size:15px;transition:background .3s,color .3s,border-color .3s,transform .3s}
.chip:hover{border-color:var(--gold)}
.chip.on{background:var(--esp);color:var(--ivory);border-color:var(--esp)}
.hint{font-size:13px;color:var(--mut);margin-top:10px}
.fld{display:block;margin-top:30px}
.fld span{display:block;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold2);margin-bottom:10px}
.fld input{width:100%;min-height:52px;border:0;border-bottom:1px solid var(--esp);background:transparent;font:inherit;font-size:18px;padding:0 2px;border-radius:0}
.fld input:focus{outline:none;border-bottom-color:var(--gold)}
.fine{font-size:13px;color:var(--mut);margin-top:14px}
.fine a{color:var(--esp);font-weight:600;display:inline-block;padding:10px 0}
@media (max-width:860px){.book{grid-template-columns:1fr;min-height:0}.book-photo{height:62vw;max-height:420px}}
/* visit */
.visit{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);background:var(--esp);color:var(--ivory)}
.visit-photo{position:relative;overflow:hidden;min-height:520px}
.visit-photo img{position:absolute;inset:0;width:100%;height:115%;object-fit:cover;will-change:transform}
.visit-card{padding:clamp(70px,8vw,120px) var(--pad)}
.visit-card .h2{color:var(--ivory)}.visit-card .h2 em{color:#ecd3a0}
.addr{font-family:var(--serif);font-size:clamp(24px,2.2vw,30px);line-height:1.25;margin-top:26px}
.pc{font-family:var(--sans);font-size:13px;letter-spacing:.08em;color:var(--gold)}
.hrs{margin-top:28px;border-top:1px solid rgba(245,239,228,.18)}
.hrs div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(245,239,228,.18);font-size:15px}
.hrs div span:last-child{color:#ecd3a0}
.hnote,.acc{font-size:13px;color:rgba(245,239,228,.62);margin-top:12px}
.visit-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.visit-btns .btn.dark{background:transparent;border:1px solid rgba(245,239,228,.4)}
.lines{display:grid;margin-top:34px;border-top:1px solid rgba(245,239,228,.18)}
.lines a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;text-decoration:none;border-bottom:1px solid rgba(245,239,228,.18);font-size:16px;transition:color .3s,padding .3s}
.lines a:hover{color:var(--gold);padding-left:6px}
.lines small{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(245,239,228,.55)}
@media (max-width:860px){.visit{grid-template-columns:1fr}.visit-photo{min-height:0;height:72vw;max-height:460px}}
/* footer */
.foot{background:#120d0a;color:rgba(245,239,228,.7);padding:46px var(--pad) 96px;text-align:center;font-size:13px}
.foot-brand{font-family:var(--serif);font-size:30px;color:var(--ivory);display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:14px}
.foot-brand i{font-style:normal;font-family:var(--sans);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.foot-brand span{font-family:var(--ar);font-size:18px;color:rgba(245,239,228,.6)}
.foot p{margin-top:6px}
.cred{font-size:12px;opacity:.75;margin-top:18px!important}
/* fab */
.fab{position:fixed;right:18px;bottom:18px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.25);transform:scale(0);transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.fab.show{transform:scale(1)}
.fab svg{width:30px;height:30px;fill:#fff}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.hl .ln>span{transform:none}.fr{clip-path:none}.hero-media img{transform:none}}
