/* ==========================================================================
   HOUSE OF VISIBILITY — SHARED STYLESHEET
   Upload to: public_html/assets/css/style.css
   ========================================================================== */
:root{
  --gold:#C29D54;--gold-d:#A9863F;--gold-l:#D8BA7E;--gold-grad:linear-gradient(100deg,#D8BA7E,#C29D54);
  --ivory:#F8F1E1;--ivory-2:#F2E9D6;--ivory-3:#EFE6D0;
  --white:#FFFFFF;--black:#000000;--ink:#17140F;
  --muted:#6E6556;--muted-2:#938872;
  --line:rgba(194,157,84,.34);--line-soft:rgba(23,20,15,.10);
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%;}
body{margin:0;font-family:'Manrope',sans-serif;background:var(--ivory);color:var(--ink);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--gold);color:#fff;}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.08;margin:0 0 .4em;letter-spacing:.005em;}
.wrap{max-width:1220px;margin:0 auto;padding:0 32px;}
.narrow{max-width:920px;margin:0 auto;}
.sec{padding:104px 0;position:relative;}
.sec--sm{padding:74px 0;}
.sec--white{background:var(--white);}
.sec--ivory{background:var(--ivory);}
.sec--dark{background:var(--black);color:var(--ivory);}
.sec--dark h1,.sec--dark h2,.sec--dark h3,.sec--dark h4{color:var(--ivory);}
.eyebrow{font-family:'Manrope';font-size:.7rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-d);font-weight:600;display:inline-flex;align-items:center;gap:14px;margin-bottom:22px;}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--gold);opacity:.8;}
.sec--dark .eyebrow{color:var(--gold-l);}
.gold{color:var(--gold-d);}.sec--dark .gold{color:var(--gold-l);}
.serif-it{font-style:italic;}
.center{text-align:center;}
.lead{font-size:clamp(1.05rem,1.4vw,1.24rem);color:var(--muted);max-width:64ch;font-weight:300;}
.sec--dark .lead{color:#c9bfa8;}
h2.h{font-size:clamp(2.1rem,4vw,3.4rem);font-weight:500;}
h3.h{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:600;}
.prose p{color:var(--muted);font-weight:300;margin:0 0 20px;font-size:1.05rem;}
.prose p:last-child{margin-bottom:0;}
.prose strong{color:var(--ink);font-weight:600;}
.sec--dark .prose p{color:#c9bfa8;}
.sec--dark .prose strong{color:var(--ivory);}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:11px;font-family:'Manrope';font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding:16px 34px;border-radius:2px;transition:.4s var(--ease);border:1px solid var(--gold);cursor:pointer;}
.btn--solid{background:var(--gold);color:#fff;}
.btn--solid:hover{background:var(--gold-d);border-color:var(--gold-d);transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(194,157,84,.6);}
.btn--line{background:transparent;color:var(--gold-d);}
.btn--line:hover{background:var(--gold);color:#fff;}
.sec--dark .btn--line{color:var(--gold-l);border-color:var(--gold-l);}
.sec--dark .btn--line:hover{background:var(--gold);color:#fff;border-color:var(--gold);}

/* progress */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--gold-grad);z-index:3000;}

/* header */
.hdr{position:sticky;top:0;z-index:1000;background:var(--white);border-bottom:1px solid var(--line-soft);box-shadow:0 6px 30px -22px rgba(0,0,0,.4);}
.hdr__in{display:flex;align-items:center;justify-content:space-between;height:86px;gap:18px;padding-right:40px;}
.hdr__logo img{height:48px;width:auto;}
.menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0;}
.menu>li{position:relative;}
.menu>li>a{display:flex;align-items:center;gap:7px;font-family:'Manrope';font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink);padding:14px 0;transition:color .25s;}
.menu>li>a:hover{color:var(--gold-d);}
.caret{font-size:.5rem;opacity:.7;transition:transform .3s;}
.menu>li:hover .caret{transform:rotate(180deg);}
.mega{position:absolute;top:calc(100% + 2px);background:var(--white);border:1px solid var(--line-soft);padding:26px;opacity:0;visibility:hidden;transform:translateY(12px);transition:.3s var(--ease);box-shadow:0 50px 90px -34px rgba(0,0,0,.3);z-index:60;}
.menu>li:hover .mega{opacity:1;visibility:visible;transform:translateY(0);}
.mega--about{left:0;min-width:256px;}
.mega--about a{display:block;padding:10px 12px;font-family:'Cormorant Garamond';font-size:1.12rem;color:var(--ink);transition:.2s;}
.mega--about a:hover{color:var(--gold-d);padding-left:18px;}
.mega--svc{left:50%;transform:translate(-50%,12px);width:820px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px 26px;}
.menu>li:hover .mega--svc{transform:translate(-50%,0);}
.mega__group h5{font-family:'Manrope';font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-d);margin:0 0 12px;padding-bottom:9px;border-bottom:1px solid var(--line);}
.mega__group a{display:block;padding:7px 0;font-family:'Cormorant Garamond';font-size:1.1rem;color:var(--ink);transition:.2s;}
.mega__group a:hover{color:var(--gold-d);padding-left:6px;}
.hdr__cta{font-family:'Manrope';background:var(--gold);color:#fff;padding:11px 20px;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;border-radius:2px;transition:.35s var(--ease);white-space:nowrap;margin-left:6px;}
.hdr__cta:hover{background:var(--gold-d);transform:translateY(-2px);box-shadow:0 14px 28px -12px rgba(194,157,84,.6);}
.burger{display:none;flex-direction:column;gap:6px;background:none;border:0;cursor:pointer;padding:6px;}
.burger span{width:26px;height:2px;background:var(--gold-d);transition:.3s;}

/* breadcrumb */
.crumbs{font-family:'Manrope';font-size:.74rem;letter-spacing:.06em;color:var(--muted-2);padding:22px 0 0;}
.crumbs a:hover{color:var(--gold-d);}
.crumbs span{color:var(--gold-d);}

/* page hero */
.phero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--ivory),var(--ivory-2));padding:70px 0 90px;}
.phero::before{content:"";position:absolute;top:-160px;right:-120px;width:520px;height:520px;background:radial-gradient(circle,rgba(194,157,84,.16),transparent 62%);}
.phero__in{position:relative;z-index:1;max-width:900px;}
.phero h1{font-size:clamp(2.6rem,6vw,5.2rem);font-weight:500;letter-spacing:.004em;margin:0 0 22px;line-height:1.04;}
.phero h1 em{font-style:italic;color:var(--gold-d);}
.phero__sub{font-family:'Manrope';font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-2);margin:0 0 22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.phero__sub i{width:5px;height:5px;background:var(--gold);border-radius:50%;}
.phero p.lead{margin-bottom:32px;}
.btnrow{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.phero__stats{display:flex;flex-wrap:wrap;margin-top:50px;border-top:1px solid var(--line);max-width:760px;}
.phero__stats>div{flex:1;min-width:120px;padding:22px 26px 0 0;}
.phero__stats .n{font-family:'Cormorant Garamond';font-size:2rem;color:var(--gold-d);line-height:1;font-weight:600;}
.phero__stats .l{font-family:'Manrope';font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);margin-top:8px;}

