:root{--pink-soft:#f9eef0;--pink-light:#f2d9de;--pink-mid:#e8b4be;--pink-dark:#c47b8a;--pink-deep:#9a5060;--sage:#d8e4dc;--sage-dark:#7a9c84;--cream:#fdfaf8;--warm-white:#fff9f7;--text:#2c1f23;--text-mid:#6b4f56;--text-muted:#a88a90;--border:rgba(196,123,138,0.15);--border-strong:rgba(196,123,138,0.3);}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden;cursor:none;}
.cursor{width:10px;height:10px;background:var(--pink-dark);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s,height .3s,background .3s;}
.cursor-ring{width:36px;height:36px;border:1px solid var(--pink-dark);border-radius:50%;position:fixed;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:transform .15s ease-out,width .3s,height .3s,opacity .3s;opacity:.5;}
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:20px 48px;background:rgba(253,250,248,0.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);}
.nav-logo{font-family:'Playfair Display',serif;font-size:18px;font-weight:400;color:var(--text);text-decoration:none;}
.nav-logo span{font-style:italic;color:var(--pink-dark);}
.nav-links{display:flex;gap:36px;list-style:none;}
.nav-links a{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color .25s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--pink-dark);transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.nav-links a:hover{color:var(--pink-deep);}
.nav-links a:hover::after{transform:scaleX(1);}
.lang-switcher{display:flex;gap:4px;}
.lang-btn{font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border-strong);background:none;cursor:pointer;padding:5px 10px;border-radius:20px;color:var(--text-muted);transition:all .25s;}
.lang-btn.active{background:var(--pink-light);color:var(--pink-deep);border-color:var(--pink-mid);}
.lang-btn:hover:not(.active){color:var(--text);}
.hero{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding-top:0;}
.hero-video{position:absolute;top:0;left:0;width:100vw;height:100vh;object-fit:cover;z-index:-2;}
.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.48);z-index:-1;}
.hero-center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;max-width:860px;width:100%;position:relative;z-index:1;}
.hero-eyebrow{font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:28px;display:flex;align-items:center;gap:12px;animation:fadeUp .9s .1s both;}
.hero-eyebrow::before{content:'';width:32px;height:1px;background:rgba(255,255,255,.5);}
.hero-eyebrow::after{content:'';width:32px;height:1px;background:rgba(255,255,255,.5);display:inline-block;}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(44px,6vw,88px);font-weight:400;line-height:1.08;margin-bottom:12px;animation:fadeUp .9s .2s both;color:#fff;}
.hero h1 em{font-style:italic;color:var(--pink-light);display:inline;}
.hero-name-uk{font-size:13px;font-weight:300;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:36px;animation:fadeUp .9s .25s both;}
.hero-desc{font-size:17px;font-weight:300;color:rgba(255,255,255,.85);line-height:1.75;max-width:560px;margin-bottom:48px;animation:fadeUp .9s .35s both;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;animation:fadeUp .9s .45s both;}
.btn-main{padding:14px 32px;background:var(--text);color:var(--cream);border:none;border-radius:40px;font-family:'Jost',sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s;text-decoration:none;}
.btn-main:hover{background:var(--pink-deep);transform:translateY(-2px);}
.btn-outline{padding:13px 28px;background:transparent;color:var(--text);border:1px solid var(--border-strong);border-radius:40px;font-family:'Jost',sans-serif;font-size:13px;font-weight:400;cursor:pointer;transition:all .3s;text-decoration:none;display:inline-flex;align-items:center;gap:8px;}
.btn-outline:hover{background:var(--pink-soft);border-color:var(--pink-mid);transform:translateY(-2px);}
.btn-talk{border-color:var(--pink-mid);color:var(--pink-deep);}
.btn-talk:hover{background:var(--pink-light);border-color:var(--pink-deep);color:var(--pink-deep);transform:translateY(-2px);}
.btn-talk::after{content:"→";margin-left:6px;font-style:normal;display:inline-block;transition:transform .2s;}
.btn-talk:hover::after{transform:translateX(3px);}
.btn-hero-talk{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:50px;font-family:'Jost',sans-serif;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .25s;background:#fff;color:var(--text);border:2px solid #fff;text-decoration:none;}
.btn-hero-talk:hover{background:transparent;color:#fff;}
.btn-hero-talk::after{content:"→";margin-left:6px;transition:transform .2s;}
.btn-hero-talk:hover::after{transform:translateX(3px);}
.btn-hero-work{display:inline-flex;align-items:center;padding:14px 32px;border-radius:50px;font-family:'Jost',sans-serif;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .25s;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55);text-decoration:none;}
.btn-hero-work:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.play-dot{width:20px;height:20px;border-radius:50%;background:var(--pink-light);border:1px solid var(--pink-mid);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.play-dot::after{content:'';width:0;height:0;border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent var(--pink-dark);margin-left:2px;}
.hero-right{display:none;}
.hero-right-inner{display:none;}
.hero-photo-placeholder{display:none;}
.hero-stats{display:none;}
.stat{background:rgba(255,255,255,0.85);backdrop-filter:blur(8px);padding:14px 20px;border-radius:14px;border:1px solid var(--border);}
.stat-num{font-family:'Playfair Display',serif;font-size:24px;font-weight:500;color:var(--text);line-height:1;margin-bottom:4px;}
.stat-label{font-size:11px;font-weight:400;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;}
.ticker-wrap{background:var(--text);padding:13px 0;overflow:hidden;white-space:nowrap;}
.ticker{display:inline-flex;animation:ticker 28s linear infinite;}
.ticker-item{font-size:12px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--pink-light);padding:0 32px;}
.ticker-item span{color:var(--pink-dark);margin-right:32px;}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.services{padding:100px 48px;max-width:1400px;margin:0 auto;}
.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:56px;padding-bottom:24px;border-bottom:1px solid var(--border);}
.section-label{font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--pink-dark);margin-bottom:12px;}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(28px,3.5vw,44px);font-weight:400;line-height:1.2;}
.section-title em{font-style:italic;color:var(--pink-dark);}
.services-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:20px;overflow:hidden;}

