:root{--paper:#fcfaf6;--cream:#f0e7dc;--plum:#321824;--wine:#7a3851;--gold:#d5b47c;--ink:#241b1e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Alexandria",sans-serif;font-weight:400}a{text-decoration:none;color:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}header{position:absolute;inset:0 0 auto;z-index:10;border-bottom:1px solid #ffffff2c}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;color:#fff}.logo{direction:ltr;display:flex;align-items:baseline;gap:5px;letter-spacing:.14em;font-family:"DM Serif Display",serif}.logo span{font-size:20px}.logo b{font-size:31px;font-weight:400;color:var(--gold)}.links{display:flex;gap:34px;font-size:13px}.links a{opacity:.8;transition:.2s}.links a:hover{opacity:1}.language{width:58px;height:40px;border:1px solid #ffffff80;background:#ffffff0d;color:#fff;font:600 12px Alexandria;cursor:pointer;transition:.25s}.language:hover{background:#fff;color:var(--plum);transform:translateY(-2px)}.hero{min-height:790px;position:relative;display:flex;align-items:center;color:#fff;background:url("https://images.unsplash.com/photo-1464366400600-7168b8af9bc3?auto=format&fit=crop&w=2000&q=90") center/cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#190a1230,#190a12eb),linear-gradient(0deg,#190a126b,transparent 50%)}.hero-content{position:relative;padding-top:86px}.eyebrow{margin:0 0 18px;color:#e2c69a;font-size:12px;font-weight:600;letter-spacing:.08em}.wine{color:var(--wine)}h1,h2,.gallery h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400}html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] .gallery h3{font-family:"Alexandria",sans-serif;font-weight:500;letter-spacing:-.055em}.hero h1{font-size:clamp(65px,8vw,112px);line-height:.98;margin:0}.lead{max-width:600px;margin:28px 0 34px;color:#ffffffd0;font-size:16px;line-height:2}.actions{display:flex;gap:16px;flex-wrap:wrap}.cta{position:relative;overflow:hidden;min-width:230px;display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:19px 24px;border:1px solid #fff;background:#fff;color:var(--plum);font-size:14px;font-weight:600;box-shadow:0 15px 35px #10070c35;transition:.3s}.cta:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,#ffffff85,transparent);transform:translateX(120%);transition:.65s}.cta:hover{transform:translateY(-5px);box-shadow:0 22px 45px #10070c60}.cta:hover:before{transform:translateX(-120%)}.cta i{font-style:normal;font-size:19px;transition:.25s}.cta:hover i{transform:translate(4px,-4px)}.cta:active,.language:active,.whatsapp:active{transform:scale(.94)}.ghost{background:#ffffff0b;color:#fff;backdrop-filter:blur(8px)}.facts{position:absolute;right:0;left:0;bottom:28px;display:flex;gap:28px;color:#ffffff8f;font-size:11px}.facts span+span:before{content:"•";color:var(--gold);margin-inline-end:28px}.section{padding:115px 0}.paper{background:var(--paper)}.heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:52px}.heading h2,.steps h2{font-size:clamp(42px,5vw,64px);line-height:1.15;margin:0}.heading>p{max-width:420px;color:#766b6e;line-height:1.9}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #d7cec4}.service-grid article{position:relative;min-height:310px;padding:38px 27px;border-left:1px solid #d7cec4;transition:.3s}.service-grid article:last-child{border-left:0}.service-grid article:hover{background:#f0e6dc;transform:translateY(-6px)}.service-grid small{position:absolute;left:22px;color:#9b8e91}.service-grid em{display:block;margin:18px 0 48px;color:var(--wine);font-size:30px;font-style:normal}.service-grid h3{font-size:18px;margin:0 0 12px}.service-grid p{color:#766b6e;font-size:13px;line-height:1.9}.dark{background:var(--plum);color:#fff}.gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:300px 300px;gap:18px}.gallery article{position:relative;background-image:linear-gradient(0deg,#180b11df,transparent 75%),var(--image);background-size:cover;background-position:center;overflow:hidden}.gallery article:after{content:"";position:absolute;inset:0;border:1px solid #fff0;transition:.3s}.gallery article:hover:after{inset:12px;border-color:#ffffff65}.gallery .large{grid-row:span 2}.gallery article div{position:absolute;z-index:1;inset:auto 28px 28px}.gallery small{color:var(--gold)}.gallery h3{font-size:34px;margin:8px 0}.gallery p{margin:0;color:#ffffffa8;font-size:13px}.cream{background:var(--cream)}.steps{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.plum{margin-top:38px;background:var(--plum);border-color:var(--plum);color:#fff}.step-list article{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:28px 0;border-top:1px solid #cdbfb0}.step-list article:last-child{border-bottom:1px solid #cdbfb0}.step-list b{width:42px;height:42px;border:1px solid #aa9784;border-radius:50%;display:grid;place-items:center;color:var(--wine)}.step-list h3{margin:0 0 7px;font-size:18px}.step-list p{margin:0;color:#766b6e;font-size:13px;line-height:1.8}footer{background:#1c1116;color:#fff;padding:65px 0 22px}.footer{display:flex;justify-content:space-between;padding-bottom:40px}.footer p,.footer a{display:block;color:#ffffff80;font-size:12px;line-height:2}.bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff18;padding-top:20px;color:#ffffff55;font-size:11px}.forma{direction:ltr;transition:.2s}.forma b{color:var(--gold);letter-spacing:.13em}.forma:hover{color:#fff}.whatsapp{position:fixed;z-index:9;left:20px;bottom:20px;background:#1f9d61;color:#fff;padding:15px 20px;border-radius:40px;box-shadow:0 10px 30px #0005;font-size:12px;font-weight:600;transition:.25s;animation:pulse 2.8s infinite}.whatsapp:hover{transform:translateY(-4px)}@keyframes pulse{50%{box-shadow:0 10px 30px #0005,0 0 0 10px #1f9d6100}}.reveal{opacity:0;transform:translateY(38px);transition:opacity .75s,transform .75s}.reveal.visible{opacity:1;transform:none}
html[dir=ltr] .service-grid article{border-left:0;border-right:1px solid #d7cec4}html[dir=ltr] .service-grid article:last-child{border-right:0}
@media(max-width:800px){.links{display:none}.hero{min-height:720px}.hero h1{font-size:62px}.section{padding:80px 0}.heading{display:block}.heading>p{margin-top:18px}.service-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr;grid-template-rows:auto}.gallery article,.gallery .large{grid-row:auto;min-height:350px}.steps{grid-template-columns:1fr;gap:60px}.footer{gap:40px}}
@media(max-width:520px){.wrap{width:calc(100% - 28px)}.nav{height:72px}.hero{min-height:710px}.hero h1{font-size:49px}.lead{font-size:14px}.cta{min-width:100%}.facts{justify-content:space-between;gap:5px}.facts span+span:before{display:none}.heading h2,.steps h2{font-size:37px}.service-grid{grid-template-columns:1fr}.service-grid article{border-left:0;border-bottom:1px solid #d7cec4;min-height:240px}.service-grid em{margin-bottom:28px}.gallery article,.gallery .large{min-height:320px}.footer{display:block}.footer>div+div{margin-top:25px}.bottom{gap:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Clickable Instagram portfolio */
.gallery>.post{position:relative;display:block;background-image:linear-gradient(0deg,#180b11e8,transparent 74%),var(--image);background-size:cover;background-position:center;overflow:hidden;min-height:300px}
.gallery>.post.large{grid-row:span 2}
.gallery>.post:after{content:"";position:absolute;inset:0;border:1px solid #fff0;transition:.3s}
.gallery>.post:hover:after{inset:12px;border-color:#ffffff65}
.gallery>.post:hover{background-size:108%}
.gallery>.post>div{position:absolute;z-index:1;inset:auto 28px 28px}
.gallery>.post small{color:var(--gold)}
.gallery>.post h3{font-size:34px;margin:8px 0}
.gallery>.post p{margin:0;color:#ffffffb5;font-size:13px}
@media(max-width:800px){.gallery>.post,.gallery>.post.large{grid-row:auto;min-height:350px}}
@media(max-width:520px){.gallery>.post,.gallery>.post.large{min-height:320px}}

/* Final occasion gallery: preserves the original design and fixes alignment. */
.occasions-heading{margin-bottom:34px}
.gallery-instagram{margin-top:15px;display:flex;align-items:center;flex-wrap:wrap;gap:11px;color:#ffffff9c;font-size:13px}
.gallery-instagram a{direction:ltr;display:inline-flex;align-items:center;gap:7px;padding:7px 13px;color:var(--gold);background:#d5b47c0d;border:1px solid #d5b47c66;border-radius:99px;font:700 12px Alexandria,sans-serif;transition:color .3s ease,background .3s ease,transform .3s ease}
.gallery-instagram a:hover{color:var(--plum);background:var(--gold);transform:translateY(-2px)}
.gallery-instagram a b{font-size:15px;transition:transform .3s ease}
.gallery-instagram a:hover b{transform:translate(2px,-2px)}
.gallery{grid-template-columns:1.2fr .8fr;grid-template-rows:255px 255px;gap:16px}
.gallery>.post{position:relative;display:block;overflow:hidden;min-width:0;min-height:0;background:#1c0d14;border-radius:20px;background-image:none!important;background-size:auto!important;transform:none!important}
.gallery>.post.large{grid-row:span 2}
.gallery>.post img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;transform:scale(1)!important;will-change:transform;transition:transform 2.4s cubic-bezier(.45,0,.55,1)!important}
.gallery>.post:hover img{transform:scale(1.045)!important}
.gallery>.post:after,.gallery>.post:hover:after{content:"";position:absolute;z-index:1;inset:0!important;width:100%;height:100%;box-sizing:border-box;border:0!important;border-radius:inherit;background:linear-gradient(0deg,#180b11e8,transparent 74%);transform:none!important;pointer-events:none}
.gallery>.post>.post-text{position:absolute;z-index:2;inset:auto 28px 28px}
.gallery>.post .post-text>span{color:var(--gold);font-size:12px;font-weight:700}
.gallery>.post h3{font-size:30px;margin:8px 0}
.gallery>.post p{margin:0;color:#ffffffb5;font-size:13px}
@media(max-width:800px){.gallery{grid-template-columns:1fr;grid-template-rows:auto}.gallery>.post,.gallery>.post.large{grid-row:auto;height:350px;min-height:0}}
@media(max-width:520px){.gallery>.post,.gallery>.post.large{height:320px;min-height:0}.gallery>.post>.post-text{inset:auto 20px 20px}.gallery>.post h3{font-size:25px}}
.forma{cursor:default!important;transition:none!important}.forma:hover{color:inherit!important}.forma b{letter-spacing:.04em}
