@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=Libre+Franklin:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&display=swap');

*{margin:0;padding:0;box-sizing:border-box}
:root{
--paper:#f8f3ea;--paper-warm:#efe6d6;--paper-deep:#e4d9c5;
--cream:#fcf8f1;--cream-2:#f6efe3;
--ink:#2c1e10;--ink-soft:#5c4430;--ink-muted:#8a7560;--ink-light:#a99478;
--wood-deep:#2c1e10;--wood:#4a3520;--wood-mid:#6b4e32;
--copper:#8b5e3c;--copper-light:#a07048;--amber:#b88550;
--ochre:#bfa072;--gold:#bfa072;--gold-dust:#d2b888;
--hair:rgba(44,30,16,.07);--hair-2:rgba(44,30,16,.13);
--radius:0;
--ease:cubic-bezier(.22,.68,.36,1);
--ease-out:cubic-bezier(.16,1,.3,1);
}

html{scroll-behavior:auto}
body{font-family:'Libre Franklin',system-ui,sans-serif;background:var(--paper);color:var(--ink-soft);font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-size:16px;letter-spacing:.01em}
h1,h2,h3,h4,h5{font-family:'Playfair Display',Georgia,'Times New Roman',serif;color:var(--ink);font-weight:400;letter-spacing:-.025em;line-height:1.08}
::selection{background:var(--copper);color:var(--cream)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

/* GRAIN TEXTURE */
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.25;mix-blend-mode:multiply;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .12 0 0 0 0 .09 0 0 0 0 .05 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}

/* ═══════ ANIMATION SYSTEM ═══════ */
.reveal{opacity:0;transform:translateY(44px);transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
.reveal.vis{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
.reveal-left.vis{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
.reveal-right.vis{opacity:1;transform:translateX(0)}
.reveal-scale{opacity:0;transform:scale(.94);transition:opacity .8s var(--ease),transform 1s var(--ease)}
.reveal-scale.vis{opacity:1;transform:scale(1)}
.reveal-line{transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease-out)}
.reveal-line.vis{transform:scaleX(1)}
.stagger-1{transition-delay:.1s}
.stagger-2{transition-delay:.2s}
.stagger-3{transition-delay:.3s}
.stagger-4{transition-delay:.4s}
.stagger-5{transition-delay:.5s}
.stagger-6{transition-delay:.6s}
.stagger-7{transition-delay:.7s}
.stagger-8{transition-delay:.8s}

/* Parallax container */
.parallax-wrap{overflow:hidden;position:relative}
.parallax-inner{transition:transform .1s linear;will-change:transform}

/* Counter animation */
.counter{font-variant-numeric:tabular-nums}

/* Line draw */
.draw-line{width:100%;height:1px;background:var(--copper);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease-out)}
.draw-line.vis{transform:scaleX(1)}
.draw-v{width:1px;height:80px;background:var(--copper);transform:scaleY(0);transform-origin:top;transition:transform 1.2s var(--ease-out)}
.draw-v.vis{transform:scaleY(1)}

/* ═══════ HERO LOAD ANIMATION ═══════ */
@keyframes hero-rise{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-fade{from{opacity:0}to{opacity:1}}
@keyframes hero-scale{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes hero-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes hero-slide{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}
.h-r1{animation:hero-rise 1.3s var(--ease) .2s both}
.h-r2{animation:hero-rise 1.3s var(--ease) .4s both}
.h-r3{animation:hero-rise 1.3s var(--ease) .6s both}
.h-r4{animation:hero-slide 1s var(--ease) .9s both}
.h-r5{animation:hero-scale 1.4s var(--ease) .5s both}
.h-line{animation:hero-line 1.6s var(--ease-out) 1.1s both}

/* ═══════ NAVIGATION ═══════ */
nav{position:fixed;top:0;width:100%;z-index:100;transition:all .6s var(--ease);padding:28px 0}
nav.scrolled{background:rgba(245,237,226,.94);backdrop-filter:blur(20px) saturate(1.8);padding:14px 0;box-shadow:0 1px 0 var(--hair)}
.nav-in{max-width:1320px;margin:0 auto;padding:0 56px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:14px;transition:opacity .5s}
.brand:hover{opacity:.7}
.brand-logo{height:64px;width:auto;display:block;transition:height .5s var(--ease)}
.brand-logo-footer{height:88px}
.brand-motto{font-family:'Playfair Display',serif;font-style:italic;font-size:11px;color:var(--ink-light);letter-spacing:.06em;white-space:nowrap;transition:opacity .5s}
nav.scrolled .brand-logo{height:54px}
nav.scrolled .brand-motto{opacity:0;font-size:0;margin:0;padding:0}
.nav-menu{display:flex;gap:42px;list-style:none;align-items:center}
.nav-menu a{color:var(--ink-muted);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;transition:color .4s;position:relative}
.nav-menu a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--copper);transition:width .4s var(--ease)}
.nav-menu a:hover{color:var(--ink)}
.nav-menu a:hover::after{width:100%}
.nav-menu a.active{color:var(--copper)}
.nav-menu a.active::after{width:100%}
.nav-cta{background:var(--ink);color:var(--cream);padding:13px 28px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;transition:all .5s var(--ease);border:1px solid var(--ink)}
.nav-cta::after{display:none!important}
.nav-cta:hover{background:var(--copper);border-color:var(--copper);color:var(--cream)!important}
.mob-toggle{display:none;background:none;border:none;color:var(--ink);cursor:pointer;padding:8px}
.mob-toggle svg{width:22px;height:22px}

/* ═══════ SHARED SECTION ELEMENTS ═══════ */
section{padding:140px 56px;position:relative}
.section-in{max-width:1320px;margin:0 auto}
.eyebrow{display:inline-flex;align-items:center;gap:16px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--copper);font-weight:600;margin-bottom:24px}
.eyebrow::before{content:'';width:40px;height:1px;background:var(--copper)}
.section-title{font-size:clamp(36px,4.5vw,60px);line-height:1.08;color:var(--ink);margin-bottom:28px;max-width:760px;letter-spacing:-.025em}
.section-title em{font-style:italic;color:var(--copper)}
.section-lead{font-size:17px;color:var(--ink-soft);max-width:580px;line-height:1.75;margin-bottom:72px;font-weight:300;letter-spacing:.01em}

