:root{--bg:#fbf4dd;--surface:#fff;--ink:#111;--muted:#5b5b5b;--line:#ece4c9;--brand:#b6753c;--brand-dark:#8a5526;--accent:#2b3a2e;--papa-red:#ff5000;--papa-yellow:#fdd702;--papa-green:#20402a;--shadow:0 10px 30px #14141414;--radius:14px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Helvetica Neue,Helvetica,Arial,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6;overflow-x:hidden}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg)}a{color:var(--brand-dark);cursor:pointer;text-decoration:none}a:hover{color:var(--brand)}img{max-width:100%;display:block}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .5em;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;line-height:1.15}h1{font-size:clamp(2.4rem,5vw,4rem)}h2{font-size:clamp(1.8rem,3vw,2.4rem)}h3{font-size:1.2rem}p{color:var(--muted);margin:0 0 1em}.container{width:100%;max-width:1600px;margin:0 auto;padding:0 2.5rem}@media (width<=720px){.container{padding:0 1.25rem}}.btn{letter-spacing:.01em;cursor:pointer;font-weight:600;font:inherit;border:1px solid #0000;border-radius:999px;padding:.85rem 1.4rem;transition:transform .15s,background .2s,color .2s;display:inline-block}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark);color:#fff;transform:translateY(-1px)}.btn-outline{color:#111;background:#fdd702;border-color:#111}.btn-outline:hover{color:#fff;background:#111;transform:translateY(-1px)}.hero-cta{flex-direction:column;align-items:stretch;gap:.75rem;display:flex}.hero-cta .btn-primary{background:#ff5000}.hero-cta .btn-primary:hover{background:#e64800}.hero-cta .btn{text-align:center;letter-spacing:-.01em;text-transform:uppercase;border:none;width:100%;padding:1.25rem 1.4rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.05rem;font-weight:900;font-stretch:75%;line-height:100%}.btn-ghost{color:#fff;background:0 0;border-color:#fff9}.btn-ghost:hover{color:#fff;background:#ffffff1f}.btn-phone{background:var(--papa-yellow);color:#111;letter-spacing:.02em;padding:.75rem 1.4rem;font-weight:700}.btn-phone:hover{color:#111;background:#ecc91b;transform:translateY(-1px)}.lang-switch{background:#fc7e45;border-radius:999px;align-items:center;gap:0;padding:3px;display:inline-flex;position:relative}.lang-thumb{background:var(--papa-red);pointer-events:none;z-index:0;border-radius:50%;width:42px;height:42px;transition:transform .25s;position:absolute;top:3px;left:3px}.lang-en .lang-thumb{transform:translate(42px)}.lang-option{z-index:1;appearance:none;color:#fff;letter-spacing:.03em;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;padding:0;font-family:Helvetica Neue,Roboto Condensed,Helvetica,Arial,sans-serif;font-size:.85rem;font-weight:900;font-stretch:75%;line-height:1;transition:color .2s;display:inline-flex;position:relative}.lang-option.is-active,.lang-option:hover:not(.is-active){color:#fff}.btn-whatsapp{background:var(--papa-red);color:#fff;-webkit-text-stroke:.5px currentColor;letter-spacing:.06em;text-transform:uppercase;justify-content:center;align-items:center;gap:.7rem;padding:1rem 1.8rem;font-family:Helvetica Neue,Roboto Condensed,Helvetica,PingFang TC,Microsoft JhengHei,Hiragino Sans TC,Noto Sans TC,Arial,sans-serif;font-size:1.05rem;font-weight:900;font-stretch:75%;display:inline-flex}.btn-whatsapp:hover{color:#fff;background:#d23612;transform:translateY(-1px)}.wa-icon{place-items:center;width:28px;height:28px;display:inline-grid}.wa-icon img{object-fit:contain;width:100%;height:100%;display:block}section{padding:5rem 0}.hero+.image-carousel{border-top:none}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--brand-dark);margin-bottom:.75rem;font-size:.78rem;font-weight:600;display:inline-block}.hero{background:var(--bg);color:var(--ink);border-bottom:none;padding:2.5rem 0 2.75rem}.hero-grid{grid-template-columns:1.55fr 1fr;align-items:stretch;gap:3rem;display:grid}.hero-headline h1{color:#111;letter-spacing:0;vertical-align:middle;text-transform:uppercase;margin:0;font-family:Quinn,Anton,PingFang TC,Microsoft JhengHei,Hiragino Sans TC,Noto Sans TC,Archivo Black,Impact,sans-serif;font-size:95px;font-style:normal;font-weight:900;line-height:120px}.hero-headline.is-zh h1{-webkit-text-stroke:.5px currentColor;text-stroke:.5px currentColor;letter-spacing:-.02em;font-size:80px;line-height:105px}@supports (background:-webkit-named-image(i)) and (not (-webkit-touch-callout:none)){:lang(en) .hero-headline h1{-webkit-font-smoothing:antialiased;font-weight:400}}.hero-content{border-top:1px solid #111;flex-direction:column;justify-content:space-between;gap:1.5rem;height:100%;padding-top:1.5rem;padding-bottom:.5rem;display:flex}.hero-content p{color:#2a2a2a;max-width:none;margin:0;font-size:1.25rem;line-height:1.55}.hero-content .btn-whatsapp{align-self:flex-start}.hero-cta .wa-icon{width:1.1em;height:1.1em}@media (width<=900px){.hero-grid{grid-template-columns:1fr;align-items:start;gap:.75rem}.hero-content{border-top:none;padding-top:0}}@media (width<=720px){.hero-headline h1{font-size:10vw;line-height:1.1}.hero-headline.is-zh h1{font-size:clamp(2.4rem,11vw,4.5rem);line-height:1.1}.hero-headline h1 span:last-child{border-bottom:1px solid #111;padding-bottom:1.2rem;display:block}.hero-content p{font-size:1rem}.locale-switch-wrapper{display:none}.hero{padding-bottom:1rem}}.categories{background:#fff;padding:4rem 0}.image-carousel+.categories,.categories+section{border-top:none}.category-grid{margin:0;grid-template-columns:repeat(4,1fr);justify-content:center;align-items:start;gap:1.25rem;max-width:900px;margin-inline:auto;padding:0;list-style:none;display:grid}.category-item{text-align:center;flex-direction:column;align-items:center;gap:.9rem;display:flex}.category-icon{background:#fff;border:3.5px solid #111;border-radius:0;place-items:center;width:110px;height:110px;padding:18px;display:grid}.category-icon img{object-fit:contain;image-orientation:none;width:100%;height:100%;display:block}.category-label{letter-spacing:-.03em;text-align:center;text-transform:uppercase;color:#111;flex-direction:column;font-family:Big Shoulders Display,Helvetica Neue,Roboto Condensed,Helvetica,Arial,sans-serif;font-size:25px;font-style:normal;font-weight:900;line-height:26px;display:flex}@media (width<=900px){.category-grid{grid-template-columns:repeat(3,1fr);gap:1.75rem 1rem}}@media (width<=480px){.category-grid{grid-template-columns:repeat(2,1fr)}}.portfolio{background:#fff;padding:0 0 4rem;position:relative;overflow:hidden}.portfolio-shape{pointer-events:none;width:100%;height:360px;display:block;position:absolute;top:-1px;left:0}.portfolio-mascot{z-index:3;pointer-events:none;width:clamp(140px,14vw,220px);height:auto;position:absolute;top:40px;right:0}@media (width<=720px){.portfolio-mascot{width:130px;top:0}}.portfolio-inner{z-index:2;padding-top:9rem;position:relative}.portfolio-head{margin-bottom:2rem;padding-left:3rem}.portfolio-title{letter-spacing:-.01em;color:#111;margin:0;font-family:Anton,PingFang TC,Microsoft JhengHei,Hiragino Sans TC,Noto Sans TC,Archivo Black,Impact,sans-serif;font-size:clamp(3rem,8vw,6rem);font-weight:900;line-height:.95}.portfolio-subtitle{color:#444;white-space:pre-line;margin:1rem 0 0;font-size:.95rem;line-height:1.25}.portfolio-track{scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;gap:1.25rem;margin:0 calc(50% - 50vw) 2rem;padding:0;display:flex;overflow-x:auto}.portfolio-track::-webkit-scrollbar{display:none}.portfolio-card{aspect-ratio:4/3;scroll-snap-align:center;background:#222;border-radius:18px;flex:0 0 30%;position:relative;overflow:hidden}.portfolio-card img{object-fit:cover;width:100%;height:100%;display:block}.portfolio-card:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#0000008c);position:absolute;inset:0}.portfolio-card-title{z-index:2;color:#fff;letter-spacing:-.02em;text-transform:uppercase;margin:0;font-family:Helvetica Neue,Roboto Condensed,Helvetica,Arial,sans-serif;font-size:22px;font-weight:900;font-stretch:75%;position:absolute;bottom:1.1rem;left:1.25rem}.portfolio-controls{justify-content:center;align-items:center;gap:1rem;display:flex}.portfolio-nav{gap:.75rem;display:flex}.portfolio-arrow{background:var(--papa-yellow);color:#111;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:background .2s,transform .2s;display:inline-flex}.portfolio-arrow:hover{background:#e64800;transform:translateY(-1px)}.portfolio-arrow svg{width:22px;height:22px}.btn-view-all{background:var(--papa-red);color:#fff;letter-spacing:.02em;text-transform:uppercase;border:none;border-radius:999px;justify-content:center;align-items:center;margin-bottom:1.5rem;margin-left:3rem;padding:.95rem 1.75rem;font-family:Helvetica Neue,Roboto Condensed,Helvetica,Arial,sans-serif;font-weight:900;font-stretch:75%;text-decoration:none;display:inline-flex}.btn-view-all:hover{background:#c8371a}@media (width<=720px){.portfolio-head{padding-left:.8rem}.btn-view-all{margin-left:.8rem}}@media (width<=900px){.portfolio-card{flex:0 0 80%}}.testimonials{background:#fff;padding:1rem 0;overflow:hidden}.testimonials-head{margin-bottom:1.5rem;padding:0;position:relative}.testimonials-title{letter-spacing:-.02em;color:var(--papa-red);text-transform:uppercase;white-space:nowrap;justify-content:space-between;align-items:center;gap:1rem;margin:0;padding-left:1rem;font-family:Anton,PingFang TC,Microsoft JhengHei,Hiragino Sans TC,Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(4rem,14vw,11rem);font-weight:900;line-height:.85;display:flex}.testimonials-thumb{width:auto;height:.85em;margin-left:-.4em;margin-right:0;display:block}@media (width<=720px){.testimonials-thumb{margin-left:-1.2em}.testimonials-title.is-zh .testimonials-thumb{position:relative;top:.35em}}.testimonials-subtitle{color:#111;white-space:pre-line;margin:.8rem 1rem 2.5rem;padding-left:1rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.95rem}.testimonials-subtitle.is-zh{margin-top:2rem}.testimonials-row{margin-bottom:0;padding:0;position:relative;overflow:hidden}.testimonials-row-2{margin-bottom:0;transform:none}.testimonials-track{will-change:transform;backface-visibility:hidden;gap:1.25rem;width:max-content;padding:3.5rem .625rem 1.5rem;display:flex;transform:translate(0,0)}.testimonial-card{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#fff;border:2px solid #111;border-radius:40px;flex:0 0 280px;width:280px;min-width:280px;max-width:280px;padding:3.25rem 1.25rem 3rem;position:relative}.testimonial-card img{-webkit-user-drag:none;user-drag:none;pointer-events:none}.testimonial-google-badge{pointer-events:none;width:36px;height:auto;position:absolute;bottom:1rem;right:1.1rem}.testimonial-stars{color:#f5a623;letter-spacing:2px;margin:0;font-size:1rem;position:absolute;bottom:1rem;left:1.25rem}.testimonial-avatar{background:#ccc;border:3px solid #fff;border-radius:50%;width:76px;height:76px;display:block;position:absolute;top:-38px;left:1.1rem}.testimonial-quote{color:#111;margin:0 0 .9rem;font-size:.95rem;font-weight:700;line-height:1.35}.testimonial-name{letter-spacing:.01em;color:#111;margin:0;font-family:Helvetica Neue,Roboto Condensed,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:900;font-stretch:75%}.testimonial-role{color:#555;margin:.1rem 0 0;font-size:.72rem}.offers{background:#fff;padding:0 0 5rem;position:relative;overflow:visible}.offers-mascot{z-index:2;pointer-events:none;width:clamp(160px,16vw,250px);height:auto;position:absolute;bottom:-3rem;left:2rem}.offers-title{letter-spacing:-.01em;color:#111;text-align:center;margin:0 0 2rem;font-family:Anton,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(3rem,8vw,6rem);font-weight:400;line-height:.95}.offers-title.is-zh{-webkit-text-stroke:1px currentColor;text-stroke:1px currentColor}.offer-card{background:#fff;border:1.5px solid #111;border-radius:22px;grid-template-columns:1fr 1fr;align-items:stretch;gap:1.5rem;max-width:900px;min-height:400px;margin:0 auto 1.5rem;padding:2rem;display:grid;position:relative;overflow:hidden}.offer-card--clickable{cursor:pointer;transition:transform .18s,box-shadow .18s}.offer-card--clickable:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.offer-text{flex-direction:column;justify-content:center;display:flex}.offer-card-title{letter-spacing:-.04em;text-transform:uppercase;color:#111;margin:0 0 1rem;font-family:Helvetica Neue,Roboto Condensed,Helvetica,Arial,sans-serif;font-size:30px;font-weight:900;font-stretch:75%;line-height:31px}.offer-text p{color:#2a2a2a;margin:0 0 .85rem;font-size:.92rem;line-height:1.45}.offer-text p:last-child{margin-bottom:0}.offer-visual{justify-content:flex-end;align-items:flex-end;width:50%;display:flex;position:absolute;bottom:0;right:0}.offer-visual img{object-fit:contain;object-position:bottom right;width:100%;height:auto;display:block}@media (width<=800px){.offer-text{justify-content:flex-start}.offer-card{grid-template-columns:1fr}}.services-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-top:2.5rem;display:grid}.service-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem;transition:transform .2s,box-shadow .2s}.service-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.service-icon{width:44px;height:44px;color:var(--brand-dark);background:#f1e7d8;border-radius:12px;place-items:center;margin-bottom:1rem;font-size:1.4rem;display:grid}.service-card h3{margin-bottom:.35rem}.service-card p{margin:0;font-size:.95rem}.about-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:3rem;display:grid}.about-grid img{border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover;width:100%}.stats{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem;display:grid}.stat .num{color:var(--ink);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:2rem;font-weight:700}.stat .label{color:var(--muted);font-size:.85rem}@media (width<=800px){.about-grid{grid-template-columns:1fr}}.gallery{background:#f3ede2}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:2.5rem;display:grid}.gallery-grid img{border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .3s}.gallery-grid img:hover{transform:scale(1.02)}.testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-top:2.5rem;display:grid}.quote{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:1.75rem}.quote p{color:var(--ink);margin-bottom:1rem;font-style:italic}.quote .who{color:var(--muted);font-size:.9rem;font-style:normal}.contact{background:var(--accent);color:#f5f1e8}.contact h2{color:#fff}.contact p{color:#ffffffc7}.contact-grid{grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem;display:grid}.contact form{gap:.9rem;display:grid}.contact input,.contact textarea{color:#fff;width:100%;font:inherit;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:10px;padding:.85rem 1rem}.contact input::placeholder,.contact textarea::placeholder{color:#ffffff8c}.contact textarea{resize:vertical;min-height:130px}.contact-info ul{margin:0;padding:0;list-style:none}.contact-info li{color:#ffffffd9;margin-bottom:.9rem}.contact-info strong{color:#fff;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.2rem;font-size:.78rem;display:block}@media (width<=800px){.contact-grid{grid-template-columns:1fr}}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;max-width:900px;margin:0 auto 2.5rem;display:grid}.contact-card{background:var(--papa-red);color:#fff;text-align:left;border-radius:40px;grid-template-columns:auto 1fr;align-items:center;column-gap:.75rem;padding:1rem 1.5rem 1.5rem;display:grid;position:relative}.contact-card-icon{color:#fff;width:36px;height:36px;margin-bottom:0}.contact-card-icon svg{width:100%;height:100%;display:block}.contact-card-title{letter-spacing:.02em;color:#fff;text-transform:uppercase;margin:0;font-family:Helvetica Neue,Roboto Condensed,Helvetica,Arial,sans-serif;font-size:1.4rem;font-weight:900;font-stretch:75%}.contact-card-body{color:#fff;grid-column:2/3;margin:.75rem 0 0;font-size:.95rem;line-height:1.45}@media (width<=800px){.contact-grid{grid-template-columns:1fr}}.contact-page{background:#fbf4dd}.contact-page .hero{background:#fbf4dd;position:relative}.contact-hero-mascot{z-index:2;pointer-events:none;width:clamp(160px,16vw,250px);height:auto;position:absolute;bottom:-3rem;right:2rem}.contact-hero-mascot-left{z-index:2;pointer-events:none;width:clamp(160px,16vw,250px);height:auto;position:absolute;bottom:-10rem;left:0}.section-divider{border:none;border-top:2px solid #d0d0d0;width:min(90%,1400px);margin:0 auto;padding-bottom:5rem}
