:root{--ink: #1d1d24;--ink-soft: #55545f;--bg: #ffffff;--accent: #7b4f9e;--accent-hover: #633f80;--radius: 8px;--maxw: 1200px;--font-head: "Poppins", "Segoe UI", system-ui, sans-serif;--font-body: "Poppins", "Helvetica Neue", Helvetica, Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-weight:300;color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-head);font-weight:400;line-height:1.25;color:var(--ink);margin:0}h1{font-size:clamp(2.2rem,4.6vw,3.4rem)}h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}h3{font-size:1.2rem;font-weight:600}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:var(--maxw);margin:0 auto;padding:0 32px}section{padding:76px 0}.section-title{text-align:center;margin:0 0 56px}.btn{display:inline-block;border:0;cursor:pointer;background:var(--accent);color:#fff;font-family:var(--font-head);font-weight:600;font-size:1.06rem;padding:17px 44px;border-radius:var(--radius);transition:background .2s}.btn:hover{background:var(--accent-hover)}.site-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px #0000000d}.site-header .container{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}.logo img{height:56px;width:auto}.head-right{display:flex;align-items:center}.nav{display:flex;gap:36px;align-items:center}.nav a{font-family:var(--font-head);font-weight:600;color:var(--ink);font-size:1.04rem;transition:color .15s}.nav a:hover{color:var(--accent)}.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px}.nav-toggle span{display:block;width:26px;height:3px;background:var(--ink);margin:5px 0;border-radius:2px}.hero{position:relative;background:#eef1fa url(/images/hero-diamonds.jpg) center / cover no-repeat;padding:110px 0 96px}.hero h1{color:var(--ink);max-width:820px;text-align:left;margin:0 0 72px}.hero .cta-row{text-align:center}.services{background:#fff}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 48px}.service-card{display:block}.service-head{display:flex;align-items:center;gap:18px;margin-bottom:18px}.service-icon{flex:none;width:64px;height:64px;border-radius:50%;border:2px solid var(--accent);display:flex;align-items:center;justify-content:center}.service-icon img{width:34px;height:34px;object-fit:contain}.service-card h3{margin:0}.service-card p{margin:0;color:var(--ink-soft);font-size:.97rem}.services .stack-link{text-align:center;margin-top:56px}.stack-link a{display:inline-block;cursor:pointer;color:var(--accent);background:transparent;border:2px solid var(--accent);border-radius:var(--radius);font-family:var(--font-head);font-weight:600;font-size:1.06rem;padding:15px 42px;transition:background .2s,color .2s}.stack-link a:hover{background:var(--accent);color:#fff}.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.case-card{display:block;overflow:hidden;border-radius:10px;box-shadow:0 6px 24px #1d1d241a;background:#f2f2f7}.case-card img{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;transition:transform .3s;display:block}.case-card:hover img{transform:scale(1.04)}.services-cta{text-align:center;margin-top:52px}.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}.contact-form label{display:block;font-family:var(--font-head);font-weight:500;font-size:.9rem;margin:0 0 6px}.contact-form input,.contact-form textarea{width:100%;padding:13px 15px;border:1px solid #d9dae6;border-radius:var(--radius);font-family:var(--font-body);font-size:1rem;margin-bottom:18px;background:#fff}.contact-form textarea{min-height:120px;resize:vertical}.contact-info a{color:var(--accent);font-weight:600}.site-footer{background:#1f1d29;color:#c9c9d4;padding:52px 0 60px;font-size:.93rem}.site-footer .container{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;align-items:flex-start}.site-footer p{margin:8px 0}.site-footer .logo-text{font-family:var(--font-head);font-weight:700;letter-spacing:.05em;font-size:1.25rem;color:#fff}.site-footer .logo-text .dot{color:var(--accent)}.site-footer a{color:#b9a3d6}.site-footer .legal{max-width:480px;color:#8a8a99;line-height:1.55}.site-footer .policy-link{color:#b9a3d6;cursor:pointer}.site-footer .muted{color:#7c7c8a}.modal-overlay{position:fixed;inset:0;background:#1914288c;display:none;align-items:center;justify-content:center;z-index:100;padding:24px}.modal-overlay.open{display:flex}.modal{background:#fff;border-radius:12px;max-width:760px;width:100%;max-height:85vh;overflow-y:auto;padding:40px 44px;position:relative}.modal h2{margin-top:0;font-weight:500}.modal .close{position:absolute;top:14px;right:18px;font-size:1.9rem;line-height:1;background:none;border:0;cursor:pointer;color:var(--ink-soft)}.modal h4{font-family:var(--font-head);font-weight:600;margin:20px 0 6px;color:var(--ink)}.modal p,.modal li{color:var(--ink-soft);font-size:.95rem}.cookie{position:fixed;left:28px;bottom:28px;z-index:90;background:#fffffff7;color:var(--ink-soft);max-width:560px;padding:18px 44px 14px 20px;border-radius:10px;box-shadow:0 10px 40px #1914282e;font-size:.9rem;line-height:1.5}.cookie .more{display:block;text-align:center;margin-top:8px;color:var(--ink-soft);text-decoration:underline;cursor:pointer}.cookie .x{position:absolute;top:10px;right:12px;background:none;border:0;font-size:1.2rem;cursor:pointer;color:var(--ink)}.price-hero{background:#eef1fa url(/images/hero-diamonds.jpg) center / cover no-repeat;padding:84px 0}.price-hero h1{color:var(--ink);text-align:left}.price-hero p{max-width:680px;color:var(--ink-soft)}.price-group{margin-bottom:40px}.price-group h3{font-size:1.35rem;font-weight:600;margin:0 0 16px}.price-row{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #e9eaf2}.price-row .rate{font-family:var(--font-head);font-weight:600;color:var(--accent);white-space:nowrap}.port-hero{background:#eef1fa url(/images/hero-diamonds.jpg) center / cover no-repeat;padding:84px 0}.port-hero h1{color:var(--ink);text-align:left;margin:0 0 12px}.port-hero p{max-width:640px;color:var(--ink-soft);margin:0}.gallery{columns:3;column-gap:18px}.gallery-item{display:block;margin:0 0 18px;break-inside:avoid;border-radius:10px;overflow:hidden;box-shadow:0 6px 24px #1d1d241a}.gallery-item img{width:100%;display:block;transition:transform .3s}.gallery-item:hover img{transform:scale(1.03)}.port-cta{text-align:center;margin-top:40px}.modal-wide{max-width:1040px}.stack-grid{column-count:4;column-gap:34px;margin-top:28px}.stack-cat{break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 26px}.stack-cat h4{font-family:var(--font-head);font-weight:600;color:var(--ink);margin:0 0 10px;font-size:1.05rem}.stack-cat ul{list-style:disc;margin:0;padding-left:18px}.stack-cat li{color:var(--ink-soft);font-size:.95rem;margin:3px 0}.stack-cta{text-align:center;margin-top:24px}@media(max-width:900px){.stack-grid{column-count:2}}@media(max-width:560px){.stack-grid{column-count:1}}@media(max-width:900px){.services-grid,.cases-grid{grid-template-columns:1fr 1fr}.contact-wrap{grid-template-columns:1fr}.gallery{columns:2}}@media(max-width:720px){.logo img{height:44px}.nav{position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;gap:0;border-bottom:1px solid #eee;display:none}.nav.open{display:flex}.nav a{width:100%;padding:16px 24px;border-top:1px solid #f0f0f4}.nav-toggle{display:block}.services-grid,.cases-grid{grid-template-columns:1fr}.gallery{columns:1}.cookie{left:12px;right:12px;max-width:none}}.nav-drop{position:relative}.nav-drop-btn{background:none;border:0;cursor:pointer;font-family:var(--font-head);font-weight:600;color:var(--ink);font-size:1.04rem;padding:0;transition:color .15s}.nav-drop-btn:hover{color:var(--accent)}.nav-drop-btn .caret{font-size:.7em}.nav-drop-menu{display:none;position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);background:#fff;border-radius:8px;box-shadow:0 10px 34px #19142829;padding:8px 0;min-width:180px;z-index:60}.nav-drop.open .nav-drop-menu{display:block}.nav-drop-menu a{display:block;padding:10px 22px;font-family:var(--font-head);font-weight:500;font-size:.98rem;cursor:pointer;white-space:nowrap}.nav-drop-menu a:hover{color:var(--accent);background:#f6f3fa}.case-card{cursor:pointer}.case-card .case-title{padding:12px 16px 14px;font-family:var(--font-head);font-weight:600;font-size:.98rem;color:var(--ink);background:#fff}.clients{background:#f7f8fc}.partners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 60px;align-items:center;max-width:900px;margin:0 auto}.partner-logo{display:flex;align-items:center;justify-content:center}.partner-logo img{max-height:90px;width:auto;max-width:100%;object-fit:contain}.modal-case{max-width:1100px}.case-modal-title{text-align:center;margin-bottom:24px}.case-modal-body{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:start}.case-text p{color:var(--ink-soft);font-size:.97rem;margin:0 0 12px}.case-text .work-item{margin:0 0 4px}.case-text .case-meta{margin-top:18px;padding-top:14px;border-top:1px solid #eceaf2;font-size:.9rem;color:var(--ink-soft)}.carousel{position:relative}.carousel-track img{display:none;width:100%;border-radius:8px}.carousel-track img.active{display:block}.car-prev,.car-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid #ddd;background:#fff;color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #1914281f}.car-prev{left:-18px}.car-next{right:-18px}.car-prev:hover,.car-next:hover{color:var(--accent);border-color:var(--accent)}.car-dots{text-align:center;margin-top:12px}.car-dots .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#cfd2e3;margin:0 4px;cursor:pointer}.car-dots .dot.active{background:var(--ink)}@media(max-width:900px){.case-modal-body{grid-template-columns:1fr}.partners-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.nav-drop-menu{position:static;transform:none;box-shadow:none;padding-left:16px}.partners-grid{grid-template-columns:1fr}}.nav a,.nav-drop-btn{white-space:nowrap}@media(max-width:1080px){.nav{gap:22px}.logo img{height:44px}.nav a,.nav-drop-btn{font-size:.95rem}}@media(hover:hover){.nav-drop:hover .nav-drop-menu{display:block}.nav-drop:hover .nav-drop-btn{color:var(--accent)}}.nav-drop-menu:before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