.service-card{background:var(--warm-white);padding:36px 28px;transition:background .3s;}
.service-card:hover{background:var(--pink-soft);}
.service-num{font-family:'Playfair Display',serif;font-size:36px;font-weight:400;color:var(--pink-light);line-height:1;margin-bottom:20px;}
.service-name{font-family:'Playfair Display',serif;font-size:18px;font-weight:400;line-height:1.3;margin-bottom:12px;color:var(--text);}
.service-desc{font-size:13px;font-weight:300;color:var(--text-muted);line-height:1.65;}
.tools-section{background:var(--pink-soft);padding:80px 48px;}
.tools-inner{max-width:1200px;margin:0 auto;}
.tools-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:48px;}
.tool-tag{padding:10px 22px;background:var(--warm-white);border:1px solid var(--pink-light);border-radius:40px;font-size:13px;font-weight:400;color:var(--text-mid);transition:all .25s;}
.tool-tag:hover{background:var(--pink-light);border-color:var(--pink-mid);color:var(--pink-deep);transform:translateY(-2px);}
.works-section{padding:100px 48px;max-width:1200px;margin:0 auto;}
.works-bento{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;}
.work-item{border-radius:16px;overflow:hidden;position:relative;cursor:pointer;transition:transform .4s cubic-bezier(.22,1,.36,1);}
.work-item:hover{transform:scale(1.02);}
.work-item:hover .work-overlay{opacity:1;}
.work-item:nth-child(1){grid-column:span 7;grid-row:span 2;}
.work-item:nth-child(2){grid-column:span 5;}
.work-item:nth-child(3){grid-column:span 5;}
.work-item:nth-child(4){grid-column:span 4;}
.work-item:nth-child(5){grid-column:span 4;}
.work-item:nth-child(6){grid-column:span 4;}
.work-thumb{width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#111;}
.work-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.work-item:nth-child(1) .work-thumb{aspect-ratio:unset;height:100%;min-height:360px;}
.work-item:nth-child(6) .work-thumb,.work-item:nth-child(7) .work-thumb{background:linear-gradient(135deg,#f2d9de 0%,#d8e4dc 100%);}
.work-placeholder-icon{font-size:28px;opacity:.35;position:relative;z-index:1;}
.work-overlay{position:absolute;inset:0;background:rgba(44,31,35,.72);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:24px;opacity:0;transition:opacity .35s;}
.work-cat{font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--pink-mid);margin-bottom:8px;}
.work-title-overlay{font-family:'Playfair Display',serif;font-size:20px;font-weight:400;color:white;line-height:1.2;}
.work-chip{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:20px;color:var(--text-mid);z-index:2;}
.work-count-badge{position:absolute;bottom:14px;right:14px;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);font-size:11px;font-weight:600;letter-spacing:.05em;padding:4px 10px;border-radius:20px;color:var(--text-mid);z-index:2;}
/* VIDEO SECTION */
.video-section{padding:100px 48px;background:var(--warm-white);}
.video-inner{max-width:1200px;margin:0 auto;}
.video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.video-card{border-radius:20px;overflow:hidden;position:relative;background:#0d0a0b;cursor:pointer;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s;}
.video-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 24px 48px rgba(44,31,35,.18);}
.video-thumb{width:100%;aspect-ratio:9/16;object-fit:cover;display:block;pointer-events:none;transition:filter .3s;}
.video-card:hover .video-thumb{filter:brightness(.7);}
.video-card-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;}
.video-card:hover .video-card-overlay{opacity:1;}
.play-circle{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;margin-bottom:14px;transition:transform .2s;}
.video-card:hover .play-circle{transform:scale(1.08);}
.play-circle::after{content:'';width:0;height:0;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--pink-deep);margin-left:4px;}
.video-card-label{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85);}
.video-badge{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:20px;color:var(--text-mid);}
/* QUALITIES */
.qualities-section{background:var(--text);padding:80px 48px;color:white;}
.qualities-inner{max-width:1200px;margin:0 auto;}
.qualities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.08);margin-top:48px;border-radius:16px;overflow:hidden;}
.quality-card{padding:44px 36px;background:var(--text);transition:background .3s;}
.quality-card:hover{background:#3d2b30;}
.quality-icon{font-size:28px;margin-bottom:20px;display:block;}
.quality-title{font-family:'Playfair Display',serif;font-size:22px;font-weight:400;margin-bottom:12px;color:var(--pink-light);}
.quality-desc{font-size:14px;font-weight:300;color:rgba(255,255,255,.5);line-height:1.7;}
/* CONTACT */
.contact-section{padding:120px 48px;text-align:center;max-width:800px;margin:0 auto;}
.contact-section h2{font-family:'Playfair Display',serif;font-size:clamp(36px,5vw,64px);font-weight:400;line-height:1.15;margin-bottom:24px;}
.contact-section h2 em{font-style:italic;color:var(--pink-dark);}
.contact-section p{font-size:16px;font-weight:300;color:var(--text-muted);line-height:1.75;margin-bottom:48px;}
.contact-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.contact-btn{padding:14px 30px;border-radius:40px;font-family:'Jost',sans-serif;font-size:13px;font-weight:500;text-decoration:none;transition:all .3s;border:1px solid;cursor:pointer;}
.contact-btn.primary{background:var(--text);color:var(--cream);border-color:var(--text);}
.contact-btn.primary:hover{background:var(--pink-deep);border-color:var(--pink-deep);transform:translateY(-2px);}
.contact-btn.soft{background:var(--pink-soft);color:var(--pink-deep);border-color:var(--pink-mid);}
.contact-btn.soft:hover{background:var(--pink-light);transform:translateY(-2px);}
footer{display:flex;align-items:center;justify-content:space-between;padding:24px 48px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted);font-weight:300;letter-spacing:.05em;}
/* MODALS */
.modal-overlay,.vmodal-overlay{display:none;position:fixed;inset:0;z-index:1000;background:rgba(15,8,10,.92);backdrop-filter:blur(12px);align-items:center;justify-content:center;}
.modal-overlay.open,.vmodal-overlay.open{display:flex;}
.modal-box{background:var(--cream);border-radius:24px;padding:10px;max-width:900px;width:92vw;position:relative;animation:modalIn .4s cubic-bezier(.22,1,.36,1) both;}
.vmodal-box{max-width:480px;width:92vw;position:relative;animation:modalIn .4s cubic-bezier(.22,1,.36,1) both;}
@keyframes modalIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
.modal-close,.vmodal-close{position:absolute;top:-18px;right:-18px;width:38px;height:38px;border-radius:50%;background:white;color:var(--text);border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10;}
.modal-close:hover,.vmodal-close:hover{background:var(--pink-light);}
.modal-video,.vmodal-video{width:100%;border-radius:16px;display:block;max-height:75vh;background:#000;}
.vmodal-video{border-radius:20px;max-height:88vh;}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@media(max-width:900px){
  nav{padding:16px 24px;}.nav-links{display:none;}
  .hero{min-height:100svh;}.hero-center{padding:0 20px;}
  
  .works-bento{grid-template-columns:1fr 1fr;}.work-item:nth-child(n){grid-column:span 1;}
  .qualities-grid{grid-template-columns:1fr;}
  .video-grid{grid-template-columns:repeat(2,1fr);}
  .services,.works-section,.video-section{padding:60px 24px;}
  .tools-section{padding:60px 24px;}.contact-section{padding:80px 24px;}
  footer{padding:20px 24px;flex-direction:column;gap:8px;}
}

  /* SURREALIST VIDEO SECTION */
  .surr-section { padding: 100px 48px; background: var(--text); }
  .surr-inner { max-width: 1200px; margin: 0 auto; }
  .surr-section .section-label { color: var(--pink-mid); }
  .surr-section .section-title { color: white; }
  .surr-section .section-header { border-bottom-color: rgba(196,123,138,0.2); }
  .surr-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
  .surr-card {
    border-radius: 20px; overflow: hidden;
    position: relative; cursor: pointer;
    background: #0d0a0b;
    transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s;
  }
  .surr-card:hover { transform: translateY(-6px) scale(1.01); box-shadow: 0 24px 60px rgba(0,0,0,.5); }
  .surr-thumb {
    width: 100%; aspect-ratio: 9/16;
    object-fit: cover; display: block;
    pointer-events: none; transition: filter .3s;
  }
  .surr-card:hover .surr-thumb { filter: brightness(.65); }
  .surr-card-overlay {
    position: absolute; inset: 0;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    opacity: 0; transition: opacity .3s;
  }
  .surr-card:hover .surr-card-overlay { opacity: 1; }
  .surr-play {
    width: 72px; height: 72px; border-radius: 50%;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.3);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 16px; transition: transform .2s, background .2s;
  }
  .surr-card:hover .surr-play { transform: scale(1.1); background: rgba(255,255,255,.18); }
  .surr-play::after {
    content: ''; width: 0; height: 0;
    border-style: solid; border-width: 13px 0 13px 22px;
    border-color: transparent transparent transparent white;
    margin-left: 5px;
  }
  .surr-label {
    font-size: 12px; font-weight: 500;
    letter-spacing: .14em; text-transform: uppercase;
    color: rgba(255,255,255,.7);
  }
  .surr-badge {
    position: absolute; top: 14px; left: 14px;
    background: rgba(255,255,255,.12);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,.2);
    font-size: 10px; font-weight: 500;
    letter-spacing: .1em; text-transform: uppercase;
    padding: 4px 12px; border-radius: 20px;
    color: rgba(255,255,255,.8);
  }
  @media(max-width:900px){
    .surr-section { padding: 60px 24px; }
    .surr-grid { grid-template-columns: 1fr; max-width: 360px; margin: 0 auto; }
  }


  .qr-overlay{display:none;position:fixed;inset:0;z-index:3000;background:rgba(15,8,10,.9);backdrop-filter:blur(16px);align-items:center;justify-content:center;}
  .qr-overlay.open{display:flex;}
  .qr-box{background:white;border-radius:28px;padding:32px 32px 24px;text-align:center;max-width:340px;width:88vw;position:relative;animation:modalIn .4s cubic-bezier(.22,1,.36,1) both;}
  .qr-close{position:absolute;top:-16px;right:-16px;width:36px;height:36px;border-radius:50%;background:var(--text);color:white;border:none;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
  .qr-close:hover{background:var(--pink-deep);}
  .qr-img{width:100%;border-radius:16px;display:block;margin-bottom:16px;}
  .qr-handle{font-size:15px;font-weight:500;color:var(--text);letter-spacing:.05em;}
  .qr-sub{font-size:12px;color:var(--text-muted);margin-top:6px;font-weight:300;}


  .email-overlay{display:none;position:fixed;inset:0;z-index:3000;background:rgba(15,8,10,.85);backdrop-filter:blur(16px);align-items:center;justify-content:center;}
  .email-overlay.open{display:flex;}
  .email-box{background:var(--cream);border-radius:28px;padding:40px 36px 32px;text-align:center;max-width:400px;width:90vw;position:relative;animation:modalIn .4s cubic-bezier(.22,1,.36,1) both;}
  .email-close{position:absolute;top:-16px;right:-16px;width:36px;height:36px;border-radius:50%;background:var(--text);color:white;border:none;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;}
  .email-close:hover{background:var(--pink-deep);}
  .email-icon{width:56px;height:56px;border-radius:50%;background:var(--pink-soft);border:1px solid var(--pink-mid);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:22px;}
  .email-title{font-family:'Playfair Display',serif;font-size:22px;font-weight:400;color:var(--text);margin-bottom:8px;}
  .email-addr{font-size:15px;font-weight:400;color:var(--pink-deep);letter-spacing:.02em;margin-bottom:24px;word-break:break-all;}
  .email-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
  .email-btn-copy{padding:11px 24px;border-radius:40px;font-family:'Jost',sans-serif;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--border-strong);background:transparent;color:var(--text);transition:all .25s;}
  .email-btn-copy:hover{background:var(--pink-soft);border-color:var(--pink-mid);}
  .email-btn-open{padding:11px 24px;border-radius:40px;font-family:'Jost',sans-serif;font-size:13px;font-weight:500;cursor:pointer;border:none;background:var(--text);color:var(--cream);text-decoration:none;transition:all .25s;display:inline-block;}
  .email-btn-open:hover{background:var(--pink-deep);}
  .copy-toast{font-size:11px;color:var(--pink-dark);margin-top:10px;height:16px;transition:opacity .3s;}


  .img-lightbox{display:none;position:fixed;inset:0;z-index:4000;background:rgba(10,5,8,.96);backdrop-filter:blur(20px);align-items:center;justify-content:center;cursor:zoom-out;}
  .img-lightbox.open{display:flex;}
  .img-lightbox img{max-width:92vw;max-height:90vh;border-radius:12px;object-fit:contain;animation:modalIn .35s cubic-bezier(.22,1,.36,1) both;user-select:none;}
  .img-lightbox-close{position:fixed;top:20px;right:24px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:white;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;}
  .img-lightbox-close:hover{background:rgba(255,255,255,.25);}
  .img-lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:white;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:4001;}
  .img-lightbox-nav:hover{background:rgba(255,255,255,.25);}
  .img-lightbox-prev{left:20px;}
  .img-lightbox-next{right:70px;}
  .img-lightbox-counter{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.6);font-size:13px;font-family:'Jost',sans-serif;letter-spacing:.1em;}
  .img-lightbox-caption{position:fixed;bottom:48px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.92);font-size:15px;font-family:'Playfair Display',serif;font-style:italic;letter-spacing:.04em;text-align:center;pointer-events:none;text-shadow:0 1px 8px rgba(0,0,0,.5);white-space:nowrap;}
  .video-modal{display:none;position:fixed;inset:0;z-index:5000;background:rgba(10,5,8,.92);backdrop-filter:blur(20px);align-items:center;justify-content:center;cursor:zoom-out;}
  .video-modal.open{display:flex;}
  .video-modal-inner{width:min(92vw,1100px);aspect-ratio:16/9;position:relative;animation:modalIn .35s cubic-bezier(.22,1,.36,1) both;cursor:default;}
  .video-modal-inner iframe{width:100%;height:100%;border:0;border-radius:14px;}
  .video-modal-close{position:fixed;top:20px;right:24px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:white;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:5001;}
  .video-modal-close:hover{background:rgba(255,255,255,.25);}