/* ═══════ BUTTONS ═══════ */
.btn-primary{background:var(--ink);color:var(--cream);padding:20px 44px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;transition:all .5s var(--ease);display:inline-flex;align-items:center;gap:14px;border:1px solid var(--ink);position:relative;overflow:hidden}
.btn-primary::before{content:'';position:absolute;inset:0;background:var(--copper);transform:translateX(-101%);transition:transform .5s var(--ease)}
.btn-primary:hover::before{transform:translateX(0)}
.btn-primary span,.btn-primary svg{position:relative;z-index:2}
.btn-primary svg{width:14px;height:14px;transition:transform .5s var(--ease)}
.btn-primary:hover svg{transform:translateX(6px)}
.btn-ghost{color:var(--ink);padding:20px 4px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;transition:all .4s;position:relative}
.btn-ghost::after{content:'';position:absolute;bottom:16px;left:4px;right:4px;height:1px;background:var(--hair-2);transition:background .4s}
.btn-ghost:hover{color:var(--copper)}
.btn-ghost:hover::after{background:var(--copper)}

/* ═══════ DIVIDERS ═══════ */
.section-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent 0%,var(--hair-2) 20%,var(--hair-2) 80%,transparent 100%)}
.section-divider-v{width:1px;height:100px;background:var(--copper);opacity:.4;margin:0 auto}

/* ═══════ MOTTO EDITORIAL ═══════ */
.motto{background:var(--wood-deep);position:relative;padding:0;overflow:hidden}
.motto-bg{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='500' height='500'%3E%3Cfilter id='mw'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.015 .28' numOctaves='5'/%3E%3CfeColorMatrix values='0 0 0 0 .12 0 0 0 0 .06 0 0 0 0 .02 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23mw)'/%3E%3C/svg%3E");mix-blend-mode:multiply;opacity:.4;pointer-events:none}
.motto-in{position:relative;z-index:2;max-width:1320px;margin:0 auto;padding:88px 56px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:40px}
.motto-text{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(36px,6vw,80px);color:var(--gold);line-height:1;letter-spacing:-.03em;font-weight:400;position:relative;padding:0 20px}
.motto-mark{font-size:.6em;color:var(--gold-dust);opacity:.3;position:absolute;top:-.2em;left:-.15em}
.motto-line,.motto-line-2{width:min(280px,60%);height:1px;background:var(--gold);opacity:.25}

@media(max-width:1024px){
.motto-in{padding:80px 32px}
.motto-text{font-size:clamp(36px,7vw,72px)}
}

