/* ================================================
   CURRICRAFT – Static Site Styles
   ================================================ */

/* ---------- Reset & Base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Source Sans 3',system-ui,-apple-system,sans-serif;color:#1C1C1C;background:#FAF7F2;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',Georgia,serif;line-height:1.25}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
button,input,textarea{font-family:inherit;font-size:inherit;border:none;outline:none;background:none}
::selection{background:rgba(122,18,18,.15);color:#1C1C1C}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:#FAF7F2}
::-webkit-scrollbar-thumb{background:#C9823A;border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:#7A1212}

/* ---------- Container ---------- */
.container{width:100%;max-width:1280px;margin:0 auto;padding:0 20px}
@media(min-width:640px){.container{padding:0 24px}}
@media(min-width:1024px){.container{padding:0 32px}}

/* ---------- Utilities ---------- */
.text-center{text-align:center}
.relative{position:relative}
.overflow-hidden{overflow:hidden}
.flex{display:flex}
.flex-col{flex-direction:column}
.items-center{align-items:center}
.items-start{align-items:start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.gap-2{gap:8px}
.gap-3{gap:12px}
.gap-4{gap:16px}
.gap-5{gap:20px}
.gap-6{gap:24px}
.shrink-0{flex-shrink:0}
.hidden{display:none}
.block{display:block}
.inline-flex{display:inline-flex}
.w-full{width:100%}

/* ---------- Grid ---------- */
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}
.grid-cols-2{grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-2{grid-template-columns:repeat(2,1fr);gap:48px}.grid-3{grid-template-columns:repeat(3,1fr)}}
.grid-4{grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}
.grid-5-col{grid-template-columns:repeat(1,1fr)}
@media(min-width:1024px){.grid-5-col{grid-template-columns:2fr 3fr}}

