:root{--color-accent: #c47d53;--color-accent-hover: #a8643f;--color-warm: #e4c3b2;--color-bg: #fffdf9;--color-surface: #faf7f2;--color-text: #33322e;--color-border: #e0dbd3;--color-error: #c0392b;--color-success: #27ae60;--color-muted: #888}*{box-sizing:border-box}body{margin:0;font-family:Georgia,serif;background-color:var(--color-bg);color:var(--color-text)}header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:20px clamp(20px,5vw,80px);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);position:relative;z-index:2}header img{height:55px;width:190px;object-fit:cover}nav{display:flex;flex-wrap:wrap;gap:15px}.menu-toggle{display:none;font-size:24px;background:none;border:none;cursor:pointer;color:var(--color-text)}.nav-links{display:flex;flex-wrap:wrap;gap:15px}nav a{text-decoration:none;color:var(--color-text);font-weight:700;transition:color .3s;position:relative;top:0}nav a:hover{color:var(--color-accent)}.menu-toggle{margin-left:auto}h1,h2,h3{text-align:center;color:var(--color-accent)}p{text-align:center;max-width:700px;margin:20px auto;line-height:1.6}.intro{max-width:1000px;margin:40px auto;padding:0 20px}.intro-columns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:start}.intro-col p{max-width:none;text-align:left;margin:0 0 25px}.intro-col p:last-child{margin-bottom:0}.intro-headline h1,.intro-headline h2,.intro-headline h3{text-align:left;margin:0;line-height:1.3}.intro-headline h1{font-size:2rem}.intro-headline h2{font-size:1.5rem;margin-top:6px}.intro-headline h3{font-size:1.3rem;margin-top:10px}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin:40px auto;padding:0 20px;max-width:1000px}.portfolio-tile{position:relative;display:block;background-size:cover;background-position:center;aspect-ratio:4 / 3;text-decoration:none;border-radius:8px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.portfolio-tile:hover{transform:scale(1.02);box-shadow:0 8px 24px #0003}.portfolio-tile span{position:absolute;top:20px;left:0;right:0;text-align:center;color:#fff;font-weight:700;font-size:1.6rem;text-shadow:0 2px 5px rgba(0,0,0,.5)}.about-split{display:flex;flex-wrap:wrap;max-width:1000px;margin:60px auto;padding:0 20px;gap:40px;align-items:center}.about-img img{width:280px;height:auto;border-radius:8px;object-fit:cover;box-shadow:0 4px 10px #0000001a}.about-text{flex:1}.about-text h2{font-size:1.4rem;margin-bottom:10px}.about-text p{font-size:1rem;line-height:1.6}.about-split--top{align-items:flex-start}.about-text--left h2,.about-text--left p{text-align:left;max-width:none;margin:0 0 12px}.bio-section{max-width:700px;margin:0 auto 60px;padding:0 20px}.bio-section h2{text-align:left;margin-bottom:16px}.bio-section p{text-align:left;max-width:none;margin:0 0 16px}main>hr{border:none;border-top:1px solid var(--color-accent);max-width:800px;margin:60px auto}.bio-finale{font-size:1.15rem;color:var(--color-accent);margin-top:24px}.hero-carousel{position:relative;overflow:hidden;height:650px}.carousel-track{position:relative;width:100%;height:100%}.carousel-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top 30%;opacity:0;transition:opacity .8s ease}.carousel-slide.active{opacity:1}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:flex-end;text-align:center;padding:0 10px 60px;pointer-events:none;z-index:1}.hero-overlay h1{color:#fff;font-size:1.8rem;line-height:1.4;text-shadow:0 2px 6px rgba(0,0,0,.3)}.carousel-prev,.carousel-next{position:absolute;top:50%;transform:translateY(-50%);background:#0000004d;color:#fff;border:none;font-size:2rem;cursor:pointer;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .3s;z-index:2}.carousel-prev:hover,.carousel-next:hover{background:#0009}.carousel-prev{left:16px}.carousel-next{right:16px}.carousel-dots{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:2}.carousel-dot{width:12px;height:12px;border-radius:50%;border:2px solid white;background:transparent;cursor:pointer;padding:0;transition:background .3s}.carousel-dot.active{background:#fff}.feature-row{display:flex;max-width:1000px;margin:60px auto;padding:0 20px;gap:40px;align-items:center}.feature-text{flex:1}.feature-text h1,.feature-text h2{text-align:left;margin-bottom:24px}.feature-text p{text-align:left;max-width:none;margin:0 0 30px}.feature-text hr{border:none;border-top:1px solid var(--color-accent);margin:30px 0}.feature-list{list-style:none;padding:0;margin:0 0 30px}.feature-list li{position:relative;padding-left:24px;margin-bottom:12px;line-height:1.6}.feature-list li:before{content:"➜";position:absolute;left:0;color:var(--color-accent)}.feature-text .btn{display:block;width:100%;text-align:center}.feature-img{flex:1}.feature-img img{width:100%;height:auto;border-radius:8px;object-fit:cover}.testimonials-carousel{position:relative;overflow:hidden;height:650px}.testimonials-heading{text-align:center;font-size:1.4rem;margin:60px 0 20px}.testimonials-carousel .carousel-slide{background-size:cover;background-position:center}.testimonial-overlay{position:absolute;bottom:0;left:0;right:0;padding:40px 60px;background:linear-gradient(transparent,#000000b3);text-align:center}.testimonial-quote{font-style:normal;font-size:1.2rem;line-height:1.7;color:#fff;max-width:700px;margin:0 auto 12px;border:none;padding:0;text-shadow:0 1px 4px rgba(0,0,0,.4)}.testimonial-author{font-weight:700;color:var(--color-warm);font-size:1rem;margin:0;text-shadow:0 1px 4px rgba(0,0,0,.4)}.footer{padding:20px;text-align:center;background-color:var(--color-surface);border-top:1px solid var(--color-border)}.social-icons{display:flex;justify-content:center;gap:16px}.social-icons img{width:24px;height:24px;filter:grayscale(100%);transition:filter .3s,transform .3s}.social-icons img:hover{filter:none;transform:scale(1.1)}.copyright{font-size:.85rem;color:var(--color-muted);margin:12px 0 0}.faq{background-color:var(--color-accent);padding:60px 20px}.faq-heading{color:var(--color-bg);font-size:2rem;margin:0 0 8px}.faq-subheading{color:var(--color-bg);text-align:center;font-size:1.1rem;margin:0 0 40px;opacity:.85}.faq-list{max-width:900px;margin:20px auto 0}.faq-item{border-top:1px solid rgba(0,0,0,.2)}.faq-item:last-child{border-bottom:1px solid rgba(0,0,0,.2)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;padding:24px 0;cursor:pointer;font-family:Georgia,serif;font-size:1.3rem;color:var(--color-bg);text-align:left}.faq-question:hover{color:var(--color-warm)}.faq-chevron{font-size:1.8rem;transition:transform .3s;transform:rotate(-90deg);flex-shrink:0;margin-left:16px}.faq-question[aria-expanded=true] .faq-chevron{transform:rotate(90deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-answer p{color:var(--color-bg);text-align:left;max-width:none;margin:0 0 24px;font-size:1rem;line-height:1.7}.faq-answer .faq-steps{list-style:none;padding:0;margin:0 0 24px}.faq-answer .faq-steps li{position:relative;padding-left:24px;margin-bottom:12px;color:var(--color-bg);text-align:left;font-size:1rem;line-height:1.7}.faq-answer .faq-steps li:before{content:"➜";position:absolute;left:0;color:var(--color-bg)}.outro{position:relative;overflow:hidden;height:500px;margin-top:60px}.outro img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.outro-overlay{position:absolute;bottom:0;left:0;right:0;padding:40px 60px;background:linear-gradient(transparent,#000000b3);text-align:center}.outro-quote{font-style:italic;font-size:1.4rem;line-height:1.7;color:#fff;max-width:700px;margin:0 auto 12px;border:none;padding:0;text-shadow:0 1px 4px rgba(0,0,0,.4)}.outro-author{font-weight:700;color:var(--color-warm);font-size:1rem;margin:0;text-shadow:0 1px 4px rgba(0,0,0,.4)}@media(max-width:768px){header{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap;position:sticky;top:0;z-index:100}nav{justify-content:flex-start;margin-top:10px}.menu-toggle{display:block}.nav-links{display:none;flex-direction:column;gap:10px;width:100%;position:absolute;top:100%;left:0;right:0;background-color:var(--color-surface);z-index:1;padding:10px 20px 20px;text-align:center;align-items:center}.nav-links.active{display:flex}.nav-links.active a{font-size:1.2rem;padding:12px 0}.intro-columns{grid-template-columns:1fr}.portfolio-grid,.about-split{flex-direction:column;align-items:center}.about-img img{max-width:220px}.social-icons img{width:38px;height:38px}.feature-row{flex-direction:column}.feature-row .feature-img{order:-1}.hero-carousel{height:300px}.hero-overlay{padding-bottom:40px}.hero-overlay h1{font-size:1.2rem}.carousel-prev,.carousel-next{width:44px;height:44px;font-size:1.5rem}.carousel-prev{left:8px}.carousel-next{right:8px}.testimonials-carousel{height:350px}.testimonial-overlay{padding:24px 20px}.testimonial-quote{font-size:1rem}.faq{padding:40px 16px}.faq-heading{font-size:1.5rem}.faq-question{font-size:1.1rem;padding:20px 0}.outro{height:350px}.outro-overlay{padding:24px 20px}.outro-quote{font-size:1.1rem}.contact-page{padding:40px 20px}.contact-intro h1{text-align:center;font-size:1.5rem}.contact-intro p{text-align:center}.contact-photo img{max-width:280px}}.gallery-placeholder{max-width:600px;margin:60px auto;padding:40px 20px;text-align:center}.gallery-placeholder-icon{font-size:3rem;margin:0 0 16px}.gallery-placeholder h2{margin-bottom:16px}.gallery-placeholder p{margin-bottom:24px}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;padding:40px 20px;max-width:1000px;margin:0 auto}.gallery img{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;object-position:center;border-radius:8px;cursor:pointer;transition:transform .3s ease}.gallery img:hover{transform:scale(1.02)}.lightbox{position:fixed;display:none;z-index:1000;inset:0;background-color:#000000d9;justify-content:center;align-items:center;gap:20px}.lightbox button{background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:20px;user-select:none}.lightbox img{max-width:90%;max-height:90%;border-radius:4px;box-shadow:0 0 20px #0006}.contact-page{max-width:1000px;margin:0 auto;padding:60px 20px}.contact-layout{display:grid;grid-template-columns:1fr;gap:40px;align-items:start}.contact-intro h1{font-size:1.8rem;color:var(--color-accent);text-align:left;margin:0 0 24px;line-height:1.3}.contact-intro p{text-align:left;max-width:none;margin:0 0 12px}.contact-socials{display:flex;justify-content:center;gap:20px;margin:24px 0 32px}.contact-socials img{width:32px;height:32px;filter:grayscale(100%);transition:filter .3s,transform .3s}.contact-socials img:hover{filter:none;transform:scale(1.1)}.contact-photo{margin-top:48px}.contact-photo img{width:100%;max-width:380px;aspect-ratio:1 / 1;object-fit:cover;object-position:center 20%;border-radius:50%;display:block;margin:0 auto}.contact-form .form-group{margin-bottom:20px}.contact-form label{display:block;font-weight:700;margin-bottom:6px;font-size:.95rem}.contact-form .required{color:var(--color-accent);font-size:1rem;margin-left:2px}.contact-form input,.contact-form textarea{width:100%;padding:14px 16px;background-color:var(--color-surface);border:2px solid transparent;border-radius:10px;font-family:Georgia,serif;font-size:1rem;color:var(--color-text);transition:border-color .3s}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--color-accent)}.contact-form input[aria-invalid=true],.contact-form textarea[aria-invalid=true]{border-color:var(--color-error)}.form-hint{font-size:.85rem;color:var(--color-muted);text-align:left;max-width:none;margin:0 0 8px;line-height:1.5}.form-error{font-size:.85rem;color:var(--color-error);margin-top:4px}.btn-submit{width:100%;padding:16px;background-color:var(--color-accent);color:#fff;border:none;border-radius:10px;font-family:Georgia,serif;font-size:1.05rem;cursor:pointer;transition:background-color .3s;margin-top:8px}.btn-submit:hover{background-color:var(--color-accent-hover)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.form-status{text-align:center;margin-top:16px;font-size:.95rem}.form-status.success{color:var(--color-success)}.form-status.error{color:var(--color-error)}@media(min-width:900px){.contact-layout{grid-template-columns:1fr 1fr;gap:60px}}.btn{padding:12px 24px;background-color:var(--color-accent);color:#fff;border:none;border-radius:8px;font-size:1rem;text-align:center;text-decoration:none;cursor:pointer;transition:background-color .3s}.btn:hover{background-color:var(--color-accent-hover)}.page-header{padding:40px 20px 0;text-align:center}.page-header h1{margin:0 0 12px}.page-header p{margin:0 auto}.blog-list{max-width:800px;margin:40px auto;padding:0 20px;display:flex;flex-direction:column;gap:32px}.blog-card{border-radius:8px;overflow:hidden;background-color:var(--color-surface);box-shadow:0 2px 8px #0000000f;transition:box-shadow .3s}.blog-card:hover{box-shadow:0 4px 16px #0000001f}.blog-card img{width:100%;height:280px;object-fit:cover}.blog-card-content{padding:24px}.blog-card-content time{font-size:.85rem;color:var(--color-muted)}.blog-card-content h2{text-align:left;font-size:1.3rem;margin:8px 0 12px}.blog-card-content h2 a{text-decoration:none;color:var(--color-accent);transition:color .3s}.blog-card-content h2 a:hover{color:var(--color-accent-hover)}.blog-card-content p{text-align:left;max-width:none;margin:0;font-size:.95rem;color:var(--color-text)}.blog-post{max-width:750px;margin:0 auto;padding:40px 20px 80px}.blog-post-header{margin-bottom:40px}.blog-post-header h1{font-size:2rem;margin:0 0 12px}.blog-post-header time{font-size:.9rem;color:var(--color-muted);display:block;text-align:center}.blog-post-content h2{text-align:left;font-size:1.4rem;margin:40px 0 16px}.blog-post-content h3{text-align:left;font-size:1.2rem;margin:32px 0 12px}.blog-post-content p{text-align:left;max-width:none;margin:0 0 20px;line-height:1.8}.blog-post-content img{width:100%;height:auto;border-radius:8px;margin:24px 0}.blog-post-content .lightbox img{width:auto;height:auto;margin:0}.blog-post-content blockquote{border-left:3px solid var(--color-accent);margin:24px 0;padding:12px 24px;font-style:italic;color:var(--color-muted)}.blog-post-content blockquote p{margin:0}.blog-post-content ul,.blog-post-content ol{text-align:left;max-width:none;margin:0 0 20px;padding-left:24px;line-height:1.8}.blog-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:32px 0}.blog-gallery img{margin:0;aspect-ratio:4 / 3;object-fit:cover}@media(max-width:768px){.blog-card img{height:200px}.blog-post-header h1{font-size:1.5rem}.blog-gallery{grid-template-columns:1fr}}
