:root{--paper:#f7f3eb;--ink:#302d25;--olive:#444835;--gold:#aa8651;--line:#d7cfbf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 Arial,Helvetica,sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(45px,5.5vw,88px);line-height:1.08;letter-spacing:-2px}h2{font-size:clamp(38px,4.1vw,64px);line-height:1.14;letter-spacing:-1.5px}h3{font-size:27px;line-height:1.3}em{font-weight:400;color:var(--gold)}p+p{margin-top:18px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ba935a;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;gap:14px;align-items:center;font:19px/1.3 Georgia,serif;letter-spacing:2px}.brand small{display:block;font:9px/2 Arial,sans-serif;letter-spacing:2.5px}.mark{border:1px solid var(--gold);border-radius:45% 45% 0 0;font:32px/1.4 Georgia,serif;padding:2px 12px;color:var(--gold)}nav{display:flex;gap:28px;align-items:center;font-size:12px}nav>a:not(.button):hover,.text-link:hover{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 25px;background:var(--olive);border:1px solid var(--olive);color:white;font:12px/1.5 Arial,sans-serif;letter-spacing:.8px}.button:hover{background:#5d6147}.small{padding:12px 18px}.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.light:hover{background:#e9dfcf}.menu{display:none}.hero{height:min(800px,calc(100svh - 96px));min-height:570px;position:relative;background:#50432d;color:white}.hero>img{position:absolute;inset:0;object-position:center 55%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,20,15,.73),rgba(15,20,15,.12) 85%),linear-gradient(0deg,rgba(15,20,15,.35),transparent 25%)}.hero-copy{position:relative;z-index:1;padding:110px 7% 90px;max-width:990px}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600;line-height:1.8;margin-bottom:25px}.hero .eyebrow{color:#e8d5b5}.hero h1 em{color:#e4c9a1}.hero-copy>p:not(.eyebrow){max-width:420px;margin-top:28px;color:#eee5d7;font-size:15px}.hero-copy>.button{margin-top:32px}.hero-bottom{position:absolute;bottom:28px;left:7%;right:7%;display:flex;justify-content:space-between;z-index:2;font-size:9px;letter-spacing:2px}.ribbon{display:flex;align-items:center;justify-content:center;gap:40px;background:var(--olive);color:#eee7d8;padding:22px 5%;font:15px Georgia,serif}.ribbon i{color:#c6a36e}.wrap{max-width:1280px;margin:auto;padding-left:6%;padding-right:6%}.intro{padding-top:110px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1fr;gap:60px 90px}.intro-text{padding-top:25px;font-size:14px}.intro-text>p:first-child{font:24px/1.5 Georgia,serif}.text-link{display:inline-block;font-size:11px;letter-spacing:1px;border-bottom:1px solid var(--gold);padding-bottom:7px;margin-top:25px}.arch-photo{height:620px;overflow:hidden;border-radius:46% 46% 0 0}.detail-photo{padding-top:90px}.detail-photo img{height:350px}.detail-photo p{margin-top:25px;font:20px/1.5 Georgia,serif;color:#706855}.rooms{padding-top:90px;padding-bottom:90px;border-top:1px solid var(--line)}.section-head{display:flex;gap:70px;align-items:flex-end;justify-content:space-between;margin-bottom:45px}.section-head>p{max-width:350px;font-size:13px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 28px}.room h3{font-size:23px;margin:20px 0 8px}.room p{font-size:12px;color:#756d60}.photo-open{border:0;padding:0;background:transparent;position:relative;display:block;overflow:hidden}.room .photo-open{height:280px;width:100%}.photo-open img{transition:transform .5s}.photo-open:hover img{transform:scale(1.035)}.photo-open span{position:absolute;bottom:12px;right:12px;background:#f7f3ebea;padding:7px 12px;font-size:10px}.note{font-size:11px;color:#756d60;margin-top:35px;max-width:850px}.terrace{display:grid;grid-template-columns:1.1fr 1fr;background:#e9e2d5}.terrace-img{min-height:610px}.terrace-copy{padding:85px 12%}.terrace-copy p:not(.eyebrow){font-size:13px;margin-top:25px}.services{padding-top:100px;padding-bottom:90px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}.service-grid article{border-top:1px solid var(--line);padding-top:20px}.service-grid article>span{font:11px Georgia,serif;color:var(--gold)}.service-grid h3{font-size:23px;margin:15px 0}.service-grid p{font-size:12px}.gallery-section{padding:90px 0;background:#ece8df}.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px}.filters button{border:1px solid #c6bdad;background:transparent;padding:9px 15px;font-size:11px;color:var(--ink)}.filters button[aria-pressed=true]{background:var(--olive);color:white;border-color:var(--olive)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery .photo-open{height:180px}.gallery [hidden]{display:none}.location{padding-top:100px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px}.location img{height:470px}.location p:not(.eyebrow){font-size:13px;margin-top:24px}.booking{background:var(--olive);color:var(--paper);padding:100px 0}.booking-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:75px}.booking h2 em{color:#dcc19a}.booking-layout>div>p:not(.eyebrow){font-size:13px;margin-top:28px;max-width:390px}.booking ol{padding-left:20px;font-size:12px;line-height:2.2;margin-top:30px}.booking-note{border-top:1px solid #81816d;padding-top:22px;color:#ded9ca}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{font-size:11px;letter-spacing:.3px}.full{grid-column:1/-1}input,select,textarea{width:100%;background:#faf7ef;color:var(--ink);border:1px solid #dfd8ca;border-radius:0;padding:12px 10px;font-size:13px;margin-top:7px;min-width:0}textarea{resize:vertical}.consent{display:flex;align-items:flex-start;gap:10px;font-size:10px;margin:22px 0}.consent input{width:16px;height:16px;margin:2px 0;flex-shrink:0}.inline{padding:0;border:0;color:inherit;background:none;text-decoration:underline;font-size:inherit}.submit{width:100%;background:#e8d6b6;border-color:#e8d6b6;color:var(--ink)}.submit:hover{background:#f5e6cd}.submit:disabled{opacity:.65;cursor:wait}.form-status{font-size:13px;line-height:1.6;margin-top:15px}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.faq{padding-top:90px;padding-bottom:90px;max-width:1000px}.faq h2{margin-bottom:35px}details{padding:20px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font:20px/1.5 Georgia,serif}details p{font-size:13px;padding-top:15px}footer{padding:50px 6%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;align-items:center}footer div{display:flex;flex-direction:column;font-size:12px}footer p{font-size:10px;color:#756d60}dialog{padding:35px;border:0;background:var(--paper);color:var(--ink);max-width:min(90vw,700px)}dialog::backdrop{background:#151712e8}.close{position:absolute;right:10px;top:8px;background:transparent;border:0;font-size:29px;color:inherit;z-index:3}#lightbox{max-width:96vw;width:1100px;background:transparent;color:white;padding:40px}#lightbox figure{margin:0}#lightbox img{height:75vh;object-fit:contain}figcaption{text-align:center;font-size:12px;margin-top:12px}.prev,.next{position:absolute;top:50%;border:1px solid #ffffff80;background:#25261fd9;color:white;padding:9px;font-size:21px}.prev{left:0}.next{right:0}#privacy h2{font-size:30px;margin:15px 0 25px}#privacy p{font-size:13px}
@media(min-width:1500px){.hero-copy{padding-left:calc((100vw - 1280px)/2 + 50px)}}@media(max-width:1000px){nav{gap:16px}.small{padding:10px}.room-grid{grid-template-columns:repeat(2,1fr)}.intro{gap:45px}.arch-photo{height:530px}.terrace-copy{padding:60px 9%}.booking-layout{gap:35px}.hero-copy{padding-top:100px}.gallery{grid-template-columns:repeat(3,1fr)}.section-head{gap:35px}}
@media(max-width:760px){html{scroll-padding-top:76px}header{height:76px;padding:0 5%}.brand{font-size:16px}.brand small{font-size:8px}.mark{font-size:27px}.menu{display:block;border:1px solid var(--line);background:transparent;padding:6px 11px;color:var(--ink);font-size:20px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:24px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:17px}nav.open{display:flex}.hero{min-height:620px;height:calc(92svh - 76px);max-height:800px}.hero:after{background:linear-gradient(90deg,#192016b8,#19201635),linear-gradient(0deg,#19201680,transparent)}.hero>img{object-position:58% center}.hero-copy{padding:110px 7% 70px}.hero h1{font-size:clamp(41px,9vw,61px);letter-spacing:-1.5px}.hero-copy>p:not(.eyebrow){max-width:310px;font-size:13px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px}.hero-bottom{font-size:8px;letter-spacing:1px}.hero-bottom>span{display:none}.ribbon{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center;font-size:12px}.ribbon i{display:none}.intro{padding-top:65px;padding-bottom:60px;grid-template-columns:1fr;gap:30px}.intro-text{padding-top:0}.intro-text>p:first-child{font-size:22px}.arch-photo{height:500px;max-width:400px;width:100%;justify-self:center}.detail-photo{padding-top:0}.detail-photo img{height:280px}.detail-photo p{font-size:18px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:25px}.rooms{padding-top:60px;padding-bottom:60px}.room-grid{gap:35px 14px}.room .photo-open{height:210px}.room h3{font-size:20px}.room p{font-size:11px}.room .text-link{font-size:9px;letter-spacing:0}.photo-open span{font-size:8px;right:6px;bottom:6px;padding:5px}.terrace{grid-template-columns:1fr}.terrace-img{min-height:0;height:350px}.terrace-copy{padding:50px 7%}.services{padding-top:60px;padding-bottom:60px}.service-grid{grid-template-columns:1fr 1fr;gap:25px}.service-grid h3{font-size:21px}.gallery-section{padding:60px 0}.gallery{grid-template-columns:repeat(2,1fr);gap:8px}.gallery .photo-open{height:150px}.filters{gap:7px}.filters button{font-size:10px;padding:7px 10px}.location{padding-top:60px;padding-bottom:60px;grid-template-columns:1fr;gap:35px}.location img{height:300px}.booking{padding:60px 0}.booking-layout{grid-template-columns:1fr;gap:35px}.booking-layout>div>p:not(.eyebrow){max-width:none}.form-grid{gap:14px}.faq{padding-top:60px;padding-bottom:60px}footer{align-items:flex-start;flex-direction:column}#lightbox{padding:35px 24px}#lightbox img{height:65vh}#privacy{padding:28px;max-height:85svh}.eyebrow{margin-bottom:18px}}
@media(max-width:380px){.room-grid{grid-template-columns:1fr}.room .photo-open{height:270px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.hero h1{font-size:39px}.service-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* 1.1: modern geometric icons and a restrained Moroccan ornamental rhythm. */
.icon{width:18px;height:18px;display:inline-block;vertical-align:middle;flex-shrink:0}.text-link .icon{width:15px;height:15px;margin-left:7px}.photo-open span .icon{width:12px;height:12px}.button>span{display:inline-flex}.hero-bottom a{display:flex;align-items:center;gap:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.room-types{margin:40px 0 55px}.room-types table{width:100%;border-collapse:collapse;text-align:left}.room-types caption{text-align:left;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:20px;color:#756d60}.room-types thead{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#7c6b4e}.room-types th,.room-types td{padding:22px 16px;border-bottom:1px solid var(--line)}.room-types th:first-child{padding-left:0}.room-types tbody th{font:20px/1.4 Georgia,serif;max-width:270px}.room-types td{font-size:12px}.room-types .text-link{margin:0;font-size:10px;white-space:nowrap}.equipment{padding-top:10px;padding-bottom:90px}.equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.equipment-grid details{break-inside:avoid}.nearby{padding-top:15px;padding-bottom:85px;display:grid;grid-template-columns:1fr 1fr;gap:65px}.distance-list h3{font-size:25px;margin-bottom:12px}.distance-list h3:not(:first-child){margin-top:30px}dl{margin:0}dl>div{display:flex;gap:20px;align-items:baseline;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}dd{margin:0;color:#8b6b3f;white-space:nowrap}.stay-conditions{padding-top:60px;padding-bottom:85px;border-top:1px solid var(--line);position:relative}.conditions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:40px}.conditions-grid article{padding-top:20px;border-top:1px solid var(--line)}.conditions-grid h3{font-size:24px;margin-bottom:15px}.conditions-grid p{font-size:12px}.form-grid small{display:block;font-size:10px;line-height:1.6;letter-spacing:0;margin-top:7px;color:#e0ddcf}.form-grid [hidden]{display:none}.equipment,.rooms,.faq{position:relative}.rooms:before,.stay-conditions:before{content:'';display:block;width:50px;height:20px;position:absolute;top:-10px;left:calc(50% - 25px);background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 20'%3E%3Cpath d='m25 1 3 5 6 1-4 4 1 6-6-3-6 3 1-6-4-4 6-1Z' fill='none' stroke='%23aa8651' stroke-width='.8'/%3E%3C/svg%3E")}.reveal{opacity:1;transform:none}@media(prefers-reduced-motion:no-preference){.reveal.pending{opacity:0;transform:translateY(24px)}.reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}.hero-copy{animation:enter-house 1s ease both}.hero>img{animation:patio-light 1.3s ease both}.hero-bottom .icon{animation:invite 2.8s ease-in-out infinite}@keyframes enter-house{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes patio-light{from{opacity:.4}to{opacity:1}}@keyframes invite{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}}
@media(max-width:1000px){.room-types th,.room-types td{padding:18px 10px}.room-types tbody th{font-size:18px}.room-types .text-link{white-space:normal}}
@media(max-width:760px){.room-types thead{display:none}.room-types table,.room-types tbody{display:block}.room-types tr{display:block;padding:21px 0;border-top:1px solid var(--line)}.room-types th,.room-types td{display:block;border:0;padding:5px 0}.room-types tbody th{max-width:none;font-size:22px}.room-types td[data-label]:before{content:attr(data-label) ' : ';color:#756d60}.room-types .text-link{margin-top:10px}.room-types caption{display:block;font-size:9px}.equipment{padding-bottom:60px}.equipment-grid{grid-template-columns:1fr}.nearby{grid-template-columns:1fr;gap:35px;padding-bottom:60px}.conditions-grid{grid-template-columns:1fr 1fr;gap:25px}.stay-conditions{padding-bottom:60px}.conditions-grid h3{font-size:21px}.menu{display:flex;align-items:center;justify-content:center;min-width:42px;min-height:42px}.close{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.gallery .photo-open{min-width:0}.form-grid label{min-width:0}.form-grid select{max-width:100%}}
@media(max-width:380px){.conditions-grid{grid-template-columns:1fr}}

@media(max-width:760px){input,select,textarea{font-size:16px}.filters button{min-height:40px}.room-types .text-link{padding-top:10px;padding-bottom:10px;min-height:44px}nav>a:not(.button){padding:7px 0}.room .text-link{padding-top:7px;padding-bottom:10px;min-height:40px}}