/* two-column intro */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.split--wide{grid-template-columns:1.1fr .9fr;}

/* feature grid */
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.fgrid--2{grid-template-columns:repeat(2,1fr);}
.fcard{background:var(--white);border:1px solid var(--line-soft);padding:32px 30px;transition:.4s var(--ease);}
.sec--ivory .fcard{background:var(--white);}
.fcard:hover{border-color:var(--gold);transform:translateY(-5px);box-shadow:0 26px 46px -28px rgba(194,157,84,.5);}
.fcard__i{color:var(--gold-d);margin-bottom:14px;line-height:0;}
.fcard__i svg{width:34px;height:34px;}
.fcard h3{font-family:'Cormorant Garamond';font-size:1.5rem;font-weight:600;margin:0 0 8px;}
.fcard p{color:var(--muted);font-size:.94rem;font-weight:300;margin:0;}

/* checklist */
.checks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 34px;}
.checks li{display:flex;gap:13px;color:var(--ink);font-weight:400;font-size:1rem;align-items:flex-start;}
.checks li::before{content:"";flex:0 0 20px;height:20px;margin-top:3px;background:var(--gold);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;}

/* platform / list cards */
.plat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.plat__c{border:1px solid var(--line-soft);background:var(--white);padding:30px 28px;transition:.4s var(--ease);}
.plat__c:hover{border-color:var(--gold);transform:translateY(-4px);}
.plat__c h4{font-family:'Cormorant Garamond';font-size:1.4rem;font-weight:600;margin:0 0 8px;}
.plat__c h4 span{color:var(--gold-d);}
.plat__c p{color:var(--muted);font-size:.9rem;font-weight:300;margin:0;}

