*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;font-size:16px}body{color:#1f2937;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(to bottom right,#faf7f2,#fff,#fef3c7);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;overflow-x:hidden}:root{--color-stone-50:#fafaf9;--color-stone-100:#f5f5f4;--color-stone-200:#e7e5e4;--color-stone-300:#d6d3d1;--color-stone-600:#78716c;--color-stone-800:#292524;--color-stone-900:#1c1917;--color-amber-50:#fffbeb;--color-gray-50:#f9fafb;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-pink-600:#db2777;--color-green-500:#10b981;--color-white:#fff;--color-black:#000;--color-border:#e5e7eb}h1,h2,h3,h4,h5,h6{margin-bottom:1rem;font-weight:700;line-height:1.2}h1{font-size:clamp(1.75rem,4vw + 1rem,4rem)}h2{font-size:clamp(1.5rem,3vw + .8rem,3.5rem)}h3{font-size:clamp(1.25rem,2.5vw + .6rem,2.5rem)}h4{font-size:clamp(1.125rem,2vw + .5rem,2rem)}p{margin-bottom:1rem;font-size:clamp(.875rem,1.5vw + .4rem,1.125rem);line-height:1.6}.container{width:100%;max-width:80rem;margin:0 auto;padding-left:clamp(1rem,3vw,2rem);padding-right:clamp(1rem,3vw,2rem)}header{z-index:50;-webkit-backdrop-filter:blur(12px);background:#fffffff2;border-bottom:1px solid #e7e5e4;width:100%;position:sticky;top:0;box-shadow:0 1px 3px #0000001a}header .header-content{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(1rem,3vw,2rem);max-width:80rem;margin:0 auto;padding:clamp(.75rem,2vw,1.5rem);display:flex}nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(1rem,2vw,2rem);display:flex}nav a{color:#4b5563;white-space:nowrap;font-size:clamp(.875rem,1.5vw,1rem);font-weight:500;text-decoration:none;transition:color .3s}nav a:hover{color:#292524}.hero{text-align:center;background-color:#f8f9fa;background-image:url(/sofoto-hero-final.jpeg);background-position:50%;background-repeat:no-repeat;background-size:contain;justify-content:center;align-items:center;width:100%;min-height:50vh;padding:clamp(2rem,5vw,5rem) clamp(1rem,3vw,2rem);display:flex;position:relative}.hero:before{content:"";background:#0000000d;position:absolute;inset:0}section{width:100%;padding:clamp(2rem,5vw,5rem) clamp(1rem,3vw,2rem)}section.white-bg{background:#fff}.grid{gap:clamp(1rem,2vw,2rem);width:100%;display:grid}.grid-1{grid-template-columns:1fr}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;width:100%;max-width:100%;padding:clamp(1rem,3vw,2rem);transition:box-shadow .3s;box-shadow:0 10px 15px -3px #0000001a}.card:hover{box-shadow:0 20px 25px -5px #0000001a}.card-header{margin-bottom:1rem}.card-title{margin-bottom:1rem;font-size:clamp(1.25rem,3vw,2rem);font-weight:700}.card-description{color:var(--color-gray-600);margin-bottom:1rem}.card-content{list-style:none}.card-content li{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}button{cursor:pointer;white-space:nowrap;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:clamp(.5rem,1.5vw,.75rem) clamp(.75rem,2vw,1.5rem);font-family:inherit;font-size:clamp(.75rem,1.5vw,.875rem);transition:all .3s;display:inline-flex}.btn-primary{color:#fff;background:#292524}.btn-primary:hover{background:#1c1917}.btn-outline{color:#292524;background:#fff;border:1px solid #292524}.btn-outline:hover{background:#fafaf9}.btn-small{padding:.375rem .75rem;font-size:.75rem}.btn-icon{justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;display:flex}input,textarea,select{border:1px solid #d1d5db;border-radius:.375rem;width:100%;padding:clamp(.5rem,2vw,.75rem);font-family:inherit;font-size:clamp(.875rem,1.5vw,1rem);transition:border-color .3s}input:focus,textarea:focus,select:focus{border-color:#292524;outline:none}input:disabled,textarea:disabled{opacity:.5;cursor:not-allowed;background:#f3f4f6}textarea{resize:vertical;min-height:100px}img{-ms-interpolation-mode:bicubic;max-width:100%;height:auto;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(2.5rem)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:1s ease-out forwards fadeIn}.group:hover .group-hover\:scale-up{transition:transform .3s;transform:scale(1.05)}.group:hover .group-hover\:dark-overlay{background:#0003}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-stone-800{color:var(--color-stone-800)}.bg-white{background:var(--color-white)}.rounded-2xl{border-radius:1rem}.rounded-lg{border-radius:.5rem}.shadow-2xl{box-shadow:0 25px 50px -12px #00000040}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a}.opacity-50{opacity:.5}.pointer-events-none{pointer-events:none}.mb-4{margin-bottom:clamp(.75rem,2vw,1rem)}.mb-6{margin-bottom:clamp(1rem,2.5vw,1.5rem)}.mb-8{margin-bottom:clamp(1.5rem,3vw,2rem)}.mb-16{margin-bottom:clamp(2rem,5vw,4rem)}.mt-1{margin-top:.25rem}.mt-4{margin-top:clamp(.75rem,2vw,1rem)}.mt-8{margin-top:clamp(1.5rem,3vw,2rem)}.space-x-3>*+*{margin-left:.75rem}.space-x-6>*+*{margin-left:1.5rem}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.leading-relaxed{line-height:1.75}.italic{font-style:italic}.transition-all{transition:all .3s}.transition-colors{transition:color .3s,background-color .3s}.transition-shadow{transition:box-shadow .3s}.transition-transform{transition:transform .3s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@media (max-width:639px){header .header-content{flex-direction:column;gap:1rem}nav{justify-content:center;width:100%}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr))}}@media (min-width:640px) and (max-width:1023px){.grid-4{grid-template-columns:repeat(auto-fit,minmax(min(48%,200px),1fr))}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(min(48%,200px),1fr))}}@media (min-width:640px){.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\:text-base{font-size:1rem}.sm\:text-lg{font-size:1.125rem}.sm\:space-x-4>*+*{margin-left:1rem}.sm\:gap-4{gap:1rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:text-lg{font-size:1.125rem}.md\:text-xl{font-size:1.25rem}.md\:text-2xl{font-size:1.5rem}.md\:text-3xl{font-size:1.875rem}.md\:gap-8{gap:2rem}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.container,.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:text-lg{font-size:1.125rem}.lg\:text-xl{font-size:1.25rem}.lg\:text-2xl{font-size:1.5rem}.lg\:text-3xl{font-size:1.875rem}.lg\:text-4xl{font-size:2.25rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:gap-12{gap:3rem}}.dialog-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:clamp(1rem,3vw,2rem);display:flex;position:fixed;inset:0}.dialog-content{background:#fff;border-radius:.5rem;width:100%;max-width:min(90vw,500px);max-height:90vh;padding:clamp(1.5rem,4vw,2rem);overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:clamp(.5rem,1.5vw,1rem);width:100%;display:grid}.gap-2{gap:clamp(.5rem,1vw,.5rem)}.gap-4{gap:clamp(.75rem,2vw,1rem)}.gap-6{gap:clamp(1rem,2.5vw,1.5rem)}.gap-8{gap:clamp(1.5rem,3vw,2rem)}.w-full{width:100%}.max-w-full{max-width:100%}@media print{header{position:relative}.no-print{display:none}}@media (prefers-contrast:high){button,input,textarea,select{border:2px solid}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
