/* Fantancy House: current owner-approved navy + gold brand system.
   Presentation layer only; product content and photographs are maintained separately. */
:root{
 --navy:#102A43;--navy-deep:#071B2D;--gold:#D4AF37;--gold-light:#E7CA72;--gold-ink:#765A08;
 --white:#FFFFFF;--pale:#F6F7F9;--ink:#1B2B3A;--muted:#536577;--whatsapp:#075E45;--whatsapp-hover:#064B38;
 --fh-navy:var(--navy);--fh-navy-deep:var(--navy-deep);--fh-navy-soft:#1D3C55;
 --fh-white:var(--white);--fh-offwhite:var(--pale);--fh-ink:var(--ink);--fh-muted:var(--muted);
 --fh-silver-line:#DDE3E9;--radius:4px;--gap-section:100px;
}
body.brand-navy-gold{font-size:20px;line-height:1.7;background:var(--white);color:var(--ink)}
.ui-icon{width:23px;height:23px;flex:0 0 23px;display:inline-block;vertical-align:middle;pointer-events:none}
.icon-whatsapp{stroke-width:1.55}.icon-email{stroke-width:1.6}
.email-link,.wa-link{gap:10px}.email-link{display:inline-flex;align-items:center;max-width:100%}
.email-link .ui-icon{color:var(--gold-ink)}
h1{font-size:clamp(52px,4.25vw,68px);line-height:1.08;font-weight:650;letter-spacing:-.04em}
h2{font-size:clamp(38px,3.15vw,46px);line-height:1.16;font-weight:650;letter-spacing:-.032em}
h3{font-size:clamp(25px,2vw,30px);line-height:1.25;font-weight:650}
.lede,.section-head p{font-size:21px;line-height:1.7}.section{padding:100px 0}.section-head{margin-bottom:48px;max-width:870px}
.eyebrow{font-size:15px;font-weight:650;color:var(--gold-ink);letter-spacing:.16em}
.hero h1{font-size:clamp(58px,5.55vw,84px);max-width:18ch;line-height:1.04;font-weight:650}
.hero .hero-sub{font-size:21px;line-height:1.65;max-width:670px;margin:30px 0 34px}
.hero-inner{padding:112px 0 88px}.hero .eyebrow{color:var(--gold-light)}
.hero .eyebrow:before{content:"";display:inline-block;vertical-align:middle;width:36px;height:2px;background:var(--gold);margin-right:14px}
.hero-veil{background:linear-gradient(90deg,rgba(7,27,45,.95),rgba(7,27,45,.79) 42%,rgba(7,27,45,.15) 100%)}
.hero{border-bottom:3px solid var(--gold)}
.split-hero{background:var(--pale);padding:76px 0 82px}.split-grid{gap:60px}.split-copy h1{max-width:23ch}.split-copy .lede{font-size:21px;line-height:1.7}
.split-media{border:1px solid #DCE2E8;padding:12px;background:white;box-shadow:0 12px 36px #102a4309}
.split-media img{height:550px}.split-media figcaption{padding:14px 8px 4px;color:var(--muted);font-size:17px}
.btn{font-size:18px;font-weight:650;min-height:56px;padding:16px 27px;border-radius:4px;letter-spacing:.005em;box-shadow:none;transition:background .18s,color .18s,border-color .18s,transform .18s}
.btn-navy,.btn-white{background:var(--gold);color:var(--navy-deep);border-color:var(--gold)}
.btn-navy:hover,.btn-white:hover{background:var(--gold-light);color:var(--navy-deep);border-color:var(--gold-light)}
.btn-outline{border-color:var(--navy);background:transparent;color:var(--navy)}
.btn-outline:hover{background:var(--navy);border-color:var(--navy);color:white}
.btn-on-navy{border-color:var(--gold-light);color:white;background:transparent}
.btn-on-navy:hover{background:var(--gold-light);color:var(--navy-deep);border-color:var(--gold-light)}
.btn.btn-whatsapp{background:var(--whatsapp);color:white;border-color:var(--whatsapp)}
.btn.btn-whatsapp:hover{background:var(--whatsapp-hover);color:white;border-color:var(--whatsapp-hover)}
.btn-email .ui-icon{color:currentColor}.btn-sm{font-size:17px;padding:13px 21px;min-height:50px}
.topbar{background:var(--navy-deep);border-bottom:1px solid #e7ca7226;font-size:15px;color:#E8EEF4}
.topbar .topbar-inner{min-height:54px;gap:18px;flex-wrap:nowrap}
.topbar .topbar-location{font-size:14px;letter-spacing:.025em}.location-dot{color:var(--gold);padding:0 5px}
.topbar .tb-right{display:flex;flex-direction:row;gap:24px;align-items:center;flex-wrap:nowrap}
.topbar a{display:inline-flex;gap:9px;align-items:center;white-space:nowrap;font-weight:550;font-size:15px}
.topbar .topbar-whatsapp{background:var(--whatsapp);border:1px solid #80b29a66;border-radius:4px;padding:7px 12px}
.topbar .topbar-whatsapp:hover{background:var(--whatsapp-hover);text-decoration:none}
.topbar .topbar-email{color:#FFF}.topbar .topbar-email .ui-icon{color:var(--gold-light);width:21px;height:21px;flex-basis:21px}
.site-header{background:var(--navy);border-bottom:1px solid #d4af3759;box-shadow:0 5px 20px #071b2d12}
.header-row{min-height:96px;gap:24px}.brand{gap:13px}.brand img{width:56px;height:56px}
.brand .brand-txt strong{font-family:Georgia,'Times New Roman',serif;color:var(--gold-light);font-size:26px;font-weight:500;letter-spacing:-.02em}
.brand .brand-txt small{font-size:11px;font-weight:500;color:#E7EDF3;letter-spacing:.13em;margin-top:8px}
.desktop-nav{font-size:16px;gap:18px;color:#FFF;font-weight:550}
.desktop-nav>a{padding:12px 0;position:relative}.desktop-nav>a:hover{color:var(--gold-light)}
.desktop-nav>a:after{position:absolute;content:"";height:2px;background:var(--gold);left:0;right:0;bottom:2px;transform:scaleX(0);transform-origin:left;transition:transform .18s}
.desktop-nav>a:hover:after,.desktop-nav>a[aria-current="page"]:after{transform:scaleX(1)}
.desktop-nav>a[aria-current="page"]{color:var(--gold-light)}
.menu-toggle{background:transparent;border-color:#d4af3780;border-radius:3px}.menu-toggle span{background:var(--gold-light)}
.crumbs{font-size:16px;background:#FFF}.crumbs a:hover{color:var(--gold-ink)}
.pcard{border:1px solid #DDE3E9;border-radius:4px;overflow:hidden;box-shadow:0 6px 18px #102a4305}
.pcard:hover{border-color:#BDA655;box-shadow:0 16px 35px #102a4310}.pcard .body{padding:30px 27px 32px;border-top:2px solid var(--gold)}
.pcard h3{font-size:27px;margin-bottom:16px}.pcard p{font-size:19px;line-height:1.7;color:var(--muted);margin-bottom:24px}
.pcard .shot img{height:310px}.link-arrow{font-size:18px;border-color:var(--gold);color:var(--navy)}
.link-arrow:hover{color:var(--gold-ink);border-color:var(--gold-ink)}
.buyer-entry{border-top:2px solid var(--gold);padding-top:30px}.buyer-entry p{font-size:20px}
.pill-row a{font-size:18px;padding:12px 19px;border-color:#DDE3E9;border-radius:3px}.pill-row a:hover{border-color:var(--gold);background:#F8F6ED}
.list-check li{font-size:20px;line-height:1.7;margin-bottom:14px}.list-check li:before{border-color:var(--gold-ink)}
.steps .num{color:var(--gold-ink)}.steps h3{font-size:27px}.steps p{font-size:19px;line-height:1.7}
.trust-grid strong{color:var(--navy);font-size:48px}.trust-grid span{font-size:20px;color:var(--muted)}
.scope-note{border-left-color:var(--gold);font-size:18px;line-height:1.7}
th,td{font-size:18px;line-height:1.7;padding:22px 24px}th{color:var(--navy);background:#F3F5F7}
table caption{font-size:20px;font-weight:650;color:var(--navy);padding-bottom:20px}.table-wrap{border-top:2px solid var(--gold)}
.faq details{border-color:#DDE3E9;padding:24px 0}.faq summary{font-size:22px;line-height:1.5;color:var(--navy);padding-right:35px}
.faq summary:after{color:var(--gold-ink)}.faq p{font-size:20px;line-height:1.75;max-width:74ch;padding-top:15px}
.faq details[open]{border-bottom-color:var(--gold)}
.article-body p,.article-body li{font-size:20px;line-height:1.8}.article-body h2{font-size:38px;line-height:1.25}
.article-body a:not(.btn),.text-link{color:var(--navy);text-decoration-color:var(--gold);text-decoration-thickness:2px}
.detail-gallery figcaption,figcaption{font-size:17px;line-height:1.6}
.cta-band{background:var(--navy);border-top:3px solid var(--gold);position:relative}
.cta-band .inner{gap:48px}.cta-band h2{font-size:clamp(36px,3.1vw,46px);line-height:1.15;max-width:24ch}
.cta-band p{font-size:20px;line-height:1.7;color:#DEE7EF}.cta-band .acts{min-width:280px;align-items:stretch;gap:12px}
.cta-band .btn-email{color:#FFF;background:transparent;border-color:#d4af3780}
.cta-band .btn-email:hover{color:var(--navy-deep);background:var(--gold-light);border-color:var(--gold-light)}
.cta-band .email-link .ui-icon{color:inherit}
.direct-contact{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.direct-contact>a{display:flex;align-items:center;gap:14px;padding:17px 21px;border:1px solid #CFD7DF;background:#FFF;border-radius:4px;text-decoration:none;min-height:82px}
.direct-contact .direct-wa{border-top:3px solid var(--whatsapp)}.direct-contact .direct-email{border-top:3px solid var(--gold)}
.direct-contact .ui-icon{width:28px;height:28px;flex-basis:28px}.direct-contact .direct-wa .ui-icon{color:var(--whatsapp)}
.direct-contact small{display:block;color:var(--muted);font-size:14px;line-height:1.5}.direct-contact strong{display:block;color:var(--navy);font-size:19px;line-height:1.5;font-weight:650;overflow-wrap:anywhere}
.form-card{padding:42px;border:1px solid #D6DEE6;border-top:3px solid var(--gold);border-radius:4px;box-shadow:0 8px 30px #102a4306}
legend{font-size:24px;font-weight:650;padding-bottom:16px}.field label{font-size:18px;font-weight:600}.field input,.field select,.field textarea{font-size:19px;padding:15px 16px;min-height:58px;border-color:#8C9AAA;border-radius:3px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold-ink);outline:2px solid #D4AF3740}
.check{font-size:18px;padding:15px;line-height:1.5;border-radius:3px}.check:has(input:checked){border-color:var(--gold-ink);background:#FAF7EB}.check input{accent-color:var(--navy)}
.panel-dyn{border-color:#D6DEE6;border-left:3px solid var(--gold);padding:26px}.hint,.fine,.form-msg{font-size:18px;line-height:1.7}
.aside-card{background:var(--navy);border-top:3px solid var(--gold);border-radius:4px}.aside-card h2{font-size:30px;color:var(--gold-light)}
.aside-card p,.aside-card a{font-size:19px;line-height:1.7}.aside-card .email-link .ui-icon{color:var(--gold-light)}
.contact-card{padding:34px 28px;border-top:3px solid var(--gold);border-radius:4px;box-shadow:0 6px 20px #102a4305}.contact-card h2{font-size:30px}.contact-card p{font-size:19px}
.contact-card .email-link{overflow-wrap:anywhere;align-items:flex-start}.contact-card .email-link .ui-icon{margin-top:4px}
.site-footer{background:var(--navy-deep);border-top:1px solid #d4af3759;padding:80px 0 116px}
.site-footer .brand .brand-txt strong{color:var(--gold-light);font-size:27px}.site-footer .brand .brand-txt small{color:#D4DEE8}
.site-footer .footer-heading{color:var(--gold-light);font-size:17px;font-weight:600;letter-spacing:.09em;margin-bottom:24px}
.site-footer p,.site-footer li a{font-size:17px;line-height:1.7}.site-footer p{color:#C2CFDB}.site-footer a{color:#DFE7EE}
.site-footer a:hover{color:var(--gold-light)}.site-footer .email-link .ui-icon{color:var(--gold-light)}.site-footer .footer-contact .wa-link{display:inline-flex;align-items:center}
.footer-contact{gap:15px}.footer-bottom{border-top-color:#d4af373b}.footer-bottom,.footer-bottom a{font-size:16px}
.floating-whatsapp{position:fixed;z-index:75;right:28px;bottom:26px;display:flex;align-items:center;gap:12px;min-height:66px;padding:12px 20px;color:#FFF;background:var(--whatsapp);border:1px solid #FFFFFF75;border-radius:40px;box-shadow:0 8px 26px #071b2d3b;max-width:calc(100vw - 36px);text-decoration:none;transition:background .18s,transform .18s}
.floating-whatsapp:hover{background:var(--whatsapp-hover);transform:translateY(-2px);color:white}.floating-whatsapp .ui-icon{width:30px;height:30px;flex-basis:30px}
.floating-wa-copy strong{display:block;font-size:19px;line-height:1.25;font-weight:650;letter-spacing:.01em}.floating-wa-copy small{display:block;font-size:12px;color:#F0F8F4;line-height:1.5;margin-top:3px}
.mobile-quote{display:none}.mobile-sticky{display:none!important}
:focus-visible{outline:3px solid var(--gold-ink);outline-offset:4px}.site-header :focus-visible,.topbar :focus-visible,.site-footer :focus-visible,.cta-band :focus-visible,.hero :focus-visible,.mobile-nav :focus-visible{outline-color:var(--gold-light)}
.floating-whatsapp:focus-visible{outline:3px solid var(--navy-deep);outline-offset:4px}.btn:focus-visible{box-shadow:0 0 0 2px white}
@media(max-width:1260px){
 .mobile-nav{background:var(--navy);padding:26px;color:#FFF;border-left:1px solid #d4af3766}
 .mobile-nav .mobile-nav-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:24px}
 .mobile-nav .mobile-nav-top .menu-brand{display:flex;align-items:center;min-width:0;padding:0;border:0}.mobile-nav .menu-brand img{width:48px;height:48px}
 .mobile-nav .menu-brand .brand-txt strong{font-size:24px;font-weight:500;color:var(--gold-light)}.mobile-nav .menu-brand .brand-txt small{color:#E2EAF2;font-size:9px;letter-spacing:.1em}
 .mobile-nav .menu-close{color:var(--gold-light);background:transparent;border:1px solid #d4af3770;border-radius:3px;flex:0 0 44px;width:44px;height:44px;line-height:1;padding:0}
 .mobile-nav a:not(.btn):not(.brand){color:#FFF;border-bottom-color:#ffffff21;font-size:18px;padding:15px 2px}
 .mobile-nav .menu-contact{padding:24px 0 14px;margin-top:8px;border-top:1px solid #d4af3766}.mobile-nav .menu-contact .btn{margin-top:0}
 .mobile-nav .menu-contact .menu-email{display:flex;align-items:center;gap:12px;font-size:17px;overflow-wrap:anywhere;padding:22px 0;border:0}
 .mobile-nav .menu-email .ui-icon{color:var(--gold-light)}body.menu-open .floating-whatsapp{visibility:hidden}
}
@media(max-width:1100px){.topbar .topbar-location{font-size:13px}.topbar .tb-right{gap:14px}.topbar .desktop-number{display:none}.split-grid{gap:38px}.cta-band .inner{flex-direction:column;align-items:flex-start}.cta-band .acts{display:flex;flex-wrap:wrap;flex-direction:row;min-width:0}.form-shell{gap:30px}}
@media(max-width:768px){
 body.brand-navy-gold{font-size:19px}.section{padding:66px 0}.section-head{margin-bottom:36px}h1{font-size:46px}h2{font-size:36px}.hero h1{font-size:52px}.hero .hero-sub,.lede,.split-copy .lede,.section-head p{font-size:20px}
 .split-hero{padding:52px 0 58px}.split-media img{height:440px}.list-check li,.faq p,.article-body p,.article-body li{font-size:19px}
 .contact-card{padding:30px 26px}.pcard h3{font-size:27px}.pcard p{font-size:19px}.direct-contact strong{font-size:19px}
 .topbar .topbar-location{display:none}.topbar .topbar-inner{justify-content:center}.topbar .tb-right{justify-content:space-between;width:100%;gap:15px}.topbar .topbar-email{font-size:15px}.topbar .topbar-whatsapp{font-size:15px}
 .site-footer{padding-bottom:124px}.floating-whatsapp{right:22px;bottom:22px}
}
@media(max-width:640px){
 :root{--gut:22px}.topbar .topbar-inner{padding:9px 0;min-height:54px;gap:0}.topbar .tb-right{flex-direction:row;gap:10px;flex-wrap:nowrap}
 .topbar .topbar-whatsapp{font-size:13px;gap:7px;padding:6px 8px}.topbar .topbar-whatsapp .ui-icon{width:18px;height:18px;flex-basis:18px}
 .topbar .topbar-email{font-size:13px;gap:7px;font-weight:500}.topbar .topbar-email .ui-icon{width:18px;height:18px;flex-basis:18px}
 .header-row{min-height:86px;gap:10px}.brand img{width:46px;height:46px}.brand .brand-txt strong{font-size:24px}.brand .brand-txt small{font-size:9px;letter-spacing:.1em}.brand{gap:12px}
 .menu-toggle{width:46px;height:46px}.hero{min-height:805px}.hero-inner{padding:64px 0 74px}.hero h1{font-size:44px;line-height:1.06;max-width:17ch;letter-spacing:-.035em}
 .hero .hero-sub{font-size:19px;line-height:1.65;margin:26px 0 28px}.hero .eyebrow{font-size:12px;letter-spacing:.09em}.hero .eyebrow:before{width:22px;margin-right:10px}.hero-veil{background:linear-gradient(90deg,rgba(7,27,45,.94),rgba(7,27,45,.76))}
 h1{font-size:40px;line-height:1.1}h2{font-size:33px}h3{font-size:26px}.section{padding:58px 0}.lede,.section-head p,.split-copy .lede{font-size:19px}
 .split-hero{padding:48px 0 52px}.split-media{padding:8px}.split-media img{height:355px}.split-media figcaption{font-size:16px;padding:12px 5px 4px}
 .btn{font-size:18px;padding:16px 21px;min-height:56px}.hero-actions{gap:13px}.pcard .body{padding:28px 23px}.pcard .shot img{height:290px}
 .faq summary{font-size:21px}.faq p{font-size:19px}.faq details{padding:22px 0}th,td{font-size:17px;padding:19px 20px}table caption{font-size:19px}
 .article-body h2{font-size:32px}.trust-grid strong{font-size:43px}.trust-grid span{font-size:19px}.buyer-entry p{font-size:19px}
 .form-card{padding:28px 19px}.field label{font-size:18px}.field input,.field select,.field textarea{font-size:18px}.check{font-size:18px;padding:14px}
 .panel-dyn{padding:22px 15px}legend{font-size:23px}.fine,.hint{font-size:17px}.form-actions .btn{width:100%}.aside-card{padding:30px 24px}
 .direct-contact{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.direct-contact>a{padding:16px 17px}.direct-contact strong{font-size:19px}.direct-contact .ui-icon{width:25px;height:25px;flex-basis:25px}
 .cta-band h2{font-size:35px}.cta-band p{font-size:19px}.cta-band .acts{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.cta-band .btn{width:100%}
 .contact-grid .contact-card{padding:30px 24px}.contact-card .email-link{font-size:18px;gap:8px}.contact-card .email-link .ui-icon{width:20px;height:20px;flex-basis:20px}
 .site-footer .brand .brand-txt strong{font-size:25px}.site-footer .footer-heading{font-size:18px}.site-footer p,.site-footer li a{font-size:18px}.footer-contact a{font-size:18px}
 .floating-whatsapp{right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));width:62px;height:62px;min-height:62px;padding:14px;justify-content:center;gap:0;max-width:none;box-shadow:0 6px 22px #071b2d38}
 .floating-whatsapp .ui-icon{width:32px;height:32px;flex-basis:32px}.floating-wa-copy{display:none}
 .mobile-quote{display:none}
 .mobile-quote .ui-icon{width:20px;height:20px;flex-basis:20px}.site-footer{padding:66px 0 126px}
 .mobile-nav{width:min(430px,100vw);padding:24px 22px}.mobile-nav .menu-brand .brand-txt strong{font-size:23px}.mobile-nav .menu-brand .brand-txt small{font-size:8px}.mobile-nav .menu-brand{gap:10px}.mobile-nav .menu-brand img{width:43px;height:43px}
}
@media(max-width:360px){:root{--gut:18px}.topbar .topbar-email{font-size:12px;gap:5px}.topbar .topbar-whatsapp{font-size:12px;padding:5px}.brand .brand-txt strong{font-size:21px}.brand .brand-txt small{font-size:8px}.hero h1{font-size:41px}.floating-whatsapp{right:12px;padding:10px 13px}.mobile-quote{left:12px;padding:13px 14px}.direct-contact strong{font-size:17px}}
@media(max-width:640px){.hero h1{font-size:41px}.mobile-nav .menu-contact{margin-top:0;padding:0 0 20px;border-top:0;border-bottom:1px solid #d4af3766}.mobile-nav .menu-contact .menu-email{padding:17px 0 0}}
@media(prefers-reduced-motion:reduce){.btn,.floating-whatsapp,.desktop-nav>a:after{transition:none}}