/* process steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);}
.steps__c{padding:32px 26px 0 0;border-right:1px solid var(--line);}
.steps__c:last-child{border-right:0;}
.steps__n{font-family:'Cormorant Garamond';font-style:italic;font-size:1.2rem;color:var(--gold-d);margin-bottom:14px;}
.steps__c h3{font-family:'Cormorant Garamond';font-size:1.5rem;font-weight:600;margin-bottom:10px;}
.steps__c p{color:var(--muted);font-size:.9rem;font-weight:300;margin:0;}
.sec--dark .steps{border-color:rgba(216,186,126,.25);}
.sec--dark .steps__c{border-color:rgba(216,186,126,.25);}
.sec--dark .steps__c h3{color:var(--ivory);}
.sec--dark .steps__c p{color:#b9af98;}

/* stat row */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center;}
.stats .n{font-family:'Cormorant Garamond';font-size:clamp(2.6rem,5vw,4.2rem);color:var(--gold-l);line-height:1;font-weight:600;}
.stats .l{font-family:'Manrope';font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted-2);margin-top:12px;}
.sec--dark .stats .l{color:#b9af98;}

/* packages */
.pkgs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.pkg{border:1px solid var(--line-soft);background:var(--white);padding:38px 32px;transition:.4s var(--ease);display:flex;flex-direction:column;}
.pkg--feat{border-color:var(--gold);box-shadow:0 30px 60px -34px rgba(194,157,84,.5);}
.pkg__tag{font-family:'Manrope';font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);margin-bottom:14px;}
.pkg h3{font-family:'Cormorant Garamond';font-size:1.9rem;font-weight:600;margin:0 0 8px;}
.pkg p{color:var(--muted);font-size:.92rem;font-weight:300;margin:0 0 20px;}
.pkg ul{list-style:none;padding:0;margin:0 0 26px;flex:1;}
.pkg ul li{padding:8px 0;border-top:1px solid var(--line-soft);color:var(--ink);font-size:.92rem;font-weight:300;}

/* quote */
.quote{max-width:900px;margin:0 auto;text-align:center;}
.quote p{font-family:'Cormorant Garamond';font-style:italic;font-size:clamp(1.5rem,3vw,2.4rem);font-weight:500;line-height:1.34;color:var(--ink);}
.sec--dark .quote p{color:var(--ivory);}
.quote .by{font-family:'Manrope';font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);margin-top:24px;font-weight:600;}

/* faq */
.faq{max-width:900px;margin:0 auto;}
.faq details{border-top:1px solid var(--line);}
.faq details:last-child{border-bottom:1px solid var(--line);}
.faq summary{cursor:pointer;list-style:none;padding:24px 0;font-family:'Cormorant Garamond';font-size:1.42rem;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;gap:20px;align-items:center;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .pl{color:var(--gold-d);font-size:1.5rem;font-weight:300;transition:.35s;font-family:'Manrope';flex-shrink:0;}
.faq details[open] summary .pl{transform:rotate(45deg);}
.faq details .a{padding:0 0 24px;color:var(--muted);font-weight:300;max-width:80ch;margin:0;}
.faq details .a p{margin:0 0 14px;}
.faq details .a p:last-child{margin:0;}

/* related links */
.rel{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.rel a{border:1px solid var(--line-soft);padding:20px 22px;font-family:'Cormorant Garamond';font-size:1.2rem;color:var(--ink);transition:.3s var(--ease);display:flex;justify-content:space-between;align-items:center;gap:10px;}
.rel a:hover{border-color:var(--gold);color:var(--gold-d);transform:translateY(-3px);}
.rel a span{color:var(--gold-d);}

/* cta band */
.cta{text-align:center;padding:130px 24px;position:relative;overflow:hidden;background:linear-gradient(180deg,var(--ivory),var(--ivory-3));}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 130% at 50% 0%,rgba(194,157,84,.16),transparent 70%);}
.cta>*{position:relative;z-index:1;}
.cta h2{font-size:clamp(2.4rem,5.4vw,4.4rem);font-weight:500;max-width:18ch;margin:0 auto .4em;line-height:1.05;}
.cta h2 em{font-style:italic;color:var(--gold-d);}

