/* ═══════════════════════════════════════
   lond.one — Global Stylesheet
   Parisian Editorial × British Precision
   ═══════════════════════════════════════ */

:root {
  --stone: #F4F1EB;
  --stone-warm: #EDE9E0;
  --stone-deep: #E2DDD2;
  --parchment: #FAF8F4;
  --ink: #1A1814;
  --ink-soft: #3A3630;
  --ink-muted: #7A756C;
  --ink-faint: #B0AAA0;
  --gold: #B8963E;
  --gold-soft: rgba(184,150,62,.12);
  --emerald: #2D7A68;
  --emerald-soft: rgba(45,122,104,.08);
  --white: #FFFFFF;
  --display: 'Cormorant Garamond', Georgia, serif;
  --body: 'Syne', sans-serif;
  --logo: 'Birthstone', cursive;
  --ease: cubic-bezier(.16,1,.3,1);
  --ease-out: cubic-bezier(0,.55,.45,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px}
body{font-family:var(--body);background:var(--parchment);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased;cursor:none}
::selection{background:var(--gold-soft);color:var(--ink)}
a{color:inherit;text-decoration:none}
button{cursor:none;font-family:inherit;border:none;background:none}
img{display:block;max-width:100%}

/* ── CUSTOM CURSOR ── */
.cursor{position:fixed;width:20px;height:20px;border:1.5px solid var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transition:width .3s var(--ease),height .3s var(--ease),border-color .3s,background .3s,transform .3s var(--ease),opacity .3s;transform:translate(-50%,-50%);background:transparent;opacity:.85}
.cursor.hover{width:60px;height:60px;background:rgba(184,150,62,.1);border-color:var(--gold);opacity:1}
.cursor-dot{position:fixed;width:5px;height:5px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:10000;transform:translate(-50%,-50%)}

/* ── LOADER ── */
.loader{position:fixed;inset:0;z-index:10001;background:var(--ink);display:flex;align-items:center;justify-content:center;transition:opacity .8s var(--ease),visibility .8s}
.loader.done{opacity:0;visibility:hidden;pointer-events:none}
.loader-logo{font-family:var(--logo);font-size:clamp(3rem,8vw,6rem);color:var(--parchment);opacity:0;animation:loaderFade 1.5s var(--ease) .2s forwards}
.loader-logo b{color:var(--gold)}
@keyframes loaderFade{0%{opacity:0;transform:translateY(20px)}60%,100%{opacity:1;transform:translateY(0)}}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:24px 0;transition:all .5s var(--ease);mix-blend-mode:difference}
nav.scrolled{mix-blend-mode:normal;background:rgba(250,248,244,.92);backdrop-filter:blur(20px);padding:14px 0;border-bottom:1px solid rgba(0,0,0,.05)}
nav.scrolled .nav-logo,nav.scrolled .nav-link,nav.scrolled .nav-cta{color:var(--ink);mix-blend-mode:normal}
nav.scrolled .nav-cta{border-color:var(--ink)}
nav.scrolled .nav-cta:hover{background:var(--ink);color:#fff}
.nav-inner{max-width:1400px;margin:0 auto;padding:0 40px;display:flex;justify-content:space-between;align-items:center}
.nav-logo{font-family:var(--logo);font-size:36px;font-weight:400;color:#fff;line-height:1}
.nav-logo b{color:var(--gold)}
.nav-links{display:flex;align-items:center;gap:36px}
.nav-link{font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#fff;padding:0;transition:opacity .3s}
.nav-link:hover{opacity:.6}
.nav-link.active{opacity:1;color:var(--gold)}
.nav-cta{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.4);padding:12px 28px;border-radius:100px;transition:all .4s var(--ease)}
.nav-cta:hover{background:#fff;color:var(--ink)}
.burger{display:none;padding:6px}
.burger span{display:block;width:24px;height:1.5px;background:#fff;margin:5px 0;transition:all .3s}
nav.scrolled .burger span{background:var(--ink)}

/* Light nav variant for inner pages */
nav.nav-light{mix-blend-mode:normal}
nav.nav-light .nav-logo,nav.nav-light .nav-link{color:var(--ink)}
nav.nav-light .nav-cta{color:var(--ink);border-color:rgba(26,24,20,.2)}
nav.nav-light .nav-cta:hover{background:var(--ink);color:#fff}
nav.nav-light .burger span{background:var(--ink)}
nav.nav-light.scrolled{background:rgba(250,248,244,.92)}

/* Mobile menu */
#mobmenu{display:none;position:fixed;inset:0;background:var(--parchment);z-index:2000;flex-direction:column;align-items:center;justify-content:center;gap:24px}
#mobmenu.open{display:flex}
#mobmenu a{font-family:var(--display);font-size:28px;font-weight:400;color:var(--ink)}
#mobmenu .mob-close{position:absolute;top:20px;right:28px;font-size:28px;color:var(--ink-muted);cursor:pointer}
#mobmenu .mob-cta{color:var(--gold);font-family:var(--logo);font-size:32px}

/* ── CONTAINERS ── */
.container{max-width:1400px;margin:0 auto;padding:0 40px;width:100%}

/* ── BUTTONS ── */
.btn-primary{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;background:var(--gold);color:var(--ink);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:100px;transition:all .4s var(--ease)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(184,150,62,.3)}
.btn-secondary{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);display:inline-flex;align-items:center;gap:8px;transition:color .3s}
.btn-secondary:hover{color:var(--gold)}
.btn-secondary .arrow{display:inline-block;transition:transform .3s var(--ease)}
.btn-secondary:hover .arrow{transform:translateX(4px)}
.btn-outline{display:inline-flex;align-items:center;gap:10px;padding:14px 32px;border:1.5px solid var(--ink);color:var(--ink);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:100px;transition:all .4s var(--ease)}
.btn-outline:hover{background:var(--ink);color:var(--parchment);transform:translateY(-2px)}

/* ── LABELS ── */
.section-label{font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--emerald);margin-bottom:24px;display:flex;align-items:center;gap:12px}
.section-label::before{content:'';width:28px;height:1px;background:var(--emerald)}
.section-label.gold{color:var(--gold)}.section-label.gold::before{background:var(--gold)}

/* ── HERO (Home) ── */
.hero{min-height:100vh;display:flex;align-items:flex-end;background:var(--ink);position:relative;overflow:hidden;padding:0 0 80px}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.25;transform:scale(1.1);transition:transform 8s linear}
.hero.in-view .hero-bg{transform:scale(1)}
.hero-grain{position:absolute;inset:-100%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,24,20,.95) 0%,rgba(26,24,20,.4) 50%,rgba(26,24,20,.7) 100%)}
.hero-content{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:0 40px;width:100%}
.hero-eyebrow{font-size:11px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:32px;opacity:0;transform:translateY(20px)}
.hero h1{font-family:var(--display);font-size:clamp(3.2rem,7.5vw,7.5rem);font-weight:300;line-height:1.05;color:var(--parchment);max-width:900px;margin-bottom:32px}
.hero h1 em{font-style:italic;font-weight:400;color:var(--gold)}
.hero h1 .word{display:inline-block;opacity:0;transform:translateY(40px) rotateX(40deg);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.hero h1 .word.vis{opacity:1;transform:translateY(0) rotateX(0)}
.hero-desc{font-family:var(--display);font-size:clamp(1.1rem,1.8vw,1.35rem);font-weight:300;line-height:1.7;color:rgba(244,241,235,.45);max-width:480px;margin-bottom:44px;opacity:0;transform:translateY(20px)}
.hero-actions{display:flex;align-items:center;gap:32px;opacity:0;transform:translateY(20px)}
.hero-scroll{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(244,241,235,.25);font-size:10px;letter-spacing:.2em;text-transform:uppercase;z-index:2}
.hero-scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,rgba(244,241,235,.3),transparent);animation:scrollPulse 2s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:.3;transform:scaleY(1)}50%{opacity:.8;transform:scaleY(1.3)}}