/* ---------- Typography ---------- */
.heading-xl{font-size:1.875rem;font-weight:700;color:#7A1212}
.heading-lg{font-size:1.5rem;font-weight:700;color:#7A1212}
.heading-md{font-size:1.25rem;font-weight:700;color:#1C1C1C}
.text-white{color:#fff}
.text-ochre{color:#C9823A}
.text-maroon{color:#7A1212}
.text-muted{color:rgba(28,28,28,.65)}
.text-sm{font-size:.875rem}
.text-xs{font-size:.75rem}
.text-lg{font-size:1.125rem}
.font-semibold{font-weight:600}
.font-medium{font-weight:500}
.leading-relaxed{line-height:1.75}
.uppercase{text-transform:uppercase}
.tracking-wider{letter-spacing:.05em}
@media(min-width:640px){.heading-xl{font-size:2.25rem}.heading-lg{font-size:1.75rem}}
@media(min-width:1024px){.heading-xl{font-size:2.5rem}}

/* ---------- Accent Line ---------- */
.accent-line{width:60px;height:3px;background:#C9823A;border-radius:2px}
.accent-line-center{width:60px;height:3px;background:#C9823A;border-radius:2px;margin:0 auto}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;border-radius:6px;font-weight:600;font-family:'Source Sans 3',sans-serif;letter-spacing:.02em;cursor:pointer;min-height:48px;transition:background-color .3s,box-shadow .3s,color .3s}
.btn-maroon{background:#7A1212;color:#FAF7F2}
.btn-maroon:hover{background:#5e0e0e;box-shadow:0 4px 16px rgba(122,18,18,.3)}
.btn-ochre{background:#C9823A;color:#fff}
.btn-ochre:hover{background:#b0712f;box-shadow:0 4px 16px rgba(201,130,58,.3)}
.btn-outline{background:transparent;color:#7A1212;border:2px solid #7A1212}
.btn-outline:hover{background:#7A1212;color:#FAF7F2;box-shadow:0 4px 16px rgba(122,18,18,.2)}
.btn-whatsapp{background:#25D366;color:#fff}
.btn-whatsapp:hover{background:#1fb855;box-shadow:0 4px 16px rgba(37,211,102,.3)}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.4);padding:12px 32px;border-radius:6px;font-weight:600;min-height:48px}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
@media(min-width:640px){.btn{padding:12px 32px}}

/* ---------- Section Padding ---------- */
.section{padding:56px 0}
@media(min-width:640px){.section{padding:72px 0}}
@media(min-width:768px){.section{padding:100px 0}}

/* ---------- Page Banner ---------- */
.page-banner{padding:56px 0;background:#7A1212;position:relative;overflow:hidden}
.page-banner::before{content:'';position:absolute;inset:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.4'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.page-banner h1{font-size:1.875rem;font-weight:700;color:#fff;margin-bottom:12px}
.page-banner p{font-size:1rem;color:rgba(255,255,255,.7)}
@media(min-width:640px){.page-banner{padding:80px 0}.page-banner h1{font-size:2.5rem}.page-banner p{font-size:1.125rem}}

/* ---------- Cards ---------- */
.card{background:#fff;border-radius:12px;padding:28px;border:1px solid rgba(201,130,58,.1);transition:box-shadow .3s,border-color .3s}
.card:hover{box-shadow:0 8px 30px rgba(122,18,18,.08);border-color:rgba(201,130,58,.3)}
.card-warm{background:#FAF7F2;border-radius:12px;padding:28px;border:1px solid rgba(201,130,58,.1);transition:box-shadow .3s,border-color .3s}
.card-warm:hover{box-shadow:0 8px 30px rgba(122,18,18,.08);border-color:rgba(201,130,58,.3)}
@media(min-width:768px){.card,.card-warm{padding:32px}}

/* ---------- Icon Box ---------- */
.icon-box{width:48px;height:48px;border-radius:10px;background:rgba(122,18,18,.05);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s}
.icon-box svg{width:24px;height:24px;color:#7A1212;transition:color .3s}
.card:hover .icon-box,.card-warm:hover .icon-box{background:#7A1212}
.card:hover .icon-box svg,.card-warm:hover .icon-box svg{color:#fff}
.icon-box-sm{width:40px;height:40px;border-radius:8px;background:rgba(201,130,58,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.icon-box-sm svg{width:20px;height:20px;color:#C9823A}

/* ---------- Bullet ---------- */
.bullet{width:20px;height:20px;border-radius:50%;background:rgba(201,130,58,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:3px}
.bullet::after{content:'';width:6px;height:6px;border-radius:50%;background:#C9823A}

/* ---------- Number Circle ---------- */
.num-circle{width:32px;height:32px;border-radius:8px;background:rgba(201,130,58,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.875rem;font-weight:700;color:#C9823A;transition:background .3s,color .3s}
.num-circle:hover{background:#C9823A;color:#fff}

/* ---------- Header ---------- */
.header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:8px 0;transition:box-shadow .3s,padding .3s}
.header.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.08);padding:6px 0}
.header-inner{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:10px}
.logo img{height:48px;width:auto}
.logo-text{display:none}
@media(min-width:640px){.logo img{height:56px}.logo-text{display:block}}
.logo-name{font-size:1.125rem;font-weight:700;color:#7A1212;font-family:'Playfair Display',serif;line-height:1.2}
.logo-sub{font-size:.65rem;color:#C9823A;font-weight:500;letter-spacing:.08em;text-transform:uppercase}

/* Desktop Nav */
.nav-desktop{display:none;align-items:center;gap:4px}
@media(min-width:1024px){.nav-desktop{display:flex}}
.nav-link{padding:8px 12px;border-radius:6px;font-size:.875rem;font-weight:500;color:rgba(28,28,28,.7);transition:color .2s,background .2s}
.nav-link:hover,.nav-link.active{color:#7A1212;background:rgba(122,18,18,.05)}

/* More Dropdown */
.nav-more{position:relative}
.nav-more-btn{padding:8px 12px;border-radius:6px;font-size:.875rem;font-weight:500;color:rgba(28,28,28,.7);display:flex;align-items:center;gap:4px;cursor:pointer;transition:color .2s}
.nav-more-btn:hover{color:#7A1212}
.nav-dropdown{position:absolute;right:0;top:100%;padding-top:8px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.nav-more:hover .nav-dropdown{opacity:1;visibility:visible}
.nav-dropdown-inner{background:#fff;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.12);border:1px solid rgba(201,130,58,.1);padding:8px 0;min-width:220px}
.nav-dropdown a{display:block;padding:10px 16px;font-size:.875rem;color:rgba(28,28,28,.7);transition:color .2s,background .2s}
.nav-dropdown a:hover,.nav-dropdown a.active{color:#7A1212;background:#FAF7F2}

/* Mobile Menu */
.menu-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:6px;cursor:pointer;color:#7A1212;transition:background .2s}
.menu-toggle:hover{background:rgba(122,18,18,.05)}
@media(min-width:1024px){.menu-toggle{display:none}}
.mobile-nav{display:none;padding:8px 0 16px;border-top:1px solid rgba(201,130,58,.1);margin-top:8px;max-height:70vh;overflow-y:auto}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:12px;border-radius:6px;font-size:.875rem;font-weight:500;color:rgba(28,28,28,.7);transition:color .2s,background .2s}
.mobile-nav a:hover,.mobile-nav a.active{color:#7A1212;background:rgba(122,18,18,.05)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:85vh;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(122,18,18,.92),rgba(90,12,12,.88) 50%,rgba(60,8,8,.85))}
.hero-content{position:relative;z-index:2;max-width:720px}
.hero h1{font-size:1.875rem;font-weight:700;color:#fff;line-height:1.15;margin-bottom:12px}
.hero .subtitle{font-size:1.125rem;color:#C9823A;font-family:'Playfair Display',serif;font-weight:500;margin-bottom:16px}
.hero .desc{font-size:1rem;color:rgba(255,255,255,.8);line-height:1.7;margin-bottom:32px}
.hero-buttons{display:flex;flex-direction:column;gap:12px}
@media(min-width:640px){.hero h1{font-size:3rem}.hero .subtitle{font-size:1.5rem}.hero .desc{font-size:1.125rem}.hero-buttons{flex-direction:row;gap:16px}}
@media(min-width:1024px){.hero h1{font-size:3.75rem}}

/* ---------- CTA Banner ---------- */
.cta-banner{padding:56px 0;background:#7A1212;position:relative;overflow:hidden}
.cta-banner::before{content:'';position:absolute;inset:0;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.4'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
@media(min-width:640px){.cta-banner{padding:80px 0}}

/* ---------- Image Frame ---------- */
.img-frame{position:relative;border-radius:12px;overflow:hidden}
.img-frame img{width:100%;height:260px;object-fit:cover;border-radius:12px}
@media(min-width:640px){.img-frame img{height:380px}}
.img-frame-border::before{content:'';position:absolute;top:-12px;left:-12px;right:12px;bottom:12px;border:2px solid rgba(201,130,58,.25);border-radius:12px;display:none}
@media(min-width:640px){.img-frame-border::before{display:block}}

/* ---------- Stat Box ---------- */
.stat-box{background:#FAF7F2;border-radius:12px;padding:16px;text-align:center;border:1px solid rgba(201,130,58,.1);transition:box-shadow .3s}
.stat-box:hover{box-shadow:0 8px 30px rgba(122,18,18,.08)}
.stat-box svg{width:24px;height:24px;color:#C9823A;margin:0 auto 8px}
.stat-value{font-size:1.125rem;font-weight:700;color:#7A1212;font-family:'Playfair Display',serif}
.stat-label{font-size:.75rem;color:rgba(28,28,28,.6);margin-top:2px}
@media(min-width:640px){.stat-box{padding:24px}.stat-box svg{width:32px;height:32px;margin-bottom:12px}.stat-value{font-size:1.5rem}.stat-label{font-size:.875rem}}

/* ---------- Accordion ---------- */
.accordion-item{background:#FAF7F2;border-radius:12px;border:1px solid rgba(201,130,58,.1);overflow:hidden;margin-bottom:12px}
.accordion-item.white{background:#fff}
.accordion-trigger{width:100%;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;text-align:left;font-weight:600;color:#1C1C1C;font-size:.875rem;transition:color .2s}
.accordion-trigger:hover{color:#7A1212}
.accordion-trigger .chevron{width:20px;height:20px;color:rgba(28,28,28,.4);transition:transform .3s;flex-shrink:0}
.accordion-item.open .accordion-trigger .chevron{transform:rotate(180deg)}
.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease}
.accordion-content-inner{padding:0 24px 20px;color:rgba(28,28,28,.7);line-height:1.7;font-size:.875rem}
@media(min-width:640px){.accordion-trigger{font-size:1rem}}

/* ---------- Testimonial Card ---------- */
.testimonial-card{background:#FAF7F2;border-radius:12px;padding:32px;border:1px solid rgba(201,130,58,.1);position:relative;transition:box-shadow .3s}
.testimonial-card:hover{box-shadow:0 8px 30px rgba(122,18,18,.08)}
.testimonial-card .quote-icon{position:absolute;top:24px;right:24px;width:32px;height:32px;color:rgba(201,130,58,.2)}
.testimonial-text{color:rgba(28,28,28,.7);line-height:1.7;font-style:italic;margin-bottom:24px}
.testimonial-author{display:flex;align-items:center;gap:12px}
.author-avatar{width:40px;height:40px;border-radius:50%;background:rgba(122,18,18,.1);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#7A1212}
.author-name{font-weight:600;font-size:.875rem;color:#1C1C1C}
.author-role{font-size:.75rem;color:rgba(28,28,28,.5)}

/* ---------- Gallery ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:768px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:16px}}
.gallery-item{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gallery-item:hover img{transform:scale(1.1)}
.gallery-item::after{content:'';position:absolute;inset:0;background:rgba(122,18,18,0);transition:background .3s}
.gallery-item:hover::after{background:rgba(122,18,18,.2)}

/* ---------- Contact Info Row ---------- */
.contact-row{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.contact-row .icon-box:hover{background:#7A1212}
.contact-row .icon-box:hover svg{color:#fff}
.contact-label{font-size:.625rem;color:rgba(28,28,28,.5);text-transform:uppercase;letter-spacing:.08em}
.contact-value{font-weight:500;color:#1C1C1C;font-size:.875rem}
@media(min-width:640px){.contact-label{font-size:.75rem}.contact-value{font-size:1rem}}

/* ---------- Form ---------- */
.form-group{margin-bottom:16px}
.form-label{display:block;font-size:.875rem;font-weight:500;color:rgba(28,28,28,.8);margin-bottom:6px}
.form-input{width:100%;padding:12px 16px;border-radius:8px;background:#fff;border:1px solid rgba(201,130,58,.15);color:#1C1C1C;font-size:1rem;transition:box-shadow .2s,border-color .2s}
.form-input::placeholder{color:rgba(28,28,28,.3)}
.form-input:focus{box-shadow:0 0 0 3px rgba(122,18,18,.1);border-color:rgba(122,18,18,.3)}
textarea.form-input{resize:none;min-height:120px}

/* ---------- Footer ---------- */
.footer{background:#1C1C1C;color:rgba(255,255,255,.8)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:40px;padding:64px 0}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.footer-grid{grid-template-columns:1fr 1fr 1fr 1fr}}
.footer-heading{font-size:.75rem;color:#C9823A;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:20px}
.footer-link{display:flex;align-items:center;gap:4px;font-size:.875rem;color:rgba(255,255,255,.6);padding:4px 0;transition:color .2s}
.footer-link:hover{color:#C9823A}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
@media(min-width:640px){.footer-bottom{flex-direction:row;justify-content:space-between}}
.footer-bottom p{font-size:.75rem;color:rgba(255,255,255,.4)}
.footer-bottom a{color:#C9823A;transition:color .2s}
.footer-bottom a:hover{color:rgba(201,130,58,.8)}

/* ---------- WhatsApp Floating ---------- */
.whatsapp-float{position:fixed;bottom:20px;right:20px;z-index:90;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(37,211,102,.4);cursor:pointer;transition:transform .3s,box-shadow .3s}
.whatsapp-float:hover{transform:scale(1.08);box-shadow:0 6px 24px rgba(37,211,102,.5)}
.whatsapp-float svg{width:28px;height:28px}

/* ---------- Warm BG ---------- */
.bg-warm{background:linear-gradient(180deg,#FAF7F2,#f5ede0)}
.bg-white{background:#fff}
.bg-offwhite{background:#FAF7F2}

/* ---------- Animations ---------- */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.animate-in{animation:fadeInUp .6s ease-out forwards}

/* ---------- Badge Overlay ---------- */
.badge-overlay{position:absolute;bottom:-8px;right:0;background:#7A1212;color:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.15)}
.badge-overlay .big{font-size:1.25rem;font-weight:700}
.badge-overlay .small{font-size:.75rem;color:rgba(255,255,255,.8)}
@media(min-width:640px){.badge-overlay{bottom:-24px;right:-16px;padding:16px 24px}.badge-overlay .big{font-size:1.5rem}}

/* ---------- Motto Banner ---------- */
.motto-banner{padding:48px 0;background:#7A1212;position:relative;overflow:hidden}
.motto-banner::before{content:'';position:absolute;inset:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.4'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
@media(min-width:640px){.motto-banner{padding:64px 0}}

/* ---------- Success State ---------- */
.success-state{text-align:center;padding:48px 0}
.success-icon{width:64px;height:64px;border-radius:50%;background:rgba(37,211,102,.1);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.success-icon svg{width:32px;height:32px;color:#25D366}

/* ---------- Spacers ---------- */
.mb-2{margin-bottom:8px}
.mb-3{margin-bottom:12px}
.mb-4{margin-bottom:16px}
.mb-5{margin-bottom:20px}
.mb-6{margin-bottom:24px}
.mb-8{margin-bottom:32px}
.mb-10{margin-bottom:40px}
.mb-12{margin-bottom:48px}
.mt-2{margin-top:8px}
.mt-4{margin-top:16px}
.mt-6{margin-top:24px}
.mt-8{margin-top:32px}
.pt-header{padding-top:64px}
@media(min-width:640px){.pt-header{padding-top:72px}}

/* ---------- Map ---------- */
.map-frame{border-radius:12px;overflow:hidden;border:1px solid rgba(201,130,58,.1);height:200px}
@media(min-width:640px){.map-frame{height:250px}}
.map-frame iframe{width:100%;height:100%;border:0}

/* SVG Icons inline color */
.icon-maroon{color:#7A1212}
.icon-ochre{color:#C9823A}
.icon-white{color:#fff}