@media(min-width:901px){.services-grid{grid-template-columns:repeat(5,1fr);}}


/* ================= MULTI-PAGE ADDITIONS ================= */

/* Nav active state */
.nav-links a.active{color:var(--pink-deep);}
.nav-links a.active::after{transform:scaleX(1);}

/* Page hero (for Services / Work / Contact pages — no video) */
.page-hero{padding:168px 48px 76px;text-align:center;background:linear-gradient(180deg,var(--pink-soft) 0%, var(--cream) 78%);border-bottom:1px solid var(--border);}
.page-hero .section-label{justify-content:center;display:flex;}
.page-hero h1{font-family:'Playfair Display',serif;font-weight:400;font-size:clamp(34px,5.5vw,68px);line-height:1.15;margin:14px 0 18px;color:var(--text);}
.page-hero h1 em{font-style:italic;color:var(--pink-dark);}
.page-hero p{max-width:560px;margin:0 auto;font-size:16px;font-weight:300;color:var(--text-muted);line-height:1.75;}
@media(max-width:900px){.page-hero{padding:128px 24px 56px;}}

/* Services teaser on the home page — compact cards, description hidden */
.services-teaser .service-desc{display:none;}
.services-teaser .service-card{padding:30px 24px;}
.section-footer{display:flex;justify-content:center;margin-top:40px;}

