:root{
  --ink:#141312; --charcoal:#38352f; --stone:#8a8478; --stone-lt:#9c937c;
  --paper:#f5f2ec; --paper-2:#ece7dd; --gold:#c98a2e; --gold-lt:#e7b563;
  --serif:'Cairo',sans-serif; --sans:'Tajawal',sans-serif;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --paper:#161513; --paper-2:#1e1c19; --stone-lt:#554f3f; } }
:root[data-theme="dark"]{ --paper:#161513; --paper-2:#1e1c19; --stone-lt:#554f3f; }
*{box-sizing:border-box; margin:0; padding:0;}
html,body{height:100%; overflow:hidden;}
body{display:flex; flex-direction:column; font-family:var(--sans); background:#141312; color:var(--ink); line-height:1.65;}
.wrap{max-width:1120px; margin:0 auto; padding:0 26px; width:100%;}
h1,h2,h3{font-family:var(--serif); font-weight:800; line-height:1.25;}
.diamond{width:9px; height:9px; background:var(--gold); transform:rotate(45deg); flex:none; display:inline-block;}
.tag{display:flex; align-items:center; gap:10px; color:var(--gold); font-weight:700; font-size:14px; margin-bottom:14px;}
.on-dark .tag{color:var(--gold-lt);}

/* NAV */
header{position:relative; flex:0 0 auto; padding-top:env(safe-area-inset-top,0px); z-index:90; background:rgba(20,19,18,.86); backdrop-filter:blur(10px); border-bottom:1px solid rgba(201,138,46,.18);}
nav{display:flex; align-items:center; justify-content:space-between; max-width:1120px; margin:0 auto; padding:13px 26px;}
.brand{display:flex; align-items:center; gap:10px; color:#f5f2ec; text-decoration:none; background:none; border:0; font-family:inherit; cursor:pointer;}
.brand-mark svg{width:32px; height:32px; display:block;}
.brand-txt{font-family:var(--serif); font-weight:800; font-size:16px; text-align:right;}
.brand-txt span{display:block; font-family:var(--sans); font-weight:400; font-size:11px; color:var(--gold-lt);}
.navlinks{display:flex; gap:6px; list-style:none;}
.navlinks button{background:none; border:0; color:#d9d5c9; font-family:var(--sans); cursor:pointer; font-size:14.5px; padding:8px 12px; border-radius:2px; transition:color .2s,background .2s;}
.navlinks button:hover{color:var(--gold-lt);}
.navlinks button.active{color:#141312; background:var(--gold-lt);}
.navcta{background:var(--gold); color:#141312; padding:9px 20px; border-radius:2px; font-weight:700; font-size:14px; border:0; cursor:pointer; font-family:var(--sans);}
.burger{display:none; background:none; border:0; color:#f5f2ec; font-size:23px; line-height:1; padding:6px 4px; cursor:pointer;}
.mobile-menu{position:absolute; top:100%; right:0; left:0; background:rgba(18,17,16,.98); backdrop-filter:blur(10px); border-bottom:1px solid rgba(201,138,46,.25); display:flex; flex-direction:column; max-height:0; overflow:hidden; transition:max-height .35s ease; z-index:95;}
.mobile-menu button{background:none; border:0; border-top:1px solid rgba(245,242,236,.18); color:#e8e4d9; text-align:right; padding:15px 24px; font-family:var(--sans); font-size:15.5px; cursor:pointer;}
.mobile-menu button:first-child{border-top:0;}
.mobile-menu button.mm-cta{color:var(--gold-lt); font-weight:700;}
.mobile-menu.open{max-height:440px;}
@media(max-width:960px){ .navlinks{display:none;} .burger{display:inline-flex;} }
@media(min-width:961px){ .mobile-menu{display:none;} }
@media(max-width:600px){ .navcta{display:none;} }

/* APP / PAGES with 3D cube transition */
#app{position:relative; flex:1 1 auto; min-height:0; overflow:hidden; perspective:1700px;}
.page{position:absolute; inset:0; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:26px 0 calc(60px + env(safe-area-inset-bottom,0px)); opacity:0; pointer-events:none; transform:rotateY(90deg); transition:transform .65s cubic-bezier(.4,0,.2,1), opacity .5s ease; backface-visibility:hidden;}
.page.active{opacity:1; pointer-events:auto; transform:rotateY(0deg); z-index:2;}
.page.on-dark{background:var(--ink); color:#f5f2ec;}
.page.on-paper{background:var(--paper); color:#141312;}

/* HERO */
.hero-grid2{display:grid; grid-template-columns:1.05fr .95fr; gap:36px; align-items:center;}
.eyebrow{display:flex; align-items:center; gap:10px; color:var(--gold-lt); font-size:14px; margin-bottom:18px;}
.hero h1{font-size:clamp(32px,4.8vw,52px); color:#fbf9f4;}
.hero h1 em{font-style:normal; color:var(--gold-lt);}
.hero p{margin-top:16px; max-width:50ch; color:#c9c4b6; font-size:16.5px;}
.hero-actions{display:flex; gap:14px; margin-top:24px; flex-wrap:wrap;}
.btn{padding:13px 26px; border-radius:2px; text-decoration:none; font-weight:700; font-size:15px; border:0; cursor:pointer; font-family:var(--sans); display:inline-block;}
.btn-gold{background:var(--gold); color:#141312;}
.btn-gold:hover{background:var(--gold-lt);}
.btn-ghost{border:1px solid rgba(245,242,236,.35); color:#f5f2ec; background:transparent;}

/* 3D VILLA — exploded / assembled, with extra detail pieces */
.stage-row{display:flex; align-items:center; gap:16px;}
.stage{ perspective:1300px; height:340px; width:100%; display:flex; align-items:center; justify-content:center; position:relative;}
.building{ position:relative; width:240px; height:170px; transform-style:preserve-3d; }
.floor{position:absolute; transform-style:preserve-3d;}
.floor .face{position:absolute; box-shadow:inset 0 0 24px rgba(0,0,0,.45);}
.tex-roof{background:linear-gradient(160deg,#a39c8b,#5c5648);}
.tex-glass{background:repeating-linear-gradient(90deg, rgba(126,182,199,.55) 0 26px, rgba(14,19,21,.9) 26px 32px), linear-gradient(160deg,#2b3235,#131718);}
.tex-stone{background:repeating-linear-gradient(0deg, rgba(0,0,0,.2) 0 3px, transparent 3px 20px), linear-gradient(160deg,#4c4638,#211e19);}
.tex-podium{background:repeating-linear-gradient(45deg, rgba(0,0,0,.28) 0 2px, transparent 2px 15px), linear-gradient(160deg,#3a352d,#161412);}
.ground{position:absolute; bottom:-6px; left:50%; width:300px; height:34px; background:radial-gradient(ellipse at center, rgba(201,138,46,.22), transparent 70%); transform:translateX(-50%); z-index:-1;}
.explabels{display:flex; flex-direction:column; gap:22px; min-width:170px;}
.explabels div{display:flex; align-items:center; gap:10px; font-size:13.5px; color:#dcd7ca; transition:opacity .3s; opacity:0;}
.explabels span.dot{width:8px; height:8px; border-radius:50%; background:var(--gold); flex:none;}
.replay-btn{margin-top:14px; background:transparent; border:1px solid rgba(245,242,236,.3); color:var(--gold-lt); padding:9px 16px; font-size:13px; border-radius:2px; cursor:pointer; font-family:var(--sans); align-self:flex-start;}
.replay-btn:hover{border-color:var(--gold-lt);}
@media(max-width:900px){.stage-row{flex-direction:column;} .explabels{flex-direction:row; flex-wrap:wrap; justify-content:center;}}
@media(max-width:600px){
  .stage{height:250px; perspective:900px;}
  .building{transform:scale(.82); transform-origin:center 60%;}
  .floor .face{box-shadow:none;}
}
@media (prefers-reduced-motion: reduce){
  .building{animation:none !important;}
  .sk .dr{animation:none !important; stroke-dashoffset:0 !important;}
}
.stat-row{display:flex; gap:30px; margin-top:26px; flex-wrap:wrap;}
.stat b{font-family:var(--serif); font-size:27px; color:var(--gold-lt); display:block;}
.stat span{font-size:13px; color:#a9a396;}

.sec-head{max-width:620px; margin-bottom:36px;}
.sec-head h2{font-size:clamp(24px,3.1vw,33px);}
.sec-head p{margin-top:10px; color:var(--stone); font-size:15.5px;}
.on-dark .sec-head p{color:#b8b2a2;}

.about-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:40px;}
.about-lead{font-size:20px; font-family:var(--serif); font-weight:700; line-height:1.6; border-right:3px solid var(--gold); padding-right:18px;}
.about-body p{margin-bottom:13px; color:var(--charcoal); font-size:15.5px;}
.triad{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--stone-lt); margin-top:30px;}
.triad>div{background:var(--paper); padding:24px 20px;}
.vcard-num{font-family:var(--serif); font-weight:900; font-size:14px; color:var(--gold); margin-bottom:8px;}
.vcard h3{font-size:17px; margin-bottom:8px;}
.vcard p{color:var(--stone); font-size:14.5px;}

.svc-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--stone-lt);}
.svc{background:var(--paper); padding:24px 18px; display:flex; flex-direction:column; gap:9px;}
.svc svg{width:36px; height:36px;}
.svc h3{font-size:15.5px;}
.svc p{color:var(--stone); font-size:13.8px;}
@media(max-width:820px){.svc-grid{grid-template-columns:repeat(2,1fr);} .about-grid{grid-template-columns:1fr;} .triad{grid-template-columns:1fr;} .hero-grid2{grid-template-columns:1fr;}}

.calc-box{display:grid; grid-template-columns:.95fr 1.05fr; gap:0; border:1px solid rgba(201,138,46,.3); background:rgba(245,242,236,.03);}
.calc-form{padding:30px 28px; display:flex; flex-direction:column; gap:16px;}
.calc-form label{font-size:13.5px; color:var(--gold-lt); display:block; margin-bottom:6px;}
.calc-form input, .calc-form select{width:100%; padding:11px 14px; background:rgba(245,242,236,.06); border:1px solid rgba(245,242,236,.2); color:#f5f2ec; font-family:var(--sans); font-size:15.5px; border-radius:2px;}
.calc-result{padding:30px 28px; background:rgba(0,0,0,.18);}
.calc-total{font-family:var(--serif); font-size:33px; color:var(--gold-lt); margin-bottom:4px;}
.calc-sub{font-size:13px; color:#a9a396; margin-bottom:20px;}
table.ctable{width:100%; border-collapse:collapse; font-size:14.5px;}
table.ctable th, table.ctable td{padding:9px 8px; text-align:right; border-bottom:1px solid rgba(245,242,236,.22); color:#dcd7ca;}
table.ctable th{color:var(--gold-lt); font-weight:700; font-size:12.5px;}
.calc-note{margin-top:16px; font-size:12px; color:#8a8478;}
@media(max-width:820px){.calc-box{grid-template-columns:1fr;}}

.proc{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.proc-dot{width:11px; height:11px; border-radius:50%; background:var(--gold); margin-bottom:14px;}
.proc-step h3{font-size:15.5px; margin-bottom:6px; color:#fbf9f4;}
.proc-step p{font-size:13.8px; color:#b8b2a2;}
@media(max-width:820px){.proc{grid-template-columns:repeat(2,1fr); row-gap:28px;}}

table.ptable{width:100%; border-collapse:collapse;}
table.ptable thead th{background:var(--gold); color:#141312; padding:13px 15px; text-align:right; font-size:13.5px; font-family:var(--serif);}
table.ptable tbody td{padding:15px; border-bottom:1px solid var(--stone-lt); font-size:14.5px;}
table.ptable tbody tr:hover{background:var(--paper-2);}
table.ptable td:first-child{font-family:var(--serif); font-weight:700;}
@media(max-width:700px){table.ptable{font-size:13px;} table.ptable thead th, table.ptable tbody td{padding:9px 8px;}}

.contact-wrap{display:grid; grid-template-columns:1.1fr .9fr; gap:1px; background:var(--stone-lt); width:100%;}
.contact-l,.contact-r{padding:38px 34px;}
.contact-l{background:var(--ink); color:#f5f2ec;}
.contact-r{background:var(--gold); color:#141312;}
.clist{list-style:none; display:grid; gap:13px; margin-top:18px;}
.clist li{display:flex; gap:12px; align-items:center; font-size:14.5px;}
.clist a{color:#f5f2ec; text-decoration:none;}
.clist b{color:var(--gold-lt); font-family:var(--serif); display:block; font-size:12px;}
@media(max-width:820px){.contact-wrap{grid-template-columns:1fr;}}
.mini-footer{text-align:center; padding:26px 0 4px; color:#8a8478; font-size:12.5px;}

/* ===== AI chat calculator ===== */
.chat-shell{border:1px solid rgba(201,138,46,.3); background:rgba(245,242,236,.03); display:flex; flex-direction:column; max-width:760px; height:min(72svh,640px);}
.chat-head{display:flex; align-items:center; gap:12px; padding:16px 20px; border-bottom:1px solid rgba(245,242,236,.2);}
.chat-avatar{width:36px; height:36px; border-radius:50%; background:var(--gold); display:flex; align-items:center; justify-content:center; font-size:19px; flex:none;}
.chat-head b{display:block; font-family:var(--serif); font-size:15.5px; color:#fbf9f4;}
.chat-head span{font-size:12.5px; color:#a9a396;}
.chat-body{flex:1; overflow-y:auto; padding:18px 20px; display:flex; flex-direction:column; gap:12px;}
.msg{max-width:82%; padding:10px 14px; border-radius:10px; font-size:14.8px; line-height:1.65; animation:msgIn .25s ease;}
@keyframes msgIn{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}
.msg.bot{align-self:flex-start; background:rgba(245,242,236,.07); border:1px solid rgba(245,242,236,.2); color:#e8e4d9; border-bottom-left-radius:2px;}
.msg.user{align-self:flex-end; background:var(--gold); color:#141312; border-bottom-right-radius:2px; font-weight:600;}
.msg.result{max-width:100%; background:rgba(201,138,46,.08); border:1px solid rgba(201,138,46,.35);}
.msg.result .calc-total{font-family:var(--serif); font-size:27px; color:var(--gold-lt); margin:2px 0 10px;}
.msg.result table{width:100%; border-collapse:collapse; font-size:13.5px; margin-top:6px;}
.msg.result th,.msg.result td{padding:7px 6px; text-align:right; border-bottom:1px solid rgba(245,242,236,.22); color:#dcd7ca;}
.msg.result th{color:var(--gold-lt); font-size:12px;}
.msg.result .reco{margin-top:10px; padding-top:10px; border-top:1px dashed rgba(245,242,236,.2); font-size:14px; color:#f0ead9;}
.typing{align-self:flex-start; display:flex; gap:4px; padding:12px 16px;}
.typing i{width:6px; height:6px; border-radius:50%; background:var(--gold-lt); opacity:.5; animation:blink 1.1s infinite;}
.typing i:nth-child(2){animation-delay:.15s;} .typing i:nth-child(3){animation-delay:.3s;}
@keyframes blink{0%,80%,100%{opacity:.3;} 40%{opacity:1;}}
.chat-composer{border-top:1px solid rgba(245,242,236,.2); padding:14px 18px; display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
.chip{background:rgba(245,242,236,.06); border:1px solid rgba(245,242,236,.25); color:#f0ead9; padding:9px 16px; border-radius:20px; font-size:14px; cursor:pointer; font-family:var(--sans); transition:.2s;}
.chip:hover{border-color:var(--gold-lt); color:var(--gold-lt);}
.chip.primary{background:var(--gold); color:#141312; border-color:var(--gold); font-weight:700;}
.composer-input{flex:1; min-width:120px; display:flex; gap:8px;}
.composer-input input{flex:1; padding:11px 14px; background:rgba(245,242,236,.06); border:1px solid rgba(245,242,236,.2); color:#f5f2ec; font-family:var(--sans); font-size:15px; border-radius:20px;}
.calc-disclaimer{font-size:11.5px; color:#8a8478; padding:10px 20px 0;}
@media(max-width:600px){.msg{max-width:92%;}}

/* brand logo image */
.brand-mark{width:34px; height:34px; display:flex; align-items:center; justify-content:center; flex:none;}
.brand-logo{width:100%; height:100%; object-fit:contain; display:block;}
.contact-logo{width:120px; height:auto; margin-bottom:18px; object-fit:contain;}

/* execution-stage photo gallery */
.proc-gallery{display:flex; gap:16px; overflow-x:auto; padding:6px 2px 14px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;}
.proc-card{flex:0 0 240px; scroll-snap-align:start; background:rgba(245,242,236,.04); border:1px solid rgba(245,242,236,.2); overflow:hidden;}
.proc-card img{width:100%; height:170px; object-fit:cover; display:block; background:#222;}
.proc-card-i{padding:14px 14px 16px;}
.proc-card-i b{display:block; font-family:var(--serif); font-size:14.5px; color:var(--gold-lt); margin-bottom:6px;}
.proc-card-i span{font-size:13.3px; color:#b8b2a2; line-height:1.55;}
.proc-gallery::-webkit-scrollbar{height:6px;}
.proc-gallery::-webkit-scrollbar-thumb{background:rgba(201,138,46,.4); border-radius:4px;}

/* ===== home page architectural canvas ===== */
.home-canvas{
  background-image:
    radial-gradient(ellipse at 15% 0%, rgba(201,138,46,.10), transparent 55%),
    radial-gradient(ellipse at 90% 30%, rgba(126,182,199,.07), transparent 50%),
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27300%27%20height%3D%27300%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23c98a2e%27%20stroke-width%3D%271%27%3E%3Cpath%20d%3D%27M18%20235%20L18%20270%20L88%20270%20L88%20235%20L53%20205%20Z%27%20opacity%3D%270.16%27/%3E%3Crect%20x%3D%2730%27%20y%3D%27240%27%20width%3D%2712%27%20height%3D%2712%27%20opacity%3D%270.16%27/%3E%3Crect%20x%3D%2764%27%20y%3D%27240%27%20width%3D%2712%27%20height%3D%2712%27%20opacity%3D%270.16%27/%3E%3Crect%20x%3D%2747%27%20y%3D%27252%27%20width%3D%2710%27%20height%3D%2718%27%20opacity%3D%270.16%27/%3E%3Cline%20x1%3D%27105%27%20y1%3D%27280%27%20x2%3D%27250%27%20y2%3D%27280%27%20stroke-dasharray%3D%273%205%27%20opacity%3D%270.14%27/%3E%3Cline%20x1%3D%27105%27%20y1%3D%27274%27%20x2%3D%27105%27%20y2%3D%27286%27%20opacity%3D%270.14%27/%3E%3Cline%20x1%3D%27250%27%20y1%3D%27274%27%20x2%3D%27250%27%20y2%3D%27286%27%20opacity%3D%270.14%27/%3E%3Crect%20x%3D%27196%27%20y%3D%2740%27%20width%3D%2716%27%20height%3D%2716%27%20transform%3D%27rotate%2845%20204%2048%29%27%20stroke%3D%27%23e7b563%27%20opacity%3D%270.18%27/%3E%3Ccircle%20cx%3D%27255%27%20cy%3D%27120%27%20r%3D%2724%27%20stroke%3D%27%23e7b563%27%20opacity%3D%270.12%27/%3E%3Cline%20x1%3D%27150%27%20y1%3D%2712%27%20x2%3D%27296%27%20y2%3D%2712%27%20opacity%3D%270.08%27/%3E%3Cline%20x1%3D%27150%27%20y1%3D%2722%27%20x2%3D%27296%27%20y2%3D%2722%27%20opacity%3D%270.08%27/%3E%3Cline%20x1%3D%27150%27%20y1%3D%2732%27%20x2%3D%27296%27%20y2%3D%2732%27%20opacity%3D%270.08%27/%3E%3Cline%20x1%3D%27150%27%20y1%3D%2742%27%20x2%3D%27296%27%20y2%3D%2742%27%20opacity%3D%270.08%27/%3E%3Cpath%20d%3D%27M120%20160%20L150%20130%20L180%20160%27%20opacity%3D%270.13%27/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat, no-repeat, repeat;
  background-size:cover, cover, 300px 300px;
}
.sketch-band{margin-top:60px; padding-top:36px; border-top:1px solid rgba(245,242,236,.18);}
.sketch-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.sketch-card{background:rgba(20,19,18,.35); border:1px solid rgba(245,242,236,.2); padding:16px 16px 18px; text-align:center;}
.sketch-card .sk{width:100%; height:auto; max-height:150px;}
.sketch-card b{display:block; font-family:var(--serif); font-size:15px; color:#fbf9f4; margin-top:8px;}
.sketch-card span{font-size:13px; color:#b8b2a2;}
.sk .dr{stroke-dasharray:340; stroke-dashoffset:340; animation:drawline 2.2s ease forwards;}
.sketch-card:nth-child(2) .dr{animation-delay:.25s;}
.sketch-card:nth-child(3) .dr{animation-delay:.5s;}
@keyframes drawline{to{stroke-dashoffset:0;}}
@media(max-width:820px){.sketch-grid{grid-template-columns:1fr;}}

/* calculator WhatsApp CTA note */
.calc-cta{margin-top:14px; padding:12px 14px; background:rgba(201,138,46,.12); border:1px solid rgba(201,138,46,.4); border-radius:6px; font-size:13.8px; color:#f0ead9; line-height:1.7;}
.calc-cta a{color:var(--gold-lt); font-weight:700; text-decoration:underline;}

/* home services preview + closing CTA */
.home-services{margin-top:50px; padding-top:34px; border-top:1px solid rgba(245,242,236,.18);}
.hs-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.hs-card{background:rgba(245,242,236,.04); border:1px solid rgba(245,242,236,.2); padding:20px 16px; text-align:right; cursor:pointer; font-family:var(--sans); transition:.2s; display:flex; flex-direction:column; gap:10px;}
.hs-card:hover{border-color:var(--gold-lt); background:rgba(245,242,236,.07); transform:translateY(-2px);}
.hs-card svg{width:32px; height:32px;}
.hs-card b{color:#fbf9f4; font-family:var(--serif); font-size:15px;}
.hs-card span{color:#a9a396; font-size:13px; line-height:1.5;}
.home-cta{margin:50px auto 10px;}
.home-cta-box{background:linear-gradient(120deg, rgba(201,138,46,.14), rgba(201,138,46,.04)); border:1px solid rgba(201,138,46,.35); padding:30px 32px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
@media(max-width:820px){.hs-grid{grid-template-columns:repeat(2,1fr);}}

/* persistent contact bar on every page (helps trust/ads quality) */
.site-contact-bar{flex:0 0 auto; background:#0e0d0c; border-top:1px solid rgba(201,138,46,.25); padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px)); display:flex; justify-content:center; align-items:center; gap:18px; flex-wrap:wrap; font-size:12.5px; color:#b8b2a2;}
.site-contact-bar a{color:var(--gold-lt); text-decoration:none; white-space:nowrap;}
.site-contact-bar span{white-space:nowrap;}
@media(max-width:480px){.site-contact-bar{gap:10px 14px; font-size:11.8px;}}

/* detailed services bullets */
.svc-grid-detailed .svc{gap:10px;}
.svc-bullets{list-style:none; display:flex; flex-direction:column; gap:6px; margin-top:4px; padding-top:10px; border-top:1px dashed var(--stone-lt);}
.svc-bullets li{font-size:13px; color:var(--charcoal); padding-right:14px; position:relative;}
.svc-bullets li::before{content:"◆"; position:absolute; right:0; top:0; font-size:7px; color:var(--gold); top:5px;}

/* standards note + FAQ (process page) */
.standards-note{margin-top:44px; padding:20px 24px; background:rgba(201,138,46,.08); border:1px solid rgba(201,138,46,.3); border-radius:4px;}
.standards-note b{display:block; font-family:var(--serif); color:var(--gold-lt); font-size:15px; margin-bottom:6px;}
.standards-note p{color:#c9c4b6; font-size:14px; line-height:1.7;}
.faq-list{display:flex; flex-direction:column; gap:14px;}
.faq-item{background:rgba(245,242,236,.04); border:1px solid rgba(245,242,236,.2); padding:16px 20px;}
.faq-item h3{font-size:15px; color:#fbf9f4; margin-bottom:6px;}
.faq-item p{font-size:13.8px; color:#b8b2a2; line-height:1.65;}

/* floating contact buttons (always visible, outside the page-switcher) */
.float-contact{position:fixed; left:18px; bottom:calc(18px + env(safe-area-inset-bottom,0px)); z-index:999; display:flex; flex-direction:column; align-items:center; gap:10px;}
.fab{display:flex; align-items:center; justify-content:center; border-radius:50%; text-decoration:none; box-shadow:0 6px 18px rgba(0,0,0,.35); transition:transform .2s;}
.fab:hover{transform:scale(1.08);}
.fab-whatsapp{width:56px; height:56px; background:#25D366; color:#fff; position:relative;}
.fab-whatsapp svg{width:30px; height:30px;}
.fab-whatsapp::before{content:""; position:absolute; inset:0; border-radius:50%; background:#25D366; opacity:.55; animation:fabPulse 2.2s ease-out infinite;}
.fab-call{width:42px; height:42px; background:var(--gold); color:#141312;}
.fab-call svg{width:20px; height:20px;}
@keyframes fabPulse{0%{transform:scale(1); opacity:.55;} 100%{transform:scale(1.9); opacity:0;}}
@media (prefers-reduced-motion: reduce){.fab-whatsapp::before{animation:none; display:none;}}
@media(max-width:480px){.float-contact{left:14px; bottom:calc(14px + env(safe-area-inset-bottom,0px));} .fab-whatsapp{width:50px; height:50px;} .fab-whatsapp svg{width:26px; height:26px;} .fab-call{width:38px; height:38px;} .fab-call svg{width:18px; height:18px;}}