/* ── PAGE HERO (Inner pages) ── */
.page-hero{padding:180px 0 80px;background:var(--parchment);position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;top:-15%;right:-8%;width:500px;height:500px;background:radial-gradient(circle,var(--gold-soft),transparent 70%);pointer-events:none}
.page-hero h1{font-family:var(--display);font-size:clamp(2.8rem,5.5vw,5rem);font-weight:300;line-height:1.1;color:var(--ink);max-width:800px;margin-bottom:20px}
.page-hero h1 em{font-style:italic;font-weight:400;color:var(--gold)}
.page-hero .hero-sub{font-family:var(--display);font-size:clamp(1rem,1.5vw,1.2rem);font-weight:300;line-height:1.7;color:var(--ink-muted);max-width:520px}
.page-hero .hero-sub em{color:var(--emerald);font-style:normal;font-weight:400}

/* ── MARQUEE ── */
.marquee-section{padding:40px 0;background:var(--parchment);border-bottom:1px solid rgba(0,0,0,.06);overflow:hidden}
.marquee-track{display:flex;gap:64px;align-items:center;animation:marquee 30s linear infinite;width:max-content}
.marquee-track span{font-size:14px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;flex-shrink:0}
.marquee-divider{width:4px;height:4px;border-radius:50%;background:var(--ink-faint);flex-shrink:0;opacity:.4}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── INTRO / ABOUT GRID ── */
.split-section{padding:140px 0}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.split-grid h2{font-family:var(--display);font-size:clamp(2rem,3.5vw,3.2rem);font-weight:300;line-height:1.2;margin-bottom:24px}
.split-grid h2 em{font-style:italic;color:var(--gold);font-weight:400}
.split-grid p{font-size:15px;line-height:1.8;color:var(--ink-muted);margin-bottom:16px}
.split-visual{position:relative;aspect-ratio:3/4;border-radius:12px;overflow:hidden}
.split-visual img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.split-visual:hover img{transform:scale(1.04)}
.split-visual-accent{position:absolute;bottom:-20px;right:-20px;width:180px;height:180px;border:1px solid var(--gold);border-radius:12px;opacity:.3;z-index:-1}