/* Portfolio grid (Works page) — named project cards */
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 28px;}
.portfolio-card{cursor:pointer;}
.portfolio-thumb{position:relative;overflow:hidden;border-radius:16px;aspect-ratio:4/3;background:#111;}
.portfolio-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1);}
.portfolio-card:hover .portfolio-thumb img{transform:scale(1.05);}
.portfolio-chip{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:20px;color:var(--text-mid);z-index:2;}
.portfolio-count{position:absolute;bottom:14px;right:14px;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);font-size:11px;font-weight:600;letter-spacing:.05em;padding:4px 10px;border-radius:20px;color:var(--text-mid);z-index:2;}
.portfolio-caption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:16px;}
.portfolio-title{font-family:'Playfair Display',serif;font-size:19px;font-weight:400;color:var(--text);}
.portfolio-cat{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--pink-dark);white-space:nowrap;}
@media(max-width:1100px){.portfolio-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.portfolio-grid{grid-template-columns:1fr;}}

/* Footer with cross-page navigation */
footer.site-footer{flex-wrap:wrap;gap:16px;}
.footer-links{display:flex;gap:24px;list-style:none;flex-wrap:wrap;}
.footer-links a{color:var(--text-muted);text-decoration:none;font-size:12px;font-weight:400;letter-spacing:.05em;transition:color .2s;}
.footer-links a:hover{color:var(--pink-deep);}
@media(max-width:900px){
  footer.site-footer{flex-direction:column;text-align:center;justify-content:center;}
  .footer-links{justify-content:center;}
}

