:root{--color-primary:#5aa6af;--color-primary-light:#7bc4cc;--color-primary-dark:#3d8a93;--color-primary-faint:#e8f4f5;--color-primary-ultra:#f5fbfc;--color-white:#fff;--color-bg-alt:#fafafa;--color-bg-soft:#f8fafa;--color-border:#e0e8ea;--color-border-light:#eef3f4;--color-text-primary:#2c3e50;--color-text-secondary:#5a6c7d;--color-text-light:#8fa3b3;--color-text-muted:#a8b9c4;--font-heading:"Playfair Display", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--section-padding-y:6rem;--section-padding-y-lg:8rem;--container-max-width:1200px;--container-padding-x:1.5rem;--transition-fast:.15s ease;--transition-normal:.3s ease;--transition-slow:.4s ease;--transition-bounce:.5s cubic-bezier(.34, 1.56, .64, 1);--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--shadow-header:0 2px 20px #00000014;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--z-dropdown:100;--z-sticky:200;--z-modal:300;--z-tooltip:400}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text-primary);background-color:var(--color-white);overflow-x:hidden}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-normal);line-height:var(--leading-tight);color:var(--color-text-primary)}p{margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}::selection{background-color:var(--color-primary);color:var(--color-white)}::selection{background-color:var(--color-primary);color:var(--color-white)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-alt)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}.container{width:100%;max-width:var(--container-max-width);padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);margin:0 auto}.container-narrow{max-width:900px}.container-wide{max-width:1400px}.section{padding-top:var(--section-padding-y);padding-bottom:var(--section-padding-y)}.section-lg{padding-top:var(--section-padding-y-lg);padding-bottom:var(--section-padding-y-lg)}.section-alt{background-color:var(--color-bg-alt)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-light{color:var(--color-text-light)}.text-muted{color:var(--color-text-muted)}.font-heading{font-family:var(--font-heading)}.font-body{font-family:var(--font-body)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.mt-0{margin-top:0}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mt-12{margin-top:var(--space-12)}.mt-16{margin-top:var(--space-16)}.mt-20{margin-top:var(--space-20)}.mb-0{margin-bottom:0}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mb-12{margin-bottom:var(--space-12)}.mb-16{margin-bottom:var(--space-16)}.mb-20{margin-bottom:var(--space-20)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-1{flex:1}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hidden{display:none}.animate-fade-in{animation:.6s forwards fadeIn}.animate-fade-up{animation:.6s forwards fadeUp}.animate-fade-in-delay{opacity:0;animation:.6s .2s forwards fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.scroll-animate{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(30px)}.scroll-animate.is-visible{opacity:1;transform:translateY(0)}.scroll-animate-delay-1{transition-delay:.1s}.scroll-animate-delay-2{transition-delay:.2s}.scroll-animate-delay-3{transition-delay:.3s}.scroll-animate-delay-4{transition-delay:.4s}.site-header{z-index:var(--z-sticky);background-color:var(--color-white);transition:box-shadow var(--transition-normal);position:fixed;top:0;left:0;right:0}.site-header.is-scrolled{box-shadow:var(--shadow-header)}.header-inner{justify-content:space-between;align-items:center;height:80px;display:flex}.logo{align-items:center;display:flex}.logo img{width:auto;height:40px;transition:transform var(--transition-normal)}.logo:hover img{transform:scale(1.02)}.main-nav{align-items:center;display:flex}.nav-list{align-items:center;gap:var(--space-8);display:flex}.nav-link{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);padding:var(--space-2) 0;transition:color var(--transition-fast);position:relative}.nav-link:after{content:"";background-color:var(--color-primary);width:0;height:2px;transition:width var(--transition-normal);position:absolute;bottom:0;left:0}.nav-link:hover,.nav-link.is-active{color:var(--color-primary)}.nav-link:hover:after,.nav-link.is-active:after{width:100%}.mobile-menu-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:24px;height:18px;padding:0;display:none}.mobile-menu-toggle span{background-color:var(--color-text-primary);width:100%;height:2px;transition:all var(--transition-normal);transform-origin:50%;display:block}.mobile-menu-toggle.is-open span:first-child{transform:translateY(8px)rotate(45deg)}.mobile-menu-toggle.is-open span:nth-child(2){opacity:0}.mobile-menu-toggle.is-open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.mobile-nav{background-color:var(--color-white);padding:var(--space-8) var(--container-padding-x);transition:transform var(--transition-normal);display:none;position:fixed;inset:80px 0 0;overflow-y:auto;transform:translate(100%)}.mobile-nav.is-open{transform:translate(0)}.mobile-nav-list{gap:var(--space-4);flex-direction:column;display:flex}.mobile-nav-link{font-size:var(--text-xl);font-family:var(--font-heading);color:var(--color-text-primary);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light);transition:color var(--transition-fast)}.mobile-nav-link:hover,.mobile-nav-link.is-active{color:var(--color-primary)}.section-header{text-align:center;margin-bottom:var(--space-16)}.section-header-left{text-align:left}.section-label{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);margin-bottom:var(--space-4);display:inline-block}.section-title{font-size:var(--text-4xl);font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:var(--space-4);line-height:1.2}.section-title-sm{font-size:var(--text-3xl)}.section-title-lg{font-size:var(--text-5xl)}.section-description{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:600px;line-height:var(--leading-relaxed);margin:0 auto}.section-header-left .section-description{margin:0}.site-footer{background-color:var(--color-text-primary);color:var(--color-text-light);padding:var(--space-16) 0 var(--space-8)}.footer-inner{gap:var(--space-12);margin-bottom:var(--space-12);grid-template-columns:2fr 1fr 1fr 1fr;display:grid}.footer-brand{max-width:300px}.footer-logo{width:auto;height:36px;margin-bottom:var(--space-4);filter:brightness(0)invert();opacity:.9}.footer-tagline{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-text-light);margin-bottom:var(--space-6)}.footer-heading{font-size:var(--text-sm);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-white);margin-bottom:var(--space-6)}.footer-links{gap:var(--space-3);flex-direction:column;display:flex}.footer-link{font-size:var(--text-sm);color:var(--color-text-light);transition:color var(--transition-fast)}.footer-link:hover{color:var(--color-primary-light)}.footer-contact p{font-size:var(--text-sm);color:var(--color-text-light);margin-bottom:var(--space-3)}.footer-contact a{color:var(--color-text-light);transition:color var(--transition-fast)}.footer-contact a:hover{color:var(--color-primary-light)}.social-links{gap:var(--space-4);display:flex}.social-link{border-radius:var(--radius-full);width:40px;height:40px;color:var(--color-white);transition:all var(--transition-fast);background-color:#ffffff1a;justify-content:center;align-items:center;display:flex}.social-link:hover{background-color:var(--color-primary);transform:translateY(-2px)}.social-link svg{width:18px;height:18px}.footer-bottom{padding-top:var(--space-8);border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;display:flex}.copyright{font-size:var(--text-sm);color:var(--color-text-muted)}.footer-nav{gap:var(--space-6);display:flex}.footer-nav-link{font-size:var(--text-sm);color:var(--color-text-muted);transition:color var(--transition-fast)}.footer-nav-link:hover{color:var(--color-white)}@media (width<=1024px){.footer-inner{gap:var(--space-8);grid-template-columns:1fr 1fr}.footer-brand{text-align:center;grid-column:1/-1;max-width:100%}.footer-logo{margin:0 auto var(--space-4)}}@media (width<=768px){.header-inner{height:70px}.main-nav{display:none}.mobile-menu-toggle{display:flex}.mobile-nav{display:block}.section{padding-top:var(--space-16);padding-bottom:var(--space-16)}.section-title{font-size:var(--text-3xl)}.section-title-lg{font-size:var(--text-4xl)}.footer-inner{text-align:center;grid-template-columns:1fr}.footer-heading{margin-top:var(--space-8)}.social-links{justify-content:center}.footer-bottom{gap:var(--space-4);text-align:center;flex-direction:column}}@media (width<=480px){:root{--section-padding-y:4rem;--container-padding-x:1rem}.section-title{font-size:var(--text-2xl)}.section-title-lg{font-size:var(--text-3xl)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:var(--font-medium);text-align:center;white-space:nowrap;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:2px solid #0000;line-height:1.5;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-primary:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-secondary{color:var(--color-primary);border-color:var(--color-primary);background-color:#0000}.btn-secondary:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-ghost{color:var(--color-text-secondary);border-color:var(--color-border);background-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--color-bg-alt);border-color:var(--color-border);color:var(--color-text-primary)}.btn-white{background-color:var(--color-white);color:var(--color-primary);border-color:var(--color-white)}.btn-white:hover:not(:disabled){background-color:var(--color-primary-ultra);border-color:var(--color-primary-ultra);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.btn-xl{padding:var(--space-5) var(--space-10);font-size:var(--text-lg)}.btn-icon svg,.btn-icon i{width:18px;height:18px;transition:transform var(--transition-fast)}.btn-icon:hover svg,.btn-icon:hover i{transform:translate(3px)}.filter-btn{padding:var(--space-2) var(--space-5);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);background-color:#0000}.filter-btn:hover{background-color:var(--color-bg-alt);border-color:var(--color-border);color:var(--color-text-primary)}.filter-btn.is-active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.filter-btn-group{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.card{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal), transform var(--transition-normal);overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-image{aspect-ratio:16/10;position:relative;overflow:hidden}.card-image img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.card:hover .card-image img{transform:scale(1.05)}.card-content{padding:var(--space-6)}.card-title{font-size:var(--text-xl);font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:var(--space-2);line-height:1.3}.card-title a{color:inherit;transition:color var(--transition-fast)}.card-title a:hover{color:var(--color-primary)}.card-text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.card-meta{align-items:center;gap:var(--space-4);font-size:var(--text-xs);color:var(--color-text-light);display:flex}.card-meta-item{align-items:center;gap:var(--space-1);display:flex}.portfolio-card{border-radius:var(--radius-lg);cursor:pointer;position:relative;overflow:hidden}.portfolio-card-image{aspect-ratio:4/3;position:relative;overflow:hidden}.portfolio-card-image img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.portfolio-card:hover .portfolio-card-image img{transform:scale(1.08)}.portfolio-card-overlay{padding:var(--space-6);opacity:0;transition:opacity var(--transition-normal);background:linear-gradient(#0000 0%,#2c3e5066 50%,#2c3e50e6 100%);flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.portfolio-card:hover .portfolio-card-overlay{opacity:1}.portfolio-card-title{font-size:var(--text-xl);font-family:var(--font-heading);color:var(--color-white);margin-bottom:var(--space-2);transition:transform var(--transition-normal) .1s;transform:translateY(20px)}.portfolio-card:hover .portfolio-card-title{transform:translateY(0)}.portfolio-card-category{font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary-light);transition:transform var(--transition-normal) .2s;transform:translateY(20px)}.portfolio-card:hover .portfolio-card-category{transform:translateY(0)}.blog-card{background-color:var(--color-white);border-radius:var(--radius-lg);transition:box-shadow var(--transition-normal), transform var(--transition-normal);overflow:hidden}.form-group{margin-bottom:var(--space-6)}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);margin-bottom:var(--space-2);display:block}.form-label-required:after{content:"*";color:#e74c3c;margin-left:var(--space-1)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--color-text-primary);background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-input:hover,.form-textarea:hover,.form-select:hover{border-color:var(--color-text-light)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-faint);outline:none}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background-color:var(--color-bg-alt);cursor:not-allowed}.form-textarea{resize:vertical;min-height:150px}.form-select{appearance:none;padding-right:var(--space-10);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235a6c7d' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat}.form-hint{font-size:var(--text-xs);color:var(--color-text-light);margin-top:var(--space-2)}.form-error{font-size:var(--text-xs);color:#e74c3c;margin-top:var(--space-2)}.form-input.is-error{border-color:#e74c3c}.form-input.is-error:focus{box-shadow:0 0 0 3px #e74c3c1a}.form-row{gap:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=640px){.form-row{grid-template-columns:1fr}}.contact-form{background-color:var(--color-white);padding:var(--space-8);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.contact-form-title{font-size:var(--text-2xl);font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:var(--space-6)}.divider{background-color:var(--color-border);height:1px;margin:var(--space-8) 0;border:none}.divider-primary{background-color:var(--color-primary)}.divider-dashed{border-top:1px dashed var(--color-border);background:0 0}.badge{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);align-items:center;display:inline-flex}.badge-primary{background-color:var(--color-primary-faint);color:var(--color-primary-dark)}.badge-secondary{background-color:var(--color-bg-alt);color:var(--color-text-secondary)}.alert{padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);margin-bottom:var(--space-6)}.alert-success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.alert-error{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}.hero{min-height:100vh;padding:var(--section-padding-y) var(--container-padding-x);background:linear-gradient(135deg, var(--color-white) 0%, var(--color-bg-soft) 50%, var(--color-primary-ultra) 100%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background-image:radial-gradient(circle at 20% 80%, var(--color-primary-faint) 0%, transparent 50%), radial-gradient(circle at 80% 20%, var(--color-primary-faint) 0%, transparent 50%);opacity:.6;pointer-events:none;position:absolute;inset:0}.hero-content{z-index:1;text-align:center;max-width:800px;margin:0 auto;animation:.8s ease-out forwards fadeUp;position:relative}.hero-title{font-family:var(--font-heading);font-size:var(--text-6xl);font-weight:var(--font-normal);color:var(--color-text-primary);margin-bottom:var(--space-6);line-height:var(--leading-tight);letter-spacing:-.02em;opacity:0;animation:.8s ease-out .2s forwards fadeUp}.hero-tagline{font-family:var(--font-body);font-size:var(--text-xl);font-weight:var(--font-normal);color:var(--color-text-secondary);margin-bottom:var(--space-10);line-height:var(--leading-relaxed);opacity:0;animation:.8s ease-out .4s forwards fadeUp}.hero-tagline:after{content:"";background:linear-gradient(90deg, var(--color-primary), var(--color-primary-light));width:60px;height:3px;margin:var(--space-6) auto 0;border-radius:var(--radius-full);display:block}.hero .btn{opacity:0;animation:.8s ease-out .6s forwards fadeUp}.hero .btn-lg{padding:var(--space-4) var(--space-10);font-size:var(--text-lg);font-weight:var(--font-medium);letter-spacing:.02em}.hero .btn-primary{transition:all var(--transition-normal);box-shadow:0 4px 15px #5aa6af4d}.hero .btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px #5aa6af66}.scroll-indicator{bottom:var(--space-8);align-items:center;gap:var(--space-2);color:var(--color-text-light);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.1em;transition:color var(--transition-fast);opacity:0;cursor:pointer;flex-direction:column;text-decoration:none;animation:.8s ease-out 1s forwards fadeIn;display:flex;position:absolute;left:50%;transform:translate(-50%)}.scroll-indicator:hover{color:var(--color-primary)}.scroll-indicator span{margin-bottom:var(--space-1)}.scroll-indicator svg{width:24px;height:24px;animation:2s ease-in-out infinite bounceDown}.scroll-indicator svg path{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}@keyframes bounceDown{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(10px)}60%{transform:translateY(5px)}}@media (width<=768px){.hero{min-height:80vh;padding:calc(var(--section-padding-y) * .75) var(--container-padding-x)}.hero-title{font-size:var(--text-5xl);margin-bottom:var(--space-5)}.hero-tagline{font-size:var(--text-lg);margin-bottom:var(--space-8)}.hero .btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.scroll-indicator{bottom:var(--space-6)}}@media (width<=480px){.hero{min-height:100svh;padding:var(--space-8) var(--container-padding-x)}.hero-title{font-size:var(--text-4xl);margin-bottom:var(--space-4)}.hero-tagline{font-size:var(--text-base);margin-bottom:var(--space-6)}.hero-tagline:after{width:40px;margin-top:var(--space-4)}.hero .btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-sm)}.scroll-indicator{bottom:var(--space-4)}.scroll-indicator span{font-size:var(--text-xs)}.scroll-indicator svg{width:20px;height:20px}}@media (prefers-reduced-motion:reduce){.hero-content,.hero-title,.hero-tagline,.hero .btn,.scroll-indicator{opacity:1;animation:none}.scroll-indicator svg{animation:none}}@media (prefers-contrast:high){.hero-tagline:after{background:var(--color-primary)}.scroll-indicator{color:var(--color-text-primary)}}.blog-header{padding-top:calc(var(--section-padding-y) + 80px);padding-bottom:var(--space-12);background:linear-gradient(135deg, var(--color-white) 0%, var(--color-bg-soft) 50%, var(--color-primary-ultra) 100%)}.blog-header .section-header{margin-bottom:0}.blog-content-section{padding-top:var(--space-12)}.blog-layout{gap:var(--space-12);grid-template-columns:1fr 320px;align-items:start;display:grid}.blog-main{min-width:0}.blog-post-item{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-8);transition:box-shadow var(--transition-normal), transform var(--transition-normal);overflow:hidden}.blog-post-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.blog-post-item:last-child{margin-bottom:0}.blog-post-header{padding:var(--space-6) var(--space-6) 0}.blog-post-title{font-size:var(--text-2xl);font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:var(--space-4);line-height:1.3}.blog-post-title a{color:inherit;transition:color var(--transition-fast)}.blog-post-title a:hover{color:var(--color-primary)}.blog-post-meta{align-items:center;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.blog-post-meta>*{flex-shrink:0}.blog-post-date,.blog-post-author{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-light);display:flex}.blog-post-date svg,.blog-post-author svg{color:var(--color-primary)}.blog-post-tag{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;background-color:var(--color-primary-faint);color:var(--color-primary-dark);border-radius:var(--radius-full);align-items:center;display:inline-flex}.blog-post-image{aspect-ratio:16/9;position:relative;overflow:hidden}.blog-post-image a{width:100%;height:100%;display:block}.blog-post-image img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.blog-post-item:hover .blog-post-image img{transform:scale(1.03)}.blog-post-excerpt{padding:var(--space-4) var(--space-6) 0}.blog-post-excerpt p{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:0}.blog-read-more{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6) var(--space-6);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-primary);transition:gap var(--transition-fast);display:inline-flex}.blog-read-more:hover{gap:var(--space-3)}.blog-read-more span{transition:transform var(--transition-fast)}.blog-read-more:hover span{transform:translate(4px)}.blog-sidebar{scrollbar-width:thin;align-self:start;max-height:calc(100vh - 120px);position:sticky;top:100px;overflow-y:auto}.blog-sidebar::-webkit-scrollbar{width:4px}.blog-sidebar::-webkit-scrollbar-track{background:0 0}.blog-sidebar::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.sidebar-widget{background-color:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm)}.sidebar-widget:last-child{margin-bottom:0}.widget-title{font-size:var(--text-lg);font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-light)}.sidebar-featured-link{border-radius:var(--radius-md);display:block;position:relative;overflow:hidden}.sidebar-featured-link img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;transition:transform var(--transition-slow)}.sidebar-featured-link:hover img{transform:scale(1.05)}.sidebar-featured-text{padding:var(--space-4);color:var(--color-white);font-size:var(--text-sm);font-weight:var(--font-medium);background:linear-gradient(#0000,#2c3e50e6);position:absolute;bottom:0;left:0;right:0}.sidebar-list{margin:0;padding:0;list-style:none}.sidebar-list li{border-bottom:1px solid var(--color-border-light)}.sidebar-list li:last-child{border-bottom:none}.sidebar-list a{padding:var(--space-3) 0;font-size:var(--text-sm);color:var(--color-text-secondary);transition:color var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.sidebar-list a:hover{color:var(--color-primary)}.sidebar-list .count{font-size:var(--text-xs);color:var(--color-text-light)}.tags-cloud{gap:var(--space-2);flex-wrap:wrap;display:flex}.tag{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-secondary);background-color:var(--color-bg-alt);border-radius:var(--radius-full);transition:all var(--transition-fast);align-items:center;display:inline-flex}.tag:hover{background-color:var(--color-primary);color:var(--color-white)}@media (width<=1024px){.blog-layout{gap:var(--space-8);grid-template-columns:1fr}.blog-sidebar{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid;position:static}.sidebar-widget{margin-bottom:0}}@media (width<=768px){.blog-header{padding-top:calc(var(--section-padding-y) + 60px)}.blog-post-header{padding:var(--space-4) var(--space-4) 0}.blog-post-title{font-size:var(--text-xl)}.blog-post-meta{align-items:flex-start;gap:var(--space-2);flex-direction:column}.blog-post-excerpt{padding:var(--space-3) var(--space-4) 0}.blog-read-more{padding:var(--space-3) var(--space-4) var(--space-4)}.blog-sidebar{grid-template-columns:1fr}}@media (width<=480px){.blog-post-title{font-size:var(--text-lg)}.sidebar-widget{padding:var(--space-4)}}.about-grid{gap:var(--space-12);grid-template-columns:1fr 1fr;align-items:center;display:grid}.about-content{max-width:540px}.about-content .section-label{margin-bottom:var(--space-4)}.about-content .section-title{margin-bottom:var(--space-6)}.about-text{font-size:var(--text-lg);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-8)}.about-text p{margin-bottom:var(--space-4)}.about-image{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.about-image img{width:100%;height:auto;transition:transform var(--transition-slow);display:block}.about-image:hover img{transform:scale(1.02)}@media (width<=768px){.about-grid{gap:var(--space-8);grid-template-columns:1fr}.about-content{order:2;max-width:100%}.about-image{order:1}.about-text{font-size:var(--text-base)}}.portfolio-grid{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.portfolio-item{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal), transform var(--transition-normal);position:relative;overflow:hidden}.portfolio-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.portfolio-item a{display:block;position:relative}.portfolio-item img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;transition:transform var(--transition-slow)}.portfolio-item:hover img{transform:scale(1.08)}.portfolio-overlay{padding:var(--space-6);opacity:0;transition:opacity var(--transition-normal);background:linear-gradient(#0000 0%,#2c3e5066 50%,#2c3e50e6 100%);flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.portfolio-item:hover .portfolio-overlay{opacity:1}.portfolio-overlay h3{font-size:var(--text-xl);font-family:var(--font-heading);color:var(--color-white);margin-bottom:var(--space-2);transition:transform var(--transition-normal) .1s;transform:translateY(20px)}.portfolio-item:hover .portfolio-overlay h3{transform:translateY(0)}.portfolio-category{font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary-light);transition:transform var(--transition-normal) .2s;transform:translateY(20px)}.portfolio-item:hover .portfolio-category{transform:translateY(0)}.portfolio-item.is-hidden{opacity:0;transition:opacity .3s,transform .3s;transform:scale(.9)}.portfolio-item.is-visible{opacity:1;transform:scale(1)}@media (width<=1024px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.portfolio-grid{gap:var(--space-4);grid-template-columns:1fr}}.blog-grid{gap:var(--space-8);grid-template-columns:repeat(3,1fr);display:grid}.blog-card{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal), transform var(--transition-normal);overflow:hidden}.blog-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.blog-card-image{aspect-ratio:16/10;position:relative;overflow:hidden}.blog-card-image img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.blog-card:hover .blog-card-image img{transform:scale(1.05)}.blog-card-content{padding:var(--space-6)}.blog-card-title{font-size:var(--text-lg);font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:var(--space-3);line-height:1.4}.blog-card-title a{color:inherit;transition:color var(--transition-fast)}.blog-card-title a:hover{color:var(--color-primary)}.blog-card-excerpt{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.blog-card-meta{padding-top:var(--space-4);border-top:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.blog-card-date{font-size:var(--text-xs);color:var(--color-text-light)}.blog-card-link{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-primary);align-items:center;gap:var(--space-1);transition:gap var(--transition-fast);display:flex}.blog-card-link:hover{gap:var(--space-2)}@media (width<=1024px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.blog-grid{grid-template-columns:1fr}}.contact-grid{gap:var(--space-12);grid-template-columns:1.2fr .8fr;align-items:start;display:grid}.contact-form-wrapper{background-color:var(--color-white);padding:var(--space-8);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.contact-info h3{font-size:var(--text-xl);font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:var(--space-6)}.contact-info-item{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.contact-info-item svg{width:24px;height:24px;color:var(--color-primary);margin-top:var(--space-1);flex-shrink:0}.contact-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);margin-bottom:var(--space-1);display:block}.contact-info-item a,.contact-info-item p{font-size:var(--text-base);color:var(--color-text-primary);text-decoration:none}.contact-info-item a:hover{color:var(--color-primary)}.contact-social{margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--color-border)}.contact-social .social-link{background-color:var(--color-primary);color:var(--color-white)}.contact-social .social-link:hover{background-color:var(--color-primary-dark);transform:translateY(-2px)}.contact-social h4{font-size:var(--text-lg);font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:var(--space-4)}.form-success{color:#155724;padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);margin-top:var(--space-6);background-color:#d4edda;border:1px solid #c3e6cb;display:none}@media (width<=1024px){.contact-grid{gap:var(--space-8);grid-template-columns:1fr}.contact-form-wrapper{order:2}.contact-info{text-align:center;order:1}.contact-info-item{justify-content:center}.contact-social{text-align:center}.social-links{justify-content:center}}@media (width<=640px){.contact-form-wrapper{padding:var(--space-6)}}.pt-0{padding-top:0}.pt-16{padding-top:var(--space-16)}.pt-20{padding-top:var(--space-20)}.pb-0{padding-bottom:0}.pb-16{padding-bottom:var(--space-16)}.pb-20{padding-bottom:var(--space-20)}.view-all-wrapper{text-align:center;margin-top:var(--space-12)}:root{--color-primary:#34747c;--color-primary-dark:#275a60;--color-text-light:#566979;--color-text-muted:#5a6c7d}.site-footer{--color-text-light:#acbcc7;--color-text-muted:#acbcc7}.skip-link:focus{clip:auto;z-index:10000;width:auto;height:auto;color:var(--color-text-primary);background:#fff;padding:1rem;position:fixed;top:1rem;left:1rem;overflow:visible}.mobile-nav:not(.is-open){visibility:hidden}.mobile-nav.is-open{visibility:visible}.contact-unavailable{margin-bottom:var(--space-4)}.contact-grid>*,.contact-info-item>div,.form-group{min-width:0}.contact-grid a{overflow-wrap:anywhere}@media (width<=640px){.footer-contact a{overflow-wrap:anywhere}}@media (width<=768px){.mobile-nav{top:70px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