/* ── SERVICES ── */
.services-section{padding:140px 0;background:var(--stone)}
.services-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:80px;flex-wrap:wrap;gap:24px}
.services-header h2{font-family:var(--display);font-size:clamp(2rem,4vw,3.5rem);font-weight:300;line-height:1.15}
.services-header h2 em{font-style:italic;color:var(--gold);font-weight:400}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.service-card{padding:48px 40px;background:var(--parchment);position:relative;overflow:hidden;transition:all .5s var(--ease);cursor:pointer}
.service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--emerald));transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.service-card:hover::after{transform:scaleX(1)}
.service-card:hover{background:#fff}
.service-num{font-family:var(--display);font-size:48px;font-weight:300;color:var(--stone-deep);line-height:1;margin-bottom:32px;transition:color .4s}
.service-card:hover .service-num{color:var(--gold)}
.service-card h3{font-family:var(--display);font-size:24px;font-weight:500;margin-bottom:16px;line-height:1.3}
.service-card p{font-size:14px;line-height:1.75;color:var(--ink-muted);margin-bottom:24px}
.service-link{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--emerald);display:inline-flex;align-items:center;gap:6px;transition:gap .3s var(--ease)}
.service-link:hover{gap:12px}

/* ── SERVICE DETAIL BLOCKS ── */
.sd-block{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:80px 0;border-bottom:1px solid var(--stone-deep)}
.sd-block:last-child{border-bottom:none}
.sd-vis{aspect-ratio:4/3;border-radius:12px;overflow:hidden;position:relative}
.sd-vis img{width:100%;height:100%;object-fit:cover}
.sd-txt h2{font-family:var(--display);font-size:28px;font-weight:500;margin-bottom:16px}
.sd-txt>p{font-size:15px;line-height:1.8;color:var(--ink-muted);margin-bottom:20px}
.sd-feat{display:flex;flex-direction:column;gap:12px}
.sd-f{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-soft)}
.sd-f::before{content:'\2713';width:22px;height:22px;border-radius:50%;background:var(--emerald-soft);color:var(--emerald);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}