/* Short contact CTA blocks used on Home / Services / Work pages */
.contact-cta{padding:90px 48px;}
@media(max-width:900px){.contact-cta{padding:60px 24px;}}

/* Services teaser grid on home page (6 featured services, 3 columns) */
.services-teaser-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:20px;overflow:hidden;}
.services-teaser-grid .service-card{padding:32px 26px;}
@media(max-width:900px){.services-teaser-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.services-teaser-grid{grid-template-columns:1fr;}}

/* Portfolio filter tabs (Works page) */
.filter-tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:48px;}
.filter-btn{padding:10px 22px;border-radius:40px;border:1px solid var(--border-strong);background:transparent;font-family:'Jost',sans-serif;font-size:13px;font-weight:400;color:var(--text-mid);cursor:pointer;transition:all .25s;}
.filter-btn:hover{background:var(--pink-soft);border-color:var(--pink-mid);}
.filter-btn.active{background:var(--pink-light);border-color:var(--pink-mid);color:var(--pink-deep);}
.portfolio-card.is-hidden{display:none;}

/* Service feature bullet lists (Services page) */
.service-features{list-style:none;margin:14px 0 0;padding:0;}
.service-features li{font-size:12px;font-weight:300;color:var(--text-mid);line-height:1.6;padding-left:15px;position:relative;margin-bottom:6px;}
.service-features li::before{content:'—';position:absolute;left:0;top:0;color:var(--pink-dark);}