/* footer */
.foot{background:var(--black);color:#c9bfa8;padding:80px 0 30px;font-family:'Manrope';font-size:13.5px;line-height:1.9;}
.foot__big{font-family:'Cormorant Garamond';font-size:clamp(2.2rem,5.4vw,4.4rem);font-weight:500;color:var(--ivory);padding:0 0 46px;line-height:1.02;border-bottom:1px solid rgba(216,186,126,.2);}
.foot__big em{font-style:italic;color:var(--gold-l);}
.foot__top{display:grid;grid-template-columns:1.3fr 1.7fr 1fr;gap:50px;padding:50px 0;border-bottom:1px solid rgba(216,186,126,.2);}
.foot__col img.logo{max-width:210px;margin-bottom:18px;}
.foot p{color:#a99f88;font-weight:300;}
.foot h4{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-l);margin:0 0 16px;font-weight:600;}
.foot__services{display:flex;gap:36px;}
.foot ul{list-style:none;padding:0;margin:0;}.foot ul li{margin-bottom:9px;}
.foot ul a{color:#d7cdb6;font-weight:300;transition:.25s;}.foot ul a:hover{color:var(--gold-l);}
.foot__social{display:flex;gap:12px;margin:6px 0 18px;}
.foot__social a{width:40px;height:40px;border:1px solid rgba(216,186,126,.3);display:flex;align-items:center;justify-content:center;transition:.3s var(--ease);}
.foot__social a:hover{background:var(--gold);border-color:var(--gold);}
.foot__social img{width:17px;filter:brightness(0) invert(.82);}
.foot__social a:hover img{filter:brightness(0) invert(1);}
.foot__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;font-size:11.5px;letter-spacing:.04em;color:#7c7360;}
.foot__bottom a{color:var(--gold-l);}
.foot__bottom .pb b{color:var(--gold-l);font-weight:600;}

/* whatsapp */
#wa{position:fixed;bottom:22px;right:22px;z-index:9990;}
#wa>button{display:flex;align-items:center;gap:9px;background:var(--gold);color:#fff;border:none;padding:13px 20px;border-radius:40px;font-family:'Manrope';font-weight:600;font-size:13px;letter-spacing:.04em;box-shadow:0 14px 34px -10px rgba(194,157,84,.7);cursor:pointer;transition:.3s;}
#wa>button:hover{background:var(--gold-d);}
#wa>button img{width:22px;filter:brightness(0) invert(1);}
#wa-form{display:none;position:absolute;bottom:64px;right:0;left:auto;background:var(--white);color:var(--ink);width:min(300px,calc(100vw - 44px));padding:24px;border:1px solid var(--line);box-shadow:0 24px 50px -18px rgba(0,0,0,.35);}
#wa-form p{font-family:'Cormorant Garamond';font-size:1.3rem;font-weight:600;margin:0 0 14px;}
#wa-form input{width:100%;max-width:100%;margin-bottom:10px;padding:11px;border:1px solid var(--line-soft);background:var(--ivory);font-family:'Manrope';font-size:13px;}
#wa-form input:focus{outline:none;border-color:var(--gold);}
#wa-form button{background:var(--gold);color:#fff;padding:13px;width:100%;border:none;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;cursor:pointer;}

/* reveal */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.js .reveal.in{opacity:1;transform:none;}
.js .reveal.d1{transition-delay:.08s;}.js .reveal.d2{transition-delay:.16s;}.js .reveal.d3{transition-delay:.24s;}

/* responsive */
@media(max-width:1040px){
  .split,.split--wide{grid-template-columns:1fr;gap:40px;}
  .fgrid{grid-template-columns:1fr 1fr;}
  .plat{grid-template-columns:1fr 1fr;}
  .steps{grid-template-columns:1fr 1fr;}.steps__c{border-right:0;border-bottom:1px solid var(--line);padding-bottom:26px;}
  .stats,.pkgs{grid-template-columns:1fr 1fr;}
  .rel{grid-template-columns:1fr 1fr;}
}
@media(max-width:980px){
  .menu,.hdr__cta{display:none;}.burger{display:flex;}
  .menu.open{display:flex;position:fixed;inset:86px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--white);padding:8px 0;max-height:calc(100vh - 86px);overflow-y:auto;border-bottom:1px solid var(--line-soft);box-shadow:0 30px 40px -20px rgba(0,0,0,.25);}
  .menu.open>li{padding:0 24px;}
  .menu.open>li>a{padding:16px 4px;justify-content:space-between;border-bottom:1px solid var(--line-soft);}
  .menu.open .mega{position:static;opacity:1;visibility:visible;transform:none!important;display:none;width:auto!important;min-width:0;box-shadow:none;border:none;background:transparent;padding:8px 0 12px 8px;grid-template-columns:1fr!important;}
  .menu.open li.open>.mega{display:block;}
  .menu.open li.open>.mega--svc{display:grid;grid-template-columns:1fr!important;gap:14px;}
}
@media(max-width:680px){
  .sec{padding:66px 0;}
  .wrap{padding:0 22px;}
  .fgrid,.fgrid--2,.plat,.steps,.stats,.pkgs,.rel,.checks{grid-template-columns:1fr;}
  .phero__stats>div{flex:1 1 44%;}
  .foot__top{grid-template-columns:1fr;gap:34px;}
  .foot__services{gap:26px;}
}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;}*{animation:none!important;}}