/* ── HORIZONTAL PORTFOLIO ── */
.portfolio-section{padding:140px 0 80px;background:var(--ink);position:relative;overflow:hidden}
.portfolio-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 30% 30%,rgba(184,150,62,.05),transparent 70%)}
.portfolio-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px;position:relative;z-index:1;flex-wrap:wrap;gap:24px}
.portfolio-header h2{font-family:var(--display);font-size:clamp(2rem,4vw,3.5rem);font-weight:300;color:var(--parchment)}
.portfolio-header h2 em{font-style:italic;color:var(--gold);font-weight:400}
.portfolio-header a{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:8px}
.portfolio-scroll{display:flex;gap:32px;overflow-x:auto;padding:0 40px 40px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;position:relative;z-index:1}
.portfolio-scroll::-webkit-scrollbar{display:none}
.portfolio-card{flex:0 0 520px;scroll-snap-align:start;position:relative;border-radius:12px;overflow:hidden;cursor:pointer}
.portfolio-card-img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s var(--ease)}
.portfolio-card:hover .portfolio-card-img{transform:scale(1.06)}
.portfolio-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,24,20,.85) 0%,transparent 50%);display:flex;flex-direction:column;justify-content:flex-end;padding:32px}
.portfolio-card-tag{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.portfolio-card-overlay h3{font-family:var(--display);font-size:26px;font-weight:400;color:#fff;margin-bottom:4px}
.portfolio-card-overlay p{font-size:13px;color:rgba(255,255,255,.45)}
.portfolio-card-metric{position:absolute;top:24px;right:24px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px 16px;text-align:center}
.portfolio-card-metric strong{display:block;font-family:var(--display);font-size:24px;font-weight:500;color:var(--gold)}
.portfolio-card-metric span{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}

/* ── FULL PORTFOLIO GRID ── */
.portfolio-full-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.pf-card{border-radius:12px;overflow:hidden;background:var(--white);border:1px solid rgba(0,0,0,.05);transition:all .5s var(--ease);cursor:pointer}
.pf-card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.06)}
.pf-card-img{aspect-ratio:16/9;overflow:hidden}
.pf-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.pf-card:hover .pf-card-img img{transform:scale(1.05)}
.pf-card-body{padding:28px 32px}
.pf-card-tag{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--emerald);margin-bottom:8px}
.pf-card h3{font-family:var(--display);font-size:22px;font-weight:500;margin-bottom:8px}
.pf-card p{font-size:14px;color:var(--ink-muted);line-height:1.7;margin-bottom:16px}
.pf-metrics{display:flex;gap:28px}
.pf-metric{text-align:center}
.pf-metric strong{display:block;font-family:var(--display);font-size:22px;font-weight:500;color:var(--emerald)}
.pf-metric span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}

/* ── PHILOSOPHY / PROCESS ── */
.philosophy-big{font-family:var(--display);font-size:clamp(2.5rem,5vw,5rem);font-weight:300;line-height:1.15;color:var(--ink);max-width:1000px;margin-bottom:80px}
.philosophy-big em{font-style:italic;font-weight:400;color:var(--gold)}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.step-item{padding-top:32px;border-top:1px solid var(--stone-deep)}
.step-num{font-family:var(--display);font-size:14px;font-weight:500;color:var(--gold);letter-spacing:.1em;margin-bottom:16px}
.step-item h3{font-family:var(--display);font-size:22px;font-weight:500;margin-bottom:12px}
.step-item p{font-size:14px;line-height:1.75;color:var(--ink-muted)}

/* ── TESTIMONIALS ── */
.testimonials-section{padding:120px 0;background:var(--stone)}
.testimonials-center{max-width:900px;margin:0 auto;text-align:center}
.quote-mark{font-family:var(--display);font-size:72px;font-weight:300;color:var(--gold);line-height:1;margin-bottom:24px}
.testimonials-center blockquote{font-family:var(--display);font-size:clamp(1.4rem,2.5vw,2rem);font-weight:300;font-style:italic;line-height:1.55;color:var(--ink-soft);margin-bottom:40px}
.test-author h4{font-size:14px;font-weight:600;letter-spacing:.05em}
.test-author p{font-size:13px;color:var(--ink-muted);margin-top:4px}