/* ═══════ FOOTER ═══════ */
footer{background:var(--wood-deep);color:var(--cream);padding:100px 56px 56px;position:relative;overflow:hidden}
footer::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.008 .35' numOctaves='5'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .85 0 0 0 0 .55 0 0 0 .035 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23w)'/%3E%3C/svg%3E");pointer-events:none}
.footer-in{max-width:1320px;margin:0 auto;position:relative;z-index:2}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:56px;padding-bottom:72px;border-bottom:1px solid rgba(251,246,237,.08)}
.footer-brand{display:flex;flex-direction:column;gap:28px}
.footer-quote{font-family:'Playfair Display',serif;font-style:italic;font-size:19px;color:var(--gold);line-height:1.45;max-width:340px;font-weight:400;letter-spacing:-.01em}
.footer-col h5{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:24px;font-family:'Libre Franklin',sans-serif}
.footer-col a,.footer-col p{display:block;font-size:14px;color:rgba(251,246,237,.55);margin-bottom:14px;transition:color .3s;font-weight:300;letter-spacing:.01em}
.footer-col a:hover{color:var(--cream)}
.footer-bot{padding-top:40px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.footer-bot p{font-size:11px;color:rgba(251,246,237,.3);letter-spacing:.05em;font-weight:400}

/* ═══════ WHATSAPP ═══════ */
.wa-btn{position:fixed;bottom:32px;right:32px;z-index:99;background:var(--ink);color:var(--cream);padding:16px 24px;display:flex;align-items:center;gap:14px;box-shadow:0 16px 48px rgba(30,21,12,.2);transition:all .5s var(--ease);font-weight:600;font-size:10px;letter-spacing:.15em;border:1px solid rgba(212,184,138,.3);text-transform:uppercase}
.wa-btn:hover{background:var(--copper);border-color:var(--copper);transform:translateY(-3px);box-shadow:0 20px 56px rgba(158,74,40,.3)}
.wa-btn svg{width:18px;height:18px;fill:var(--gold);transition:fill .4s}
.wa-btn:hover svg{fill:var(--cream)}

/* ═══════ AREA PAGE STYLES ═══════ */
.area-hero{padding:200px 56px 100px;background:var(--cream);border-bottom:1px solid var(--hair);position:relative;overflow:hidden}
.area-hero-bg{position:absolute;inset:0;pointer-events:none}
.area-hero-bg::before{content:'';position:absolute;top:-20%;right:-10%;width:50%;height:100%;background:radial-gradient(ellipse at center,rgba(158,74,40,.07) 0%,transparent 60%);filter:blur(60px)}
.area-hero-in{max-width:1320px;margin:0 auto;position:relative;z-index:2}
.breadcrumb{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.15em;color:var(--ink-muted);margin-bottom:40px;text-transform:uppercase;font-weight:500}
.breadcrumb a{color:var(--ink-muted);transition:color .3s}
.breadcrumb a:hover{color:var(--copper)}
.breadcrumb .sep{opacity:.3;font-size:8px}
.breadcrumb .current{color:var(--copper)}
.area-number{font-family:'Playfair Display',serif;font-style:italic;font-size:13px;color:var(--copper);letter-spacing:.08em;margin-bottom:20px;display:block}
.area-title{font-size:clamp(38px,5vw,68px);line-height:1;color:var(--ink);margin-bottom:32px;letter-spacing:-.03em;max-width:900px}
.area-title em{font-style:italic;color:var(--copper)}
.area-intro{font-size:20px;color:var(--ink-soft);line-height:1.6;max-width:720px;font-weight:300;letter-spacing:.01em}
.area-intro strong{color:var(--ink);font-weight:500}

.area-visual{position:relative;aspect-ratio:21/8;margin-top:72px;background:linear-gradient(135deg,var(--wood-deep) 0%,var(--wood) 40%,var(--copper) 100%);overflow:hidden;border:1px solid var(--hair-2)}
.area-visual::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='500' height='500'%3E%3Cfilter id='w2'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.015 .25' numOctaves='5'/%3E%3CfeColorMatrix values='0 0 0 0 .12 0 0 0 0 .06 0 0 0 0 .02 0 0 0 .65 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23w2)'/%3E%3C/svg%3E");mix-blend-mode:multiply;opacity:.5}
.area-visual-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:72px;z-index:2}
.area-visual-icon{font-family:'Playfair Display',serif;font-size:clamp(100px,16vw,220px);color:var(--gold-dust);opacity:.7;line-height:1;font-style:italic;font-weight:400}
.area-visual-quote{max-width:440px;text-align:right}
.area-visual-quote p{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(18px,2.2vw,28px);line-height:1.4;color:var(--cream);font-weight:400;margin-bottom:16px;letter-spacing:-.01em}
.area-visual-quote small{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);font-weight:500}

