@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--blue:#5B9FE8;--deep:#234A73;--soft:#DCEEFF;--ink:#172B3A;--muted:#60748a;--bg:#f8fafc;--white:#fff;--line:rgba(35,74,115,.12);--shadow:0 18px 60px rgba(35,74,115,.12);--radius:24px}
.mobile-nav{display:none}
.brand-logo{display:block;width:64px;height:64px;object-fit:contain}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;padding:18px 0;transition:.3s}.site-header.scrolled{padding:10px 0;background:rgba(248,250,252,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:.14em}.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#8fc4fa,#4e91de);position:relative;overflow:hidden;box-shadow:0 8px 25px rgba(91,159,232,.22)}.brand-mark:before,.brand-mark:after{content:'';position:absolute;width:25px;height:9px;background:white;border-radius:99px;left:7px;transform:rotate(30deg)}.brand-mark:before{top:13px}.brand-mark:after{top:21px;transform:rotate(-30deg)}.nav-links{display:flex;align-items:center;gap:28px;font-size:14px;color:#49647e}.nav-links a{position:relative;padding:7px 0}.nav-links a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:center;transition:.25s}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.nav-cta,.btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 19px;border-radius:14px;background:var(--deep);color:white;font-weight:700;box-shadow:0 12px 30px rgba(35,74,115,.16);transition:transform .2s,box-shadow .2s,background .2s}.nav-cta:hover,.btn:hover{transform:translateY(-2px);box-shadow:0 16px 35px rgba(35,74,115,.22)}.btn.secondary{background:white;color:var(--deep);border:1px solid var(--line);box-shadow:none}.btn.secondary:hover{border-color:rgba(91,159,232,.45);background:var(--soft)}.menu-toggle{display:none;background:none;border:0;font-size:28px;color:var(--deep)}.hero{min-height:780px;display:grid;place-items:center;padding:150px 0 100px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 10%,#fff 0,#eef7ff 45%,#f8fafc 78%)}.hero:before,.hero:after{content:'';position:absolute;pointer-events:none;filter:blur(.2px);border:1px solid rgba(91,159,232,.22);border-radius:50%;width:900px;height:500px;transform:rotate(-13deg);animation:drift 16s ease-in-out infinite alternate}.hero:before{left:-390px;bottom:-110px;background:linear-gradient(120deg,rgba(91,159,232,.18),transparent 55%)}.hero:after{right:-390px;top:100px;background:linear-gradient(120deg,transparent,rgba(91,159,232,.15))}.hero-inner{text-align:center;position:relative;z-index:2}.hero-logo{width:125px;height:125px;object-fit:contain;mix-blend-mode:multiply;filter:saturate(1.03);animation:float 5s ease-in-out infinite}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;margin:18px 0}.eyebrow:before,.eyebrow:after{content:'';width:28px;height:1px;background:currentColor}.hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(48px,7vw,86px);line-height:.98;letter-spacing:-.055em;margin:0 auto 22px;max-width:850px}.gradient-text{background:linear-gradient(110deg,var(--deep),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{max-width:660px;margin:0 auto 30px;color:var(--muted);font-size:18px}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.hero-badges{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:38px}.pill{padding:8px 13px;border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:999px;font-size:12px;color:#52708d}.section{padding:100px 0}.section-head{max-width:700px;margin-bottom:42px}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--blue);font-weight:800}.section h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(34px,4vw,58px);line-height:1.02;letter-spacing:-.04em;margin:10px 0 14px}.section-head p{color:var(--muted);font-size:17px}.grid{display:grid;gap:20px}.services-grid{grid-template-columns:repeat(4,1fr)}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 8px 30px rgba(35,74,115,.05);transition:.3s;position:relative;overflow:hidden}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(91,159,232,.3)}.icon-box{width:48px;height:48px;border-radius:15px;background:var(--soft);color:var(--deep);display:grid;place-items:center;margin-bottom:25px}.icon-box svg{width:23px;height:23px}.float-icon{animation:iconFloat 3.5s ease-in-out infinite}.card h3{font-family:'Space Grotesk',sans-serif;font-size:21px;margin:0 0 9px}.card p{color:var(--muted);font-size:14px;margin:0}.woven-band{margin-top:70px;border-radius:32px;overflow:hidden;min-height:270px;background:linear-gradient(135deg,#eaf5ff,#fff);border:1px solid var(--line);position:relative;display:flex;align-items:center;padding:40px}.woven-band:before,.woven-band:after{content:'';position:absolute;width:70%;height:160px;border:18px solid rgba(91,159,232,.16);border-radius:50%;transform:rotate(-12deg);right:-10%;animation:drift 10s ease-in-out infinite alternate}.woven-band:after{width:55%;left:-10%;right:auto;transform:rotate(12deg);border-color:rgba(35,74,115,.08)}.woven-band-content{position:relative;z-index:2;max-width:620px}.woven-band h3{font-family:'Space Grotesk';font-size:34px;line-height:1.05;margin:0 0 12px}.project-grid{grid-template-columns:repeat(3,1fr)}.project{padding:0;overflow:hidden}.project-media{height:220px;background:linear-gradient(135deg,#dceeff,#f7fbff);position:relative;overflow:hidden}.project-media:before{content:'';position:absolute;width:75%;height:120px;border:18px solid rgba(91,159,232,.32);border-radius:50%;top:35px;left:12%;transform:rotate(-13deg);transition:.5s}.project:hover .project-media:before{transform:rotate(4deg) scale(1.08)}.project-body{padding:24px}.project-tag{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);font-weight:800}.project-body h3{margin:7px 0}.project-body p{margin:0;color:var(--muted);font-size:14px}.project-link{display:inline-flex;margin-top:17px;color:var(--deep);font-weight:800;font-size:13px}.process{grid-template-columns:repeat(5,1fr)}.step{position:relative}.step:not(:last-child):after{content:'';position:absolute;top:28px;left:60px;right:-10px;height:1px;background:linear-gradient(90deg,rgba(91,159,232,.5),transparent)}.step-num{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--deep);font-weight:800;margin-bottom:20px;position:relative;z-index:2}.step h3{font-size:17px;margin:0 0 6px}.step p{font-size:13px;color:var(--muted);margin:0}.cta{padding:80px 0}.cta-inner{background:var(--deep);color:white;border-radius:34px;padding:70px;position:relative;overflow:hidden}.cta-inner:after{content:'';position:absolute;width:520px;height:260px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-130px;top:-80px;transform:rotate(-14deg)}.cta-inner h2{font-family:'Space Grotesk';font-size:clamp(36px,5vw,62px);line-height:1;margin:0 0 15px;max-width:700px}.cta-inner p{color:#cfe4fa;max-width:620px}.cta-inner .btn{background:white;color:var(--deep);position:relative;z-index:2}.page-hero{padding:170px 0 90px;background:linear-gradient(145deg,#f1f8ff,#fff);position:relative;overflow:hidden}.page-hero:after{content:'';position:absolute;width:760px;height:280px;border:1px solid rgba(91,159,232,.2);border-radius:50%;right:-300px;top:100px;transform:rotate(-16deg)}.page-hero h1{font-family:'Space Grotesk';font-size:clamp(48px,7vw,78px);letter-spacing:-.05em;line-height:.98;margin:10px 0 18px}.page-hero p{max-width:680px;color:var(--muted);font-size:18px}.pricing{grid-template-columns:repeat(4,1fr);gap:18px}.price-card{padding:24px}.price-card.featured{border:2px solid var(--blue);transform:translateY(-8px)}.price-card.featured:hover{transform:translateY(-12px)}.price{font-family:'Space Grotesk';font-size:34px;color:var(--deep);margin:12px 0}.price small{font-family:Manrope;font-size:11px;color:var(--muted);font-weight:500}.features{list-style:none;padding:0;margin:18px 0}.features li{padding:8px 0;color:#526a80;font-size:13px;border-bottom:1px solid rgba(35,74,115,.07)}.features li:before{content:'✓';color:var(--blue);font-weight:900;margin-right:10px}.contact-grid{grid-template-columns:.9fr 1.1fr;align-items:start}.form{background:white;border:1px solid var(--line);padding:30px;border-radius:28px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800;color:#48647d}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fbfdff;border-radius:13px;padding:13px 14px;outline:0;transition:.2s;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(91,159,232,.12)}.field textarea{min-height:150px;resize:vertical}.form-status{font-size:13px;margin-top:12px;color:var(--muted)}.faq{max-width:820px;margin:auto}.faq details{background:white;border:1px solid var(--line);border-radius:18px;margin-bottom:12px;padding:18px 22px}.faq summary{cursor:pointer;font-weight:800}.about-grid{grid-template-columns:1fr 1fr;align-items:center}.quote{font-family:'Space Grotesk';font-size:clamp(30px,4vw,50px);line-height:1.05;color:var(--deep)}.footer{padding:60px 0 28px;border-top:1px solid var(--line);background:white}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:40px}.footer h4{margin:0 0 12px;font-size:13px}.footer a,.footer p{color:var(--muted);font-size:13px}.footer-links{display:grid;gap:7px}.footer-bottom{margin-top:45px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.cursor-glow{position:fixed;width:180px;height:180px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(91,159,232,.11),transparent 65%);transform:translate(-50%,-50%);z-index:1;display:none}.to-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border:1px solid var(--line);background:white;color:var(--deep);border-radius:50%;display:grid;place-items:center;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;z-index:40}.to-top.show{opacity:1;pointer-events:auto;transform:none}.ripple{position:fixed;width:10px;height:10px;border-radius:50%;background:rgba(91,159,232,.35);transform:translate(-50%,-50%);pointer-events:none;animation:ripple .55s ease-out forwards;z-index:100}
@keyframes float{50%{transform:translateY(-8px)}}@keyframes iconFloat{50%{transform:translateY(-4px) rotate(2deg)}}@keyframes drift{50%{transform:rotate(-7deg) translate(30px,10px)}}@keyframes ripple{to{width:90px;height:90px;opacity:0}}
@media (max-width:950px){.services-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.process{grid-template-columns:repeat(2,1fr);gap:35px}.step:not(:last-child):after{display:none}.pricing{grid-template-columns:repeat(2,1fr)}.price-card.featured{transform:none}.about-grid,.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.nav-links,.nav-cta{display:none}.menu-toggle{display:block}.mobile-nav{position:fixed;inset:0;background:rgba(248,250,252,.97);backdrop-filter:blur(20px);display:none;align-items:center;justify-content:center;z-index:45}.mobile-nav.open{display:flex}.mobile-nav-inner{display:grid;gap:20px;text-align:center;font-family:'Space Grotesk';font-size:30px}.mobile-nav-inner a{color:var(--deep)}}
@media (max-width:650px){.container{width:min(100% - 28px,1160px)}.hero{min-height:720px;padding-top:130px}.hero h1{font-size:48px}.hero p{font-size:16px}.section{padding:75px 0}.services-grid,.project-grid,.process,.pricing{grid-template-columns:1fr}.cta-inner{padding:45px 25px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column}.cursor-glow{display:none}.page-hero{padding-top:140px}}
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.project-media--wedding,.project-media--coffee,.project-media--dice,.project-media--brewlane{display:grid;place-items:center}
.project-media--wedding{background:linear-gradient(135deg,#f4f0e6,#e9e3d4)}
.project-media--wedding:before{width:176px;height:176px;left:auto;top:auto;border:1px solid rgba(113,119,83,.3);transform:none}
.project-media--coffee{background:linear-gradient(135deg,#f3e8d2,#d2a26d 54%,#5f3f2b)}
.project-media--coffee:before{width:176px;height:176px;left:auto;top:auto;border:1px solid rgba(255,246,233,.42);transform:rotate(45deg)}
.project-media--dice{background:radial-gradient(ellipse at center,#6b503b,#342820)}
.project-media--dice:before{width:158px;height:158px;left:auto;top:auto;border:1px solid rgba(239,211,165,.3);transform:rotate(45deg)}
.project-media--brewlane{background:linear-gradient(135deg,#e6c8a5,#9a6742 55%,#50372b)}
.project-media--brewlane:before{width:176px;height:176px;left:auto;top:auto;border:1px solid rgba(255,240,220,.38);transform:rotate(45deg)}
.project-logo{position:relative;z-index:1}
.project-logo--wedding{display:flex;align-items:baseline;justify-content:center;gap:9px;color:#64704f;font-family:'Space Grotesk',serif;font-size:50px;letter-spacing:-.08em}
.project-logo--coffee{display:grid;justify-items:center;gap:7px;color:#fffaf5}
.project-logo--coffee .project-logo-name{font-size:25px;letter-spacing:.18em}
.project-logo--coffee .project-logo-caption{margin-top:0;font-size:8px;letter-spacing:.24em}
.project-logo-amp{font-family:Georgia,serif;font-size:25px;font-style:italic}
.project-logo-caption{flex-basis:100%;margin-top:4px;text-align:center;font-family:Manrope,sans-serif;font-size:9px;font-weight:700;letter-spacing:.24em}
.project-logo--dice{display:grid;justify-items:center;gap:4px;color:#f0d6ad}
.project-logo--brewlane{display:grid;justify-items:center;gap:7px;color:#fff0dc}
.project-logo--brewlane .project-logo-name{font-size:25px;letter-spacing:.2em}
.project-logo--brewlane .project-logo-caption{margin-top:0;font-size:8px;letter-spacing:.2em}
.project-logo--dice svg{width:54px;height:54px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.project-logo--dice svg circle{fill:currentColor;stroke:none}
.project-logo-name{font-family:'Space Grotesk',sans-serif;font-size:21px;font-weight:700;letter-spacing:.14em}
.project-logo--dice .project-logo-caption{margin-top:0}
@media (max-width:650px){.project-grid{grid-template-columns:1fr}}

.brand-logo{width:170px;height:auto}
.brand-logo--dark{display:none}
[data-theme="dark"] .brand-logo--light{display:none}
[data-theme="dark"] .brand-logo--dark{display:block}
.theme-toggle{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--deep);font-size:21px;line-height:1;cursor:pointer;transition:transform .2s,background .2s}
.theme-toggle:hover{transform:translateY(-2px)}
.theme-toggle:focus-visible{outline:3px solid var(--blue);outline-offset:3px}

:root[data-theme="dark"]{color-scheme:dark;--blue:#8dbaf0;--deep:#a5cbfa;--soft:#26394d;--ink:#e7eef7;--muted:#aab8ca;--bg:#101923;--white:#182533;--line:rgba(193,214,238,.15);--shadow:0 18px 60px rgba(0,0,0,.28)}
[data-theme="dark"] .site-header.scrolled{background:rgba(16,25,35,.88)}
[data-theme="dark"] .nav-links{color:#c6d5e6}
[data-theme="dark"] .nav-cta,[data-theme="dark"] .btn{background:#356e9f;color:#fff}
[data-theme="dark"] .btn.secondary{background:#1b2a39;color:#d9eaff}
[data-theme="dark"] .hero{background:radial-gradient(circle at 50% 10%,#1d3044 0,#152435 48%,#101923 82%)}
[data-theme="dark"] .pill{background:rgba(24,37,51,.82);color:#c3d5e8}
[data-theme="dark"] .card,[data-theme="dark"] .form,[data-theme="dark"] .faq details{background:#182533}
[data-theme="dark"] .woven-band{background:linear-gradient(135deg,#1b3044,#172331)}
[data-theme="dark"] .woven-band:after{border-color:rgba(150,190,230,.12)}
[data-theme="dark"] .project-media:not(.project-media--wedding):not(.project-media--coffee):not(.project-media--dice):not(.project-media--brewlane){background:linear-gradient(135deg,#20364b,#172331)}
[data-theme="dark"] .project-link,[data-theme="dark"] .price,[data-theme="dark"] .quote{color:#a5cbfa}
[data-theme="dark"] .step-num{background:#26394d;color:#c5ddfa}
[data-theme="dark"] .cta-inner{background:#1c3b59}
[data-theme="dark"] .cta-inner .btn{background:#f4f8fc;color:#234a73}
[data-theme="dark"] .page-hero{background:linear-gradient(145deg,#1a2a3a,#101923)}
[data-theme="dark"] .features li{color:#c0cede}
[data-theme="dark"] .field label{color:#c5d5e6}
[data-theme="dark"] .field input,[data-theme="dark"] .field select,[data-theme="dark"] .field textarea{background:#101923;color:var(--ink)}
[data-theme="dark"] .field input::placeholder,[data-theme="dark"] .field textarea::placeholder{color:#8293a7}
[data-theme="dark"] .footer{background:#0b131c}
[data-theme="dark"] .to-top{background:#182533;color:#d9eaff}
[data-theme="dark"] .mobile-nav{background:rgba(16,25,35,.97)}
[data-theme="dark"] .mobile-nav-inner a{color:#d9eaff}

@media (max-width:650px){.brand-logo{width:145px}}

@media (max-width:950px){
    .contact-grid{grid-template-columns:minmax(0,1fr)}
    .contact-grid>*,
    .form-grid,
    .field{min-width:0}
    .field input,
    .field select,
    .field textarea{width:100%;min-width:0;max-width:100%}
}

@media (max-width:650px){
    .footer-grid{grid-template-columns:minmax(0,1fr);gap:24px}
    .footer-grid>*{min-width:0}
}

.process-hero .container{position:relative;z-index:1}
.process-hero h1{max-width:800px}
.process-hero .btn{margin-top:12px}
.process-section{overflow:hidden}
.process-section .section-head{margin-bottom:64px}
.process-flow{position:relative;max-width:940px;margin:0 auto}
.process-flow:before,.process-flow:after{content:"";position:absolute;top:24px;bottom:24px;left:50%;width:2px;transform:translateX(-50%);pointer-events:none}
.process-flow:before{background:var(--line)}
.process-flow:after{background:linear-gradient(to bottom,transparent,var(--blue),#d9b8ff,var(--blue),transparent);background-size:100% 220px;animation:process-flow-travel 5s linear infinite}
.process-step{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:center;min-height:190px}
.process-step:not(:last-child){margin-bottom:18px}
.process-marker{grid-column:2;grid-row:1;display:grid;place-items:center;justify-self:center;width:54px;height:54px;border:1px solid rgba(141,186,240,.42);border-radius:50%;background:var(--bg);color:var(--blue);font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:700;box-shadow:0 0 0 8px var(--bg);z-index:1}
.process-marker:after{content:"";position:absolute;width:54px;height:54px;border:1px solid rgba(141,186,240,.36);border-radius:50%;animation:process-marker-pulse 2.8s ease-out infinite}
.process-card{grid-row:1;min-width:0;padding:27px 30px;border:1px solid var(--line);border-radius:22px;background:var(--white);box-shadow:0 12px 36px rgba(10,26,44,.08);transition:transform .25s,border-color .25s,box-shadow .25s}
.process-card:hover{transform:translateY(-4px);border-color:rgba(91,159,232,.48);box-shadow:0 18px 42px rgba(10,26,44,.14)}
.process-step:nth-child(odd) .process-card{grid-column:1;text-align:right}
.process-step:nth-child(even) .process-card{grid-column:3}
.process-label{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.process-card h3{margin:7px 0 8px;font-family:'Space Grotesk',sans-serif;font-size:24px}
.process-card p{max-width:390px;margin:0;color:var(--muted);font-size:14px}
.process-step:nth-child(odd) .process-card p{margin-left:auto}
.process-note{display:inline-block;margin-top:16px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;font-weight:700}
.process-step.reveal{transition-delay:0s}
.process-step:nth-child(1).reveal.visible{transition-delay:.04s}
.process-step:nth-child(2).reveal.visible{transition-delay:.12s}
.process-step:nth-child(3).reveal.visible{transition-delay:.2s}
.process-step:nth-child(4).reveal.visible{transition-delay:.28s}
.process-step:nth-child(5).reveal.visible{transition-delay:.36s}
.process-step:nth-child(6).reveal.visible{transition-delay:.44s}
.process-reassurance{padding-top:28px}
[data-theme="dark"] .process-card{background:linear-gradient(145deg,#1b2b3a,#172331);box-shadow:0 14px 40px rgba(0,0,0,.2)}
[data-theme="dark"] .process-marker{background:#101923;box-shadow:0 0 0 8px #101923}

@keyframes process-flow-travel{from{background-position:0 -220px}to{background-position:0 220px}}
@keyframes process-marker-pulse{0%{transform:scale(.84);opacity:.75}100%{transform:scale(1.7);opacity:0}}

@media (max-width:700px){
    .process-section .section-head{margin-bottom:38px}
    .process-flow{max-width:560px}
    .process-flow:before,.process-flow:after{left:24px}
    .process-step{grid-template-columns:48px minmax(0,1fr);min-height:0;gap:14px}
    .process-step:not(:last-child){margin-bottom:20px}
    .process-marker{grid-column:1;grid-row:1;align-self:start;width:48px;height:48px;font-size:12px;box-shadow:0 0 0 6px var(--bg)}
    .process-marker:after{width:48px;height:48px}
    .process-step:nth-child(odd) .process-card,.process-step:nth-child(even) .process-card{grid-column:2;grid-row:1;text-align:left;padding:22px}
    .process-card p,.process-step:nth-child(odd) .process-card p{margin-left:0}
    .process-card h3{font-size:21px}
    .process-note{white-space:normal;border-radius:12px}
}

@media (prefers-reduced-motion:reduce){
    .process-flow:after,.process-marker:after{animation:none}
    .process-step.reveal,.process-card{transition:none}
    .process-step.reveal{opacity:1;transform:none}
}

.project-tags{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 9px}
.project-tags .project-tag{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(91,159,232,.08);font-size:9px;line-height:1.35;letter-spacing:.07em}
.project-tags .project-tag--non-client{color:var(--muted);background:rgba(141,186,240,.06)}
.project-tags .project-tag--ongoing{color:#ffd27a;border-color:rgba(235,177,73,.38);background:rgba(190,126,28,.15)}
.project-status-banner{position:absolute;top:14px;right:14px;z-index:2;display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(241,190,92,.56);border-radius:10px;background:repeating-linear-gradient(135deg,rgba(60,47,27,.94) 0 9px,rgba(42,38,31,.94) 9px 18px);color:#ffe0a0;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 5px 16px rgba(0,0,0,.24)}
.project-status-banner svg{width:16px;height:16px;fill:rgba(255,208,120,.2);stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
[data-theme="dark"] .project-tags .project-tag{color:#c3d5e8}
[data-theme="dark"] .project-tags .project-tag--ongoing{color:#ffdc94}

@media (max-width:380px){
    .project-status-banner{top:10px;right:10px;padding:6px 8px;font-size:8px}
}

.project-media--preview{background:#172b3a}
.project-media--preview:before{display:none}
.project-preview-image{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .4s ease}
.project:hover .project-preview-image{transform:scale(1.025)}

@media (prefers-reduced-motion:reduce){
    .project-preview-image{transition:none}
    .project:hover .project-preview-image{transform:none}
}