/* ── PRICING ── */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.price-card{background:var(--white);padding:44px 36px;position:relative;transition:all .4s var(--ease)}
.price-card:hover{box-shadow:0 16px 48px rgba(0,0,0,.06)}
.price-card.featured{background:var(--stone-warm);transform:scale(1.02)}
.price-card.featured:hover{transform:scale(1.02) translateY(-4px)}
.price-badge{position:absolute;top:-12px;right:24px;background:linear-gradient(135deg,var(--gold),var(--emerald));color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:6px 14px;border-radius:100px}
.price-card h3{font-family:var(--display);font-size:22px;font-weight:500;margin-bottom:8px}
.price-card .price-desc{font-size:14px;color:var(--ink-muted);margin-bottom:20px;line-height:1.6}
.price-amount{font-family:var(--display);font-size:44px;font-weight:400;margin:16px 0}
.price-amount span{font-size:14px;font-weight:400;color:var(--ink-faint)}
.price-note{font-size:13px;color:var(--ink-faint);margin-top:-8px;margin-bottom:20px}
.price-features{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.price-f{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-soft)}
.price-f .ck{color:var(--emerald);font-weight:700}
.price-custom{background:var(--stone);border-radius:12px;padding:40px;margin-top:40px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.price-custom h3{font-family:var(--display);font-size:24px;font-weight:500;margin-bottom:8px}
.price-custom p{color:var(--ink-muted);font-size:15px}

/* ── VALUES GRID ── */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:60px}
.value-item{padding-top:24px;border-top:1px solid var(--stone-deep)}
.value-num{font-family:var(--display);font-size:40px;font-weight:300;background:linear-gradient(135deg,var(--gold),var(--emerald));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px}
.value-item h3{font-family:var(--display);font-size:20px;font-weight:500;margin-bottom:8px}
.value-item p{font-size:14px;color:var(--ink-muted);line-height:1.7}

/* ── TEAM ── */
.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:32px;margin-top:60px}
.team-card{text-align:center}
.team-av{width:120px;height:120px;border-radius:50%;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:32px;font-weight:400;color:#fff}
.team-card h3{font-family:var(--display);font-size:18px;font-weight:500;margin-bottom:4px}
.team-card p{font-size:13px;color:var(--ink-muted)}

/* ── BLOG CARDS ── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.blog-card{border-radius:12px;overflow:hidden;background:var(--white);border:1px solid rgba(0,0,0,.04);transition:all .4s var(--ease);cursor:pointer}
.blog-card:hover{transform:translateY(-5px);box-shadow:0 16px 48px rgba(0,0,0,.06)}
.blog-card-img{aspect-ratio:16/9;overflow:hidden}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.blog-card:hover .blog-card-img img{transform:scale(1.05)}
.blog-card-body{padding:24px 28px}
.blog-card .meta{font-size:11px;color:var(--ink-faint);margin-bottom:10px;letter-spacing:.05em}
.blog-card .meta .cat{color:var(--emerald);font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.blog-card h3{font-family:var(--display);font-size:19px;font-weight:500;line-height:1.35;margin-bottom:10px}
.blog-card p{font-size:14px;color:var(--ink-muted);line-height:1.65}

/* ── BLOG POST ── */
.blog-article{max-width:740px;margin:0 auto;padding:0 24px}
.blog-article h2{font-family:var(--display);font-size:24px;font-weight:500;margin:40px 0 16px;color:var(--ink)}
.blog-article p{font-size:16px;line-height:1.85;color:var(--ink-muted);margin-bottom:18px}
.blog-article p em{color:var(--ink);font-style:italic}
.blog-hero-img{width:100%;aspect-ratio:21/9;border-radius:12px;overflow:hidden;margin-bottom:40px}
.blog-hero-img img{width:100%;height:100%;object-fit:cover}
.blog-meta-top{display:flex;align-items:center;gap:12px;margin-bottom:24px;font-size:13px;color:var(--ink-faint)}
.blog-meta-top .cat{color:var(--emerald);font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.blog-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--emerald);margin-bottom:24px;transition:gap .3s var(--ease)}
.blog-back:hover{gap:10px}

/* ── CONTACT FORM ── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:40px}
.ct-form{display:flex;flex-direction:column;gap:18px}
.fg{display:flex;flex-direction:column;gap:6px}
.fg label{font-size:13px;font-weight:600;letter-spacing:.05em}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
input,textarea,select{font-family:var(--body);font-size:15px;padding:14px 18px;border:1.5px solid var(--stone-deep);border-radius:8px;background:var(--white);outline:none;transition:border-color .3s;width:100%;color:var(--ink)}
input:focus,textarea:focus,select:focus{border-color:var(--emerald)}
textarea{resize:vertical;min-height:130px}
input::placeholder,textarea::placeholder{color:var(--ink-faint)}
.ct-info h3{font-family:var(--display);font-size:24px;font-weight:500;margin-bottom:16px}
.ct-info>p{font-size:15px;color:var(--ink-muted);line-height:1.7;margin-bottom:32px}
.ct-detail{display:flex;gap:16px;margin-bottom:24px}
.ct-ico{width:48px;height:48px;border-radius:12px;background:var(--emerald-soft);color:var(--emerald);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.ct-detail h4{font-size:14px;font-weight:600;margin-bottom:4px}
.ct-detail p{font-size:14px;color:var(--ink-muted);line-height:1.5}

/* ── CTA SECTION ── */
.cta-section{padding:160px 0;background:var(--parchment);text-align:center;position:relative}
.cta-section h2{font-family:var(--display);font-size:clamp(2.5rem,5.5vw,5.5rem);font-weight:300;line-height:1.1;margin-bottom:32px}
.cta-section h2 em{font-style:italic;font-weight:400;color:var(--gold)}
.cta-section>p,.cta-section .cta-sub{font-family:var(--display);font-size:18px;font-weight:300;color:var(--ink-muted);margin-bottom:48px}

