/* Heavenly Marketing — styles.min.css */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
:root{--dark:#3C3C3C;--slate:#708090;--silver:#C0C7CE;--pearl:#F8F9FA;--white:#FFFFFF;--gold:#9E8B6E;--font-h:'Playfair Display',Georgia,serif;--font-b:'Raleway',Helvetica,sans-serif;--shadow-sm:0 2px 10px rgba(60,60,60,.07);--shadow-md:0 6px 24px rgba(60,60,60,.10);--shadow-lg:0 12px 48px rgba(60,60,60,.14);--radius:6px;--trans:.3s ease}
body{font-family:var(--font-b);color:var(--dark);background:var(--pearl);line-height:1.75;font-size:16px}
a{color:inherit;text-decoration:none;transition:color var(--trans)}
a:hover{color:var(--gold)}
a,button,input,select,textarea{min-height:44px}
button{cursor:pointer;font-family:var(--font-b)}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
/* Skip link */
.skip-link{position:absolute;top:-60px;left:16px;background:var(--dark);color:var(--white);padding:10px 20px;border-radius:var(--radius);z-index:9999;font-size:.875rem;transition:top var(--trans)}
.skip-link:focus{top:16px}
/* ===================== NAVIGATION ===================== */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 5%;background:rgba(248,249,250,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:background var(--trans),border-color var(--trans),box-shadow var(--trans)}
.site-nav.scrolled{background:rgba(248,249,250,.98);border-color:var(--silver);box-shadow:var(--shadow-sm)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto;height:72px}
.nav-logo{font-family:var(--font-h);font-size:1.5rem;font-weight:700;color:var(--dark);letter-spacing:.02em;line-height:1;min-height:0}
.nav-logo span{color:var(--gold)}
.nav-links{display:flex;align-items:center;gap:2rem}
.nav-links a{font-size:.875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dark);position:relative;padding-bottom:2px;min-height:0}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width var(--trans)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-links a:hover{color:var(--dark)}
.nav-cta{background:var(--dark);color:var(--white) !important;padding:10px 24px;border-radius:var(--radius);min-height:44px;display:inline-flex;align-items:center;transition:background var(--trans)}.nav-links a.nav-cta{padding:10px 24px;line-height:1;min-height:44px}
.nav-cta:hover{background:var(--slate) !important;color:var(--white) !important}
.nav-cta::after{display:none !important}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;width:44px;height:44px;min-height:44px;padding:8px}
.hamburger span{display:block;width:24px;height:2px;background:var(--dark);transition:all var(--trans);transform-origin:center}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Mobile nav */
.mobile-nav{display:none;flex-direction:column;background:var(--white);border-top:1px solid var(--silver);padding:1.5rem 5% 2rem;gap:0}
.mobile-nav.open{display:flex}
.mobile-nav a{padding:14px 0;border-bottom:1px solid var(--pearl);font-size:1rem;font-weight:600;letter-spacing:.05em;color:var(--dark);min-height:52px;display:flex;align-items:center}
.mobile-nav a:last-child{border-bottom:none}
/* ===================== HERO ===================== */
.hero{position:relative;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(60,60,60,.72) 0%,rgba(112,128,144,.42) 100%);z-index:1}
.hero-content{position:relative;z-index:2;max-width:700px;padding:6rem 5% 4rem;text-align:center}
.hero-eyebrow{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--silver);margin-bottom:1.25rem;background:rgba(255,255,255,.1);padding:6px 16px;border-radius:var(--radius);border:1px solid rgba(192,199,206,.3)}
.hero h1{font-family:var(--font-h);font-size:clamp(2.5rem,6vw,4.25rem);font-weight:700;color:var(--white);line-height:1.15;margin-bottom:1.5rem;letter-spacing:-.01em}
.hero h1 em{font-style:normal;color:#D4C5A9}
.hero-sub{font-size:clamp(1rem,2vw,1.2rem);color:rgba(248,249,250,.85);max-width:560px;margin:0 auto 2.5rem;line-height:1.7}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:0 32px;border-radius:var(--radius);font-size:.9rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:all var(--trans);border:2px solid transparent;cursor:pointer}
.btn-primary{background:var(--white);color:var(--dark);border-color:var(--white)}
.btn-primary:hover{background:var(--pearl);color:var(--dark);border-color:var(--pearl)}
.btn-outline{background:transparent;color:var(--white);border-color:rgba(255,255,255,.6)}
.btn-outline:hover{background:rgba(255,255,255,.1);border-color:var(--white)}
.btn-dark{background:var(--dark);color:var(--white);border-color:var(--dark)}
.btn-dark:hover{background:#555;border-color:#555;color:var(--white)}
.btn-gold{background:var(--gold);color:var(--white);border-color:var(--gold)}
.btn-gold:hover{background:#876e52;border-color:#876e52;color:var(--white)}
.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(255,255,255,.6);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.scroll-line{width:1px;height:40px;background:rgba(255,255,255,.4);animation:scrollPulse 2s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:.4;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.15)}}
/* ===================== SECTIONS ===================== */
section{position:relative}
.section-inner{max-width:1280px;margin:0 auto;padding:0 5%}
.section-pad{padding:6rem 0}
.section-pad-lg{padding:8rem 0}
/* Split screen layout */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5rem}
.split.reverse{direction:rtl}
.split.reverse > *{direction:ltr}
.split-text{display:flex;flex-direction:column;justify-content:center}
.split-image{position:relative;overflow:hidden;border-radius:var(--radius)}
.split-image img{width:100%;height:100%;object-fit:cover;min-height:420px;border-radius:var(--radius);transition:transform .6s ease}
.split-image:hover img{transform:scale(1.03)}
.split-image-frame{position:absolute;top:20px;left:20px;right:-20px;bottom:-20px;border:2px solid var(--silver);border-radius:var(--radius);z-index:-1}
/* Eyebrow / labels */
.eyebrow{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
/* Section headings */
.section-title{font-family:var(--font-h);font-size:clamp(1.85rem,4vw,3rem);font-weight:700;color:var(--dark);line-height:1.2;margin-bottom:1.25rem;letter-spacing:-.01em}
.section-sub{font-size:1.05rem;color:var(--slate);line-height:1.75;max-width:540px}
.section-sub.wide{max-width:680px}
.divider{width:48px;height:3px;background:var(--gold);margin:1.5rem 0;border-radius:2px}
/* ===================== ABOUT ===================== */
.about{background:var(--white)}
.about .split-text{padding:2rem 0}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.stat-item{text-align:center;padding:1.25rem 1rem;background:var(--pearl);border-radius:var(--radius);border:1px solid var(--silver)}
.stat-num{font-family:var(--font-h);font-size:2rem;font-weight:700;color:var(--dark);display:block;line-height:1}
.stat-label{font-size:.8rem;color:var(--slate);text-transform:uppercase;letter-spacing:.08em;margin-top:.25rem;display:block}
/* ===================== SERVICES ===================== */
.services{background:var(--pearl)}
.service-block{padding:5rem 0;border-bottom:1px solid var(--silver)}
.service-block:last-child{border-bottom:none}
.service-icon{width:56px;height:56px;background:var(--pearl);border:1px solid var(--silver);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}
.service-icon svg{width:28px;height:28px;stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.service-features{margin-top:1.75rem;display:flex;flex-direction:column;gap:.75rem}
.service-features li{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:var(--dark)}
.service-features li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0}
/* ===================== WHY CHOOSE US ===================== */
.why{background:var(--white)}
.why-header{text-align:center;margin-bottom:4rem}
.why-header .section-sub{margin:0 auto}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.feature-card{padding:2.5rem 2rem;background:var(--pearl);border:1px solid var(--silver);border-radius:var(--radius);transition:box-shadow var(--trans),transform var(--trans)}
.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}
.feature-icon{width:52px;height:52px;background:var(--white);border:1px solid var(--silver);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}
.feature-icon svg{width:26px;height:26px;stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.feature-card h3{font-family:var(--font-h);font-size:1.2rem;font-weight:700;color:var(--dark);margin-bottom:.75rem}
.feature-card p{font-size:.925rem;color:var(--slate);line-height:1.7}
/* ===================== PROCESS ===================== */
.process{background:var(--dark)}
.process .section-title{color:var(--white)}
.process .eyebrow{color:var(--silver)}
.process-header{text-align:center;margin-bottom:4rem}
.process-header .section-sub{color:var(--silver);margin:0 auto}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;position:relative}
.steps::before{content:'';position:absolute;top:28px;left:calc(16.66% + 1rem);right:calc(16.66% + 1rem);height:1px;background:rgba(192,199,206,.25)}
.step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1.5rem}
.step-num{width:56px;height:56px;border-radius:50%;background:var(--gold);color:var(--white);font-family:var(--font-h);font-size:1.25rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;position:relative;z-index:1;flex-shrink:0}
.step h3{font-family:var(--font-h);font-size:1.15rem;color:var(--white);margin-bottom:.75rem}
.step p{font-size:.9rem;color:var(--silver);line-height:1.7}
/* ===================== CONTACT ===================== */
.contact{background:var(--pearl)}
.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.contact-info h2{font-family:var(--font-h);font-size:clamp(1.85rem,3.5vw,2.5rem);color:var(--dark);margin-bottom:1rem}
.contact-info .section-sub{margin-bottom:2.5rem}
.contact-detail{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}
.contact-detail-icon{width:44px;height:44px;background:var(--white);border:1px solid var(--silver);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-detail-icon svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.contact-detail-text strong{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--slate);margin-bottom:.2rem}
.contact-detail-text span,.contact-detail-text a{font-size:.975rem;color:var(--dark)}
/* Form */
.form-card{background:var(--white);padding:2.5rem;border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--silver)}
.form-group{margin-bottom:1.25rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);margin-bottom:.5rem}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;background:var(--pearl);border:1px solid var(--silver);border-radius:var(--radius);font-family:var(--font-b);font-size:.95rem;color:var(--dark);transition:border-color var(--trans),box-shadow var(--trans);outline:none;min-height:44px}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--slate);box-shadow:0 0 0 3px rgba(112,128,144,.12)}
.form-group textarea{min-height:120px;resize:vertical}
.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#c0392b}
.form-check{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem}
.form-check input[type="checkbox"]{width:18px;height:18px;min-height:18px;margin-top:3px;flex-shrink:0;accent-color:var(--dark)}
.form-check label{font-size:.875rem;color:var(--slate);line-height:1.5;min-height:0}
.form-check a{color:var(--dark);text-decoration:underline}
.form-msg{display:none;padding:12px 16px;border-radius:var(--radius);font-size:.9rem;margin-top:1rem}
.form-msg.success{background:#f0faf0;border:1px solid #a3d9a5;color:#2d6a2d;display:block}
.form-msg.error-msg{background:#fff0f0;border:1px solid #f5c6c6;color:#c0392b;display:block}
/* Honeypot */
.hp-field{position:absolute;left:-9999px;opacity:0;pointer-events:none;height:0;overflow:hidden}
/* ===================== FOOTER ===================== */
.site-footer{background:var(--dark);color:var(--silver);padding:5rem 5% 2rem}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-brand .nav-logo{color:var(--white);font-size:1.375rem;display:inline-block;min-height:0;margin-bottom:1rem}
.footer-brand p{font-size:.9rem;color:#aab;line-height:1.7;max-width:300px}
.footer-col h4{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--white);margin-bottom:1.25rem}
.footer-col ul{display:flex;flex-direction:column;gap:.75rem}
.footer-col ul li a{font-size:.9rem;color:#9aa;transition:color var(--trans)}
.footer-col ul li a:hover{color:var(--white)}
.footer-contact-item{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:#9aa;margin-bottom:.75rem}.footer-contact-item a,.footer-contact-item span{min-height:0;line-height:1.4}
.footer-contact-item svg{width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:1.5;flex-shrink:0}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:2rem;border-top:1px solid rgba(192,199,206,.2)}
.footer-bottom p{font-size:.85rem;color:#7a8a8a}
.footer-bottom-links{display:flex;gap:1.5rem}
.footer-bottom-links a{font-size:.8rem;color:#7a8a8a;transition:color var(--trans)}
.footer-bottom-links a:hover{color:var(--white)}
/* ===================== BACK TO TOP ===================== */
.back-to-top{position:fixed;bottom:2rem;right:2rem;z-index:800;width:44px;height:44px;min-height:44px;background:var(--dark);color:var(--white);border:none;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(12px);transition:opacity var(--trans),transform var(--trans),background var(--trans);pointer-events:none}
.back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:all}
.back-to-top:hover{background:var(--slate)}
.back-to-top svg{width:18px;height:18px;stroke:var(--white);fill:none;stroke-width:2}
/* ===================== INNER PAGES ===================== */
.page-hero{padding:10rem 5% 5rem;background:var(--white);border-bottom:1px solid var(--silver);text-align:center}
.page-hero h1{font-family:var(--font-h);font-size:clamp(2rem,5vw,3.25rem);color:var(--dark);margin-bottom:1rem}
.page-hero p{font-size:1.05rem;color:var(--slate);max-width:600px;margin:0 auto}
.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--slate);margin-bottom:1.5rem;justify-content:center}
.breadcrumb a{color:var(--slate);min-height:0;display:inline-flex;align-items:center}
.breadcrumb a:hover{color:var(--dark)}
.breadcrumb-sep{color:var(--silver)}
/* Legal pages */
.legal-content{max-width:800px;margin:0 auto;padding:5rem 5%}
.legal-content h2{font-family:var(--font-h);font-size:1.5rem;color:var(--dark);margin:2.5rem 0 1rem;font-weight:700}
.legal-content h3{font-size:1.1rem;color:var(--dark);margin:1.75rem 0 .75rem;font-weight:700}
.legal-content p{color:var(--slate);line-height:1.8;margin-bottom:1rem;font-size:.975rem}
.legal-content ul{margin:.75rem 0 1rem 1.5rem;list-style:disc}
.legal-content ul li{color:var(--slate);line-height:1.8;margin-bottom:.5rem;font-size:.975rem}
.legal-date{font-size:.85rem;color:var(--silver);margin-bottom:2rem}
/* ===================== APPLY PAGE ===================== */
.apply-wrap{max-width:860px;margin:0 auto;padding:4rem 5%}
.apply-intro{margin-bottom:2.5rem}
.apply-intro p{color:var(--slate);font-size:1rem;line-height:1.75}
.apply-form-card{background:var(--white);border:1px solid var(--silver);border-radius:var(--radius);padding:3rem;box-shadow:var(--shadow-sm)}
.apply-form-card .form-section-title{font-family:var(--font-h);font-size:1.15rem;color:var(--dark);margin:2rem 0 1.25rem;padding-bottom:.5rem;border-bottom:1px solid var(--silver)}
.apply-form-card .form-section-title:first-child{margin-top:0}
.file-input-wrap{position:relative}
.file-input-wrap input[type="file"]{padding:8px 14px;background:var(--pearl);border:1px dashed var(--silver);cursor:pointer}
/* ===================== 404 PAGE ===================== */
.page-404{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5rem 5%;background:var(--white)}
.page-404 .num-404{font-family:var(--font-h);font-size:clamp(5rem,15vw,10rem);font-weight:700;color:var(--silver);line-height:1;display:block;margin-bottom:0}
.page-404 h1{font-family:var(--font-h);font-size:clamp(1.5rem,4vw,2.5rem);color:var(--dark);margin-bottom:1rem}
.page-404 p{font-size:1rem;color:var(--slate);max-width:500px;margin:0 auto 2.5rem}
.page-404-links{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1rem}
/* ===================== ANIMATIONS ===================== */
.fade-up{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}
.fade-in{opacity:0;transition:opacity .65s ease}
.fade-in.visible{opacity:1}
/* ===================== FOCUS STYLES ===================== */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* ===================== RESPONSIVE ===================== */
@media(max-width:1200px){.split{gap:3.5rem}.features-grid{gap:1.5rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}}
@media(max-width:1024px){.section-pad{padding:5rem 0}.split{gap:3rem}.features-grid{gap:1.25rem}}
@media(max-width:768px){.nav-links{display:none}.hamburger{display:flex}.section-pad{padding:4rem 0}.split{grid-template-columns:1fr;gap:2.5rem}.split.reverse{direction:ltr}.split-image img{min-height:280px}.about-stats{grid-template-columns:1fr 1fr}.features-grid{grid-template-columns:1fr 1fr;gap:1rem}.steps{grid-template-columns:1fr;gap:1.5rem}.steps::before{display:none}.contact-wrap{grid-template-columns:1fr;gap:2.5rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.footer-bottom{flex-direction:column;text-align:center}.form-row{grid-template-columns:1fr}}
@media(max-width:480px){.hero-content{padding:7rem 1.25rem 3rem}.hero-actions{flex-direction:column;align-items:center}.about-stats{grid-template-columns:1fr}.features-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:1.75rem}.apply-form-card{padding:1.75rem 1.25rem}.form-card{padding:1.75rem 1.25rem}.page-404-links{flex-direction:column;align-items:center}.legal-content{padding:3rem 1.25rem}}
/* ===================== PRINT STYLES ===================== */
@media print{.site-nav,.hamburger,.mobile-nav,.hero-scroll,.back-to-top,.contact,.site-footer,.btn{display:none !important}body{color:#000;background:#fff;font-size:12pt}a{color:#000;text-decoration:underline}.section-pad,.section-pad-lg{padding:1rem 0}.split{grid-template-columns:1fr}.legal-content{padding:0}h1,h2,h3{page-break-after:avoid}p,li{page-break-inside:avoid}}
