:root{
  --cream:#fcf7f1;--paper:#fffdf9;--espresso:#4b3025;--espresso2:#6b4638;
  --rose:#c87059;--rose-deep:#aa5945;--blush:#f1ddd5;--blush2:#f8ebe6;
  --sage:#6f775d;--olive:#40513e;--ink:#2d2927;--muted:#746b66;
  --line:rgba(75,48,37,.13);--shadow:0 20px 55px rgba(75,48,37,.12);
  --radius:28px;--max:1160px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{border:0}.container{width:min(calc(100% - 40px),var(--max));margin:auto}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--espresso);margin:0 0 .6em;line-height:1.06;font-weight:500}h1{font-size:clamp(3.1rem,7vw,6.8rem);letter-spacing:-.045em}h2{font-size:clamp(2.25rem,4.4vw,4.25rem);letter-spacing:-.035em}h3{font-size:1.62rem}.lead{font-size:clamp(1.05rem,1.7vw,1.3rem);max-width:710px}.muted,p{color:var(--muted)}p{margin:0 0 1.1em}.eyebrow{font-size:.74rem;text-transform:uppercase;letter-spacing:.19em;font-weight:900;color:var(--rose-deep)}.script{font-family:"Brush Script MT","Segoe Script",cursive;color:var(--rose);font-weight:400}.small{font-size:.9rem}.nav-wrap{position:sticky;top:0;z-index:50;background:rgba(252,247,241,.9);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}nav{min-height:76px;display:flex;align-items:center;gap:28px}.brand{font-family:Georgia,serif;color:var(--espresso);font-size:1.34rem;font-weight:700;white-space:nowrap}.brand em{font-family:"Brush Script MT",cursive;font-style:normal;color:var(--rose);font-size:1.22em;font-weight:400}.nav-links{margin-left:auto;display:flex;align-items:center;gap:23px;font-size:.93rem;font-weight:800;color:var(--espresso2)}.menu-button{display:none;background:transparent;color:var(--espresso);font-size:1.65rem;padding:5px 8px}.mobile-menu{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 21px;border-radius:999px;background:var(--rose);color:#fff;font-weight:900;box-shadow:0 12px 30px rgba(200,112,89,.22);cursor:pointer;transition:transform .18s ease,background .18s ease}.btn:hover{background:var(--rose-deep);transform:translateY(-2px)}.btn.secondary{background:transparent;color:var(--espresso);border:1px solid rgba(75,48,37,.25);box-shadow:none}.btn.secondary:hover{background:#fff}.btn.light{background:#fff;color:var(--espresso);box-shadow:none}.nav-cta{min-height:42px;padding:0 16px;font-size:.88rem}.hero{padding:55px 0 78px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}.hero-copy .eyebrow{margin-bottom:17px}.hero-copy .lead{max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.trust-row{display:flex;gap:20px;flex-wrap:wrap;margin-top:31px;color:var(--muted);font-size:.88rem;font-weight:700}.trust-row span:before{content:"✦";color:var(--rose);margin-right:7px}.logo-card{background:var(--paper);padding:15px;border-radius:40px;border:1px solid var(--line);box-shadow:var(--shadow);position:relative}.logo-card img{display:block;width:100%;height:auto!important;max-width:100%;aspect-ratio:auto!important;object-fit:contain;border-radius:29px}.logo-card:after{content:"";position:absolute;width:155px;height:155px;border-radius:50%;background:var(--blush);right:-44px;bottom:-45px;z-index:-1}.section{padding:88px 0}.section.soft{background:var(--blush2)}.section-head{display:flex;gap:50px;justify-content:space-between;align-items:end;margin-bottom:38px}.section-head>p{max-width:560px}.growth{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.growth article{background:var(--paper);padding:29px;min-height:218px}.step-num{font-family:Georgia,serif;color:var(--rose);font-size:3rem;line-height:1;margin-bottom:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:27px;box-shadow:0 13px 34px rgba(75,48,37,.07)}.service-card{min-height:306px;display:flex;flex-direction:column}.service-card .btn{margin-top:auto;align-self:flex-start}.icon{font-size:1.9rem;margin-bottom:15px}.story-band{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center}.story-image{aspect-ratio:4/5;border-radius:36px;overflow:hidden;box-shadow:var(--shadow);background:#ddd}.story-image img{width:100%;height:100%;object-fit:cover}.camera-feature{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.camera-photo{border-radius:34px;overflow:hidden;min-height:600px;box-shadow:var(--shadow)}.camera-photo img{width:100%;height:100%;object-fit:cover}.camera-points{display:grid;gap:14px;margin:24px 0}.camera-points div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px}.quote{font-family:Georgia,serif;font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.25;color:var(--espresso);border-left:3px solid var(--rose);padding-left:24px;margin:24px 0}.note-card{background:#fff;border-radius:22px;padding:21px;border:1px solid var(--line);box-shadow:0 10px 30px rgba(75,48,37,.07)}.kicker{display:inline-flex;padding:7px 11px;border-radius:999px;background:var(--blush);color:var(--rose-deep);font-size:.73rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;margin-bottom:14px}.package{position:relative}.package.featured{border-color:rgba(200,112,89,.58);transform:translateY(-9px);box-shadow:0 22px 45px rgba(75,48,37,.12)}.package .price{font-family:Georgia,serif;color:var(--espresso);font-size:2.25rem;line-height:1;margin:10px 0 7px}.package .price small{font-family:Inter,sans-serif;font-size:.82rem;color:var(--muted)}.package ul{padding-left:18px;color:var(--muted);margin:18px 0 26px}.package li{margin:8px 0}.mini-pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.mini-price{padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff}.mini-price b{display:block;color:var(--espresso);font-size:1.02rem}.mini-price strong{display:block;margin-top:8px;color:var(--rose-deep);font-size:1.35rem}.web-card{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;background:linear-gradient(135deg,var(--espresso),#704838);padding:42px;border-radius:36px;color:#fff}.web-card h2,.web-card p{color:#fff}.web-card .price-tag{display:inline-block;background:rgba(255,255,255,.13);padding:8px 13px;border-radius:999px;color:#fff;font-weight:900;margin-bottom:13px}.ai-box{display:grid;grid-template-columns:.9fr 1.1fr;gap:45px;align-items:center}.ai-list{display:grid;gap:12px}.ai-list div{padding:18px 19px;border-radius:18px;background:#fff;border:1px solid var(--line)}.contact-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}.contact-panel{background:var(--espresso);color:#fff;border-radius:34px;padding:36px;position:sticky;top:105px}.contact-panel h2,.contact-panel p{color:#fff}.contact-form{background:var(--paper);border:1px solid var(--line);border-radius:34px;padding:32px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-size:.84rem;font-weight:900;color:var(--espresso)}input,select,textarea{width:100%;border:1px solid rgba(75,48,37,.18);border-radius:14px;padding:13px 14px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(200,112,89,.12)}textarea{min-height:125px;resize:vertical}.form-status{font-size:.88rem;color:var(--rose-deep);margin-top:10px;min-height:1.3em}.about-hero{padding:58px 0 78px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}.about-photo{border-radius:40px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/5}.about-photo img{width:100%;height:100%;object-fit:cover}.timeline{display:grid;gap:13px;max-width:850px;margin:auto}.timeline-item{display:grid;grid-template-columns:145px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.timeline-item strong{color:var(--rose-deep);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.value{padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff}.value b{display:block;color:var(--espresso);margin:8px 0}.heart-photo{border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}.heart-photo img{width:100%;height:auto}.footer{padding:38px 0 110px;border-top:1px solid var(--line)}.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:28px}.footer-links{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.mobile-bar{display:none}.wa-float{position:fixed;right:20px;bottom:20px;z-index:45;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#2e7d61;color:#fff;font-size:1.5rem;box-shadow:0 12px 34px rgba(0,0,0,.2)}
@media(max-width:950px){.nav-links a:not(.nav-cta){display:none}.hero-grid,.story-band,.about-grid,.contact-shell,.camera-feature,.ai-box{grid-template-columns:1fr}.grid-4,.values{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr}.growth{grid-template-columns:1fr 1fr}.package.featured{transform:none}.web-card{grid-template-columns:1fr}.contact-panel{position:static}.camera-photo{min-height:520px}.section-head{display:block}.section-head>p{margin-top:14px}.mini-pricing{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:650px){.container{width:min(calc(100% - 24px),var(--max))}.nav-links{display:none}.menu-button{display:block;margin-left:auto}.mobile-menu{display:none;padding:0 12px 15px}.mobile-menu.open{display:grid;gap:6px}.mobile-menu a{padding:12px;border-radius:14px;font-weight:800}.mobile-menu a:hover{background:#fff}.hero{padding:34px 0 55px}h1{font-size:3.5rem}h2{font-size:2.55rem}.section{padding:62px 0}.logo-card{border-radius:28px;padding:9px}.logo-card img{height:auto!important;aspect-ratio:auto!important;object-fit:contain;border-radius:21px}.grid-4,.values,.growth,.mini-pricing{grid-template-columns:1fr}.growth article{min-height:auto}.service-card{min-height:auto}.camera-photo{min-height:0;aspect-ratio:4/5}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.contact-form,.contact-panel,.web-card{padding:23px;border-radius:25px}.footer-grid{display:block}.footer-links{margin-top:14px}.timeline-item{grid-template-columns:1fr;gap:5px}.wa-float{display:none}.footer{padding-bottom:105px}.mobile-bar{position:fixed;display:grid;grid-template-columns:.9fr 1.1fr;gap:8px;left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(252,247,241,.95);backdrop-filter:blur(13px);border-top:1px solid var(--line);z-index:50}.mobile-bar .btn{min-height:47px;padding:0 12px;font-size:.9rem}}

/* SEO / service architecture */
.breadcrumb{width:min(calc(100% - 40px),var(--max));margin:22px auto 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}.breadcrumb a{font-weight:800;color:var(--espresso2)}.seo-hero{padding:58px 0 76px;background:linear-gradient(180deg,var(--cream),var(--blush2))}.seo-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:46px;align-items:center}.seo-side-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:16px;box-shadow:var(--shadow)}.seo-side-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px}.seo-side-card>div{padding:17px 10px 5px}.seo-side-card b{font-family:Georgia,serif;color:var(--espresso);font-size:1.35rem}.seo-copy{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.feature-list{display:grid;gap:10px}.feature{display:grid;grid-template-columns:24px 1fr;gap:10px;padding:15px 17px;background:#fff;border:1px solid var(--line);border-radius:17px}.feature span{color:var(--rose);font-weight:900}.feature p{margin:0;color:var(--ink)}.keyword-cloud{display:flex;flex-wrap:wrap;gap:9px}.keyword-cloud span{display:inline-flex;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.86rem;font-weight:800;color:var(--espresso2)}.keyword-cloud.subtle span{background:var(--cream);font-weight:700}.bilingual-note{margin-top:30px;padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff}.bilingual-note>b{font-family:Georgia,serif;color:var(--espresso);font-size:1.35rem}.bilingual-note a{display:inline-block;margin-top:18px;color:var(--rose-deep);font-weight:900}.faq{display:grid;gap:11px;max-width:900px}.faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 18px}.faq summary{cursor:pointer;padding:18px 0;font-weight:900;color:var(--espresso)}.faq details p{padding:0 0 18px;margin:0}.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.related-links a{padding:18px;border-radius:18px;background:#fff;border:1px solid var(--line);font-weight:900;color:var(--espresso2)}.service-showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.area-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 13px 34px rgba(75,48,37,.07)}.area-card ul{color:var(--muted);padding-left:19px}.location-groups{display:grid;grid-template-columns:1fr 1fr;gap:18px}.location-groups article{padding:28px;background:#fff;border:1px solid var(--line);border-radius:24px}.location-groups h2{font-size:2rem}.lang-switch{font-size:.82rem;font-weight:900;color:var(--rose-deep)}
@media(max-width:950px){.seo-hero-grid,.seo-copy{grid-template-columns:1fr}.service-showcase,.related-links{grid-template-columns:1fr 1fr}.location-groups{grid-template-columns:1fr}}
@media(max-width:650px){.breadcrumb{width:min(calc(100% - 24px),var(--max));margin-top:14px}.seo-hero{padding:38px 0 56px}.service-showcase,.related-links{grid-template-columns:1fr}.seo-side-card img{aspect-ratio:4/3}.keyword-cloud span{font-size:.8rem;padding:8px 11px}}