/* ── FOOTER ── */
footer{background:var(--ink);padding:80px 0 32px}
.footer-inner{max-width:1400px;margin:0 auto;padding:0 40px}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:36px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-brand-logo{font-family:var(--logo);font-size:40px;color:var(--parchment);line-height:1;margin-bottom:16px}
.footer-brand-logo b{color:var(--gold)}
.footer-brand p{font-size:14px;line-height:1.7;color:rgba(255,255,255,.35);max-width:280px}
.footer-col h4{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:20px}
.footer-col a{display:block;font-size:14px;color:rgba(255,255,255,.5);margin-bottom:12px;transition:color .3s}
.footer-col a:hover{color:var(--gold)}
.footer-bottom{padding-top:32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,.2)}

/* ── SCROLL REVEALS ── */
.reveal{opacity:0;transform:translateY(50px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.vis{opacity:1;transform:translateY(0)}
.reveal-stagger>*{opacity:0;transform:translateY(30px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal-stagger.vis>*:nth-child(1){transition-delay:.05s;opacity:1;transform:translateY(0)}
.reveal-stagger.vis>*:nth-child(2){transition-delay:.15s;opacity:1;transform:translateY(0)}
.reveal-stagger.vis>*:nth-child(3){transition-delay:.25s;opacity:1;transform:translateY(0)}
.reveal-stagger.vis>*:nth-child(4){transition-delay:.35s;opacity:1;transform:translateY(0)}
.reveal-stagger.vis>*:nth-child(5){transition-delay:.45s;opacity:1;transform:translateY(0)}
.reveal-stagger.vis>*:nth-child(6){transition-delay:.55s;opacity:1;transform:translateY(0)}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .services-grid,.pricing-grid{grid-template-columns:1fr}
  .steps-grid,.values-grid{grid-template-columns:repeat(2,1fr)}
  .portfolio-card{flex:0 0 400px}
  .footer-top{grid-template-columns:1fr 1fr}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
  .portfolio-full-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .nav-links{display:none!important}.burger{display:block!important}
  .nav-inner,.container,.hero-content,.footer-inner{padding:0 24px}
  .split-grid,.sd-block,.contact-grid{grid-template-columns:1fr;gap:48px}
  .split-visual{max-width:400px}
  .services-header{margin-bottom:40px}
  .portfolio-scroll{padding:0 24px 24px;gap:20px}
  .portfolio-card{flex:0 0 85vw}
  .steps-grid,.values-grid{grid-template-columns:1fr;gap:32px}
  .footer-top{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  .hero{padding-bottom:60px}
  .frow{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .price-card.featured{transform:none}
  .price-card.featured:hover{transform:translateY(-4px)}
  .price-custom{flex-direction:column;text-align:center}
  .cursor,.cursor-dot{display:none!important}
  body{cursor:auto}button,a{cursor:pointer}
}
@media(max-width:480px){.hero-actions{flex-direction:column;align-items:flex-start}}

/* ── FOOTER EXTRAS ── */
.footer-brand .venture{font-size:12px;color:rgba(255,255,255,.25);margin-top:20px;line-height:1.6;border-top:1px solid rgba(255,255,255,.06);padding-top:16px}
.footer-brand .venture a{color:rgba(255,255,255,.4);transition:color .3s;text-decoration:none}
.footer-brand .venture a:hover{color:var(--gold)}
.footer-col .affil-item{margin-bottom:14px}
.footer-col .affil-item a{font-size:14px;color:rgba(255,255,255,.5);margin-bottom:2px}
.footer-col .affil-item span{display:block;font-size:11px;color:rgba(255,255,255,.2);margin-top:2px;letter-spacing:.02em}