/* Process section (Services page) — reuses service-card visuals in a 4-col grid */
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:20px;overflow:hidden;margin-top:56px;}
.process-grid .service-card{padding:32px 28px;}
@media(max-width:900px){.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.process-grid{grid-template-columns:1fr;}}

/* About page */
.about-section{padding:20px 48px 110px;max-width:1200px;margin:0 auto;}
.about-grid{display:grid;grid-template-columns:340px 1fr;gap:64px;align-items:start;}
.about-photo{aspect-ratio:3/4;border-radius:20px;background:var(--pink-soft);border:1px dashed var(--pink-mid);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-muted);font-size:12px;font-weight:300;line-height:1.6;padding:28px;overflow:hidden;}
.about-photo img{width:100%;height:100%;object-fit:cover;border-radius:20px;display:block;}
.about-text p{font-size:16px;font-weight:300;color:var(--text-mid);line-height:1.85;margin-bottom:22px;}
.about-text p strong{font-weight:500;color:var(--text);}
@media(max-width:900px){
  .about-section{padding:0 24px 70px;}
  .about-grid{grid-template-columns:1fr;gap:32px;}
  .about-photo{max-width:320px;margin:0 auto;}
}

/* ── SERVICES PAGE — 2-col card grid ── */
.services-grid-2col{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:20px;overflow:hidden;}
.svc-card{background:var(--warm-white);padding:32px 28px 28px;cursor:pointer;transition:background .25s;display:flex;flex-direction:column;gap:12px;}
.svc-card:hover{background:var(--pink-soft);}
.svc-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.svc-card-num{font-size:11px;font-weight:500;letter-spacing:.12em;color:var(--text-muted);}
.svc-card-name{font-family:'Playfair Display',serif;font-size:17px;font-weight:400;color:var(--text);line-height:1.3;margin:4px 0 6px;}
.svc-card-desc{font-size:13px;font-weight:300;color:var(--text-mid);line-height:1.65;}
.svc-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:4px;}
.svc-tag{font-size:11px;font-weight:400;padding:4px 12px;border-radius:20px;border:1px solid var(--border-strong);color:var(--text-mid);background:transparent;}
.svc-details-link{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--pink-dark);margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:4px;}
.svc-details-link::after{content:'→';}
@media(max-width:700px){.services-grid-2col{grid-template-columns:1fr;}}