.area-content{padding:120px 56px;background:var(--paper)}
.area-content-in{max-width:780px;margin:0 auto}
.area-content h2{font-size:clamp(28px,3.5vw,40px);color:var(--ink);margin:72px 0 24px;letter-spacing:-.02em;line-height:1.12}
.area-content h2:first-child{margin-top:0}
.area-content h2 em{font-style:italic;color:var(--copper)}
.area-content h3{font-size:20px;color:var(--ink);margin:48px 0 16px;font-weight:600;font-family:'Libre Franklin',sans-serif;letter-spacing:-.005em}
.area-content h4{font-size:11px;color:var(--copper);margin:36px 0 14px;font-weight:600;font-family:'Libre Franklin',sans-serif;letter-spacing:.2em;text-transform:uppercase}
.area-content p{font-size:17px;color:var(--ink-soft);line-height:1.85;margin-bottom:24px;font-weight:300;letter-spacing:.01em}
.area-content p strong{color:var(--ink);font-weight:500}
.area-content p em{color:var(--copper);font-style:italic}
.area-content ul,.area-content ol{margin:24px 0 28px 0;padding-left:24px}
.area-content li{font-size:17px;color:var(--ink-soft);line-height:1.8;margin-bottom:12px;padding-left:8px;font-weight:300}
.area-content li::marker{color:var(--copper)}
.area-content li strong{color:var(--ink);font-weight:500}
.area-content blockquote{border-left:3px solid var(--copper);padding:24px 0 24px 32px;margin:44px 0;font-family:'Playfair Display',serif;font-style:italic;font-size:22px;color:var(--ink);line-height:1.5;font-weight:400;letter-spacing:-.01em}
.area-content hr{border:none;height:1px;background:var(--hair-2);margin:56px 0}
.area-highlight{background:var(--cream);padding:40px 44px;margin:48px 0;border-left:3px solid var(--copper);position:relative}
.area-highlight h4{margin-top:0;color:var(--copper)}
.area-highlight p:last-child{margin-bottom:0}

.area-cta{background:var(--wood-deep);color:var(--cream);padding:120px 56px;position:relative;overflow:hidden}
.area-cta::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='w3'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.008 .35' numOctaves='5'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .85 0 0 0 0 .55 0 0 0 .035 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23w3)'/%3E%3C/svg%3E");pointer-events:none}
.area-cta-in{max-width:780px;margin:0 auto;text-align:center;position:relative;z-index:2}
.area-cta .eyebrow{color:var(--gold);justify-content:center}
.area-cta .eyebrow::before{background:var(--gold)}
.area-cta h2{font-size:clamp(30px,4vw,48px);color:var(--cream);margin-bottom:24px;line-height:1.1;letter-spacing:-.025em}
.area-cta h2 em{font-style:italic;color:var(--gold)}
.area-cta p{font-size:18px;color:rgba(251,246,237,.7);line-height:1.65;margin-bottom:48px;max-width:520px;margin-left:auto;margin-right:auto;font-weight:300}
.area-cta .btn-primary{background:var(--copper);border-color:var(--copper)}
.area-cta .btn-primary::before{background:var(--gold)}
.area-cta .btn-primary:hover{color:var(--ink)}
.area-nav{display:flex;justify-content:space-between;align-items:center;padding:48px 0;border-top:1px solid rgba(251,246,237,.08);margin-top:72px;gap:20px}
.area-nav a{color:var(--gold);font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;transition:color .3s;display:flex;align-items:center;gap:10px}
.area-nav a:hover{color:var(--cream)}
.area-nav a.disabled{opacity:.2;pointer-events:none}

/* ═══════ RESPONSIVE ═══════ */
@media(max-width:1024px){
section{padding:100px 32px}
.nav-in{padding:0 32px}
.nav-menu{display:none}
.mob-toggle{display:block}
.nav-menu.open{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--paper);flex-direction:column;padding:32px;gap:24px;border-bottom:1px solid var(--hair);box-shadow:0 24px 72px rgba(30,21,12,.1)}
.footer-grid{grid-template-columns:1fr 1fr;gap:40px}
.area-hero{padding:160px 32px 80px}
.area-content{padding:80px 32px}
.area-cta{padding:80px 32px}
.area-visual{aspect-ratio:16/9;margin-top:48px}
.area-visual-content{flex-direction:column;padding:48px 32px;gap:24px;text-align:center}
.area-visual-quote{text-align:center}
}
@media(max-width:640px){
section{padding:80px 20px}
.nav-in{padding:0 20px}
nav{padding:20px 0}
.footer-grid{grid-template-columns:1fr;gap:36px}
footer{padding:64px 20px 40px}
.area-hero{padding:130px 20px 60px}
.area-content{padding:60px 20px}
.area-content-in{max-width:100%}
.area-cta{padding:64px 20px}
.wa-label{display:none}
.wa-btn{padding:14px}
.area-highlight{padding:28px 24px}
.area-content blockquote{padding:20px 0 20px 20px;font-size:19px}
}