/* ── SERVICE MODAL ── */
.svc-modal-backdrop{position:fixed;inset:0;background:rgba(44,31,35,.55);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .3s;}
.svc-modal-backdrop.open{opacity:1;pointer-events:all;}
.svc-modal{background:#fff;border-radius:20px;max-width:520px;width:100%;padding:40px 40px 36px;position:relative;transform:translateY(24px);transition:transform .3s;max-height:90vh;overflow-y:auto;}
.svc-modal-backdrop.open .svc-modal{transform:translateY(0);}
.svc-modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;border:1px solid var(--border-strong);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-mid);transition:background .2s;}
.svc-modal-close:hover{background:var(--pink-soft);}
.svc-modal-eyebrow{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--pink-dark);margin-bottom:12px;}
.svc-modal-eyebrow span{color:var(--text-muted);}
.svc-modal-title{font-family:'Playfair Display',serif;font-size:28px;font-weight:400;color:var(--text);margin-bottom:16px;line-height:1.2;}
.svc-modal-desc{font-size:15px;font-weight:300;color:var(--text-mid);line-height:1.8;margin-bottom:24px;}
.svc-modal-section{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;}
.svc-modal-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.svc-modal-tag{font-size:13px;padding:6px 16px;border-radius:20px;border:1px solid var(--border-strong);color:var(--text-mid);}
.svc-modal-ideal{font-size:14px;font-weight:300;color:var(--text-mid);margin-bottom:28px;}
.svc-modal-ideal strong{font-weight:500;color:var(--text);}
.svc-modal-cta{display:block;width:100%;padding:16px;background:var(--text);color:#fff;border:none;border-radius:40px;font-family:'Jost',sans-serif;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-align:center;text-decoration:none;transition:background .2s;}
.svc-modal-cta:hover{background:var(--pink-deep);}

/* ── HOME — services list style ── */
.services-list{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border);border-radius:20px;overflow:hidden;}
.services-list-item{padding:26px 28px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:var(--warm-white);cursor:pointer;transition:background .2s;display:flex;flex-direction:column;gap:6px;}
.services-list-item:hover{background:var(--pink-soft);}
.services-list-item:nth-child(2n){border-right:none;}
.services-list-item:nth-last-child(-n+2){border-bottom:none;}
.sli-num{font-size:11px;font-weight:500;letter-spacing:.1em;color:var(--text-muted);}
.sli-name{font-family:'Playfair Display',serif;font-size:16px;font-weight:400;color:var(--text);}
.sli-desc{font-size:13px;font-weight:300;color:var(--text-mid);line-height:1.5;}
@media(max-width:640px){.services-list{grid-template-columns:1fr;}.services-list-item{border-right:none;}}

/* ── ABOUT — full-bleed photo layout ── */
.about-hero{display:grid;grid-template-columns:44% 1fr;min-height:70vh;align-items:stretch;}
.about-hero-photo{position:relative;overflow:hidden;background:var(--pink-soft);}
.about-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;}
.about-hero-photo-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:32px;color:var(--text-muted);font-size:13px;font-weight:300;line-height:1.6;border-right:1px dashed var(--pink-mid);}
.about-hero-content{padding:80px 64px;display:flex;flex-direction:column;justify-content:center;}
.about-hero-content .section-label{margin-bottom:16px;}
.about-hero-content h1{font-family:'Playfair Display',serif;font-size:clamp(36px,5vw,64px);font-weight:400;line-height:1.1;margin-bottom:28px;color:var(--text);}
.about-hero-content h1 em{font-style:italic;color:var(--pink-dark);}
.about-hero-content p{font-size:15px;font-weight:300;color:var(--text-mid);line-height:1.85;margin-bottom:18px;}
.about-hero-content p strong{font-weight:500;color:var(--text);}
.about-hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;}
@media(max-width:900px){
  .about-hero{grid-template-columns:1fr;min-height:auto;}
  .about-hero-photo{height:60vw;max-height:400px;}
  .about-hero-content{padding:48px 24px;}
}

/* ── ABOUT — stats bar ── */
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.about-stat{padding:36px 28px;background:var(--warm-white);text-align:center;}
.about-stat-n{font-family:'Playfair Display',serif;font-size:36px;font-weight:400;font-style:italic;color:var(--pink-dark);line-height:1;}
.about-stat-l{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-top:8px;}
@media(max-width:700px){.about-stats{grid-template-columns:repeat(2,1fr);}}

/* ── ABOUT — expertise cards ── */
.about-exp{padding:80px 48px;}
.about-exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:20px;overflow:hidden;margin-top:40px;}
.about-exp-card{background:var(--warm-white);padding:36px 28px;}
.about-exp-icon{font-size:22px;margin-bottom:14px;}
.about-exp-title{font-family:'Playfair Display',serif;font-size:17px;font-weight:400;color:var(--text);margin-bottom:10px;}
.about-exp-desc{font-size:13px;font-weight:300;color:var(--text-mid);line-height:1.7;}
@media(max-width:900px){.about-exp{padding:60px 24px;}.about-exp-grid{grid-template-columns:1fr;}}

/* ── ALBUM MODAL (grid of photos) ── */
.album-modal-backdrop{position:fixed;inset:0;background:rgba(44,31,35,.65);backdrop-filter:blur(6px);z-index:1800;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow-y:auto;opacity:0;pointer-events:none;transition:opacity .3s;}
.album-modal-backdrop.open{opacity:1;pointer-events:all;}
.album-modal{background:var(--cream);border-radius:20px;width:100%;max-width:960px;padding:40px 40px 48px;position:relative;transform:translateY(28px);transition:transform .3s;margin:auto;}
.album-modal-backdrop.open .album-modal{transform:translateY(0);}
.album-modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:1px solid var(--border-strong);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--text-mid);transition:background .2s;}
.album-modal-close:hover{background:var(--pink-soft);}
.album-modal-label{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--pink-dark);margin-bottom:8px;}
.album-modal-title{font-family:'Playfair Display',serif;font-size:26px;font-weight:400;color:var(--text);margin-bottom:28px;}
.album-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.album-photo-thumb{aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer;position:relative;background:#e8dfe1;}
.album-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s cubic-bezier(.22,1,.36,1);}
.album-photo-thumb:hover img{transform:scale(1.06);}
@media(max-width:640px){.album-photo-grid{grid-template-columns:repeat(2,1fr);}.album-modal{padding:28px 20px 36px;}}
