:root{--color-bg: #F2F2F2;--color-bg-top: #D8D8D8;--color-bg-mid: #EBEBEB;--color-surface: #E0E0E0;--color-ink: #1C1917;--color-muted: #6B6B6B;--color-accent: #9A9A9A;--color-accent-lt: #CCCCCC;--color-white: #F7F7F7;--font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--font-mono: "Space Mono", "Courier New", monospace}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body),Georgia,"Times New Roman",serif;font-weight:300;line-height:1.75;-webkit-font-smoothing:antialiased}.section-hero,.section-brand,.section-services,.section-capabilities,.section-products,.section-gallery,.section-process,.section-contact{width:100%;padding:80px 0}.section-inner{max-width:1100px;margin:0 auto;padding:0 40px}.section-label{font-family:var(--font-mono);font-size:.72rem;color:var(--color-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px}.section-headline{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.8rem);font-weight:400;letter-spacing:.02em;line-height:1.2;color:var(--color-ink);margin-bottom:48px}.section-hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 60px;position:relative;background:linear-gradient(160deg,#C8C8C8 0%,#DEDEDED 30%,#E8E8E8 60%,#F2F2F2 100%)}.hero-text{text-align:center;max-width:800px}.hero-logo-main{margin-bottom:48px}.hero-logo-main .logo-full{height:150px;width:auto;opacity:.85;filter:drop-shadow(0 2px 8px rgba(0,0,0,.12))}.hero-slogan{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,6.5rem);font-weight:300;letter-spacing:.04em;line-height:1.08;color:var(--color-ink);margin-bottom:24px}.hero-sub{font-family:var(--font-body);font-size:.88rem;font-weight:300;color:var(--color-muted);letter-spacing:.2em;text-transform:uppercase}.hero-scroll-hint{position:absolute;bottom:36px;left:50%;transform:translate(-50%);font-size:1.2rem;color:var(--color-muted);opacity:.5;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(6px)}}.section-brand{background:var(--color-bg)}.brand-inner{max-width:1100px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr 320px;gap:60px;align-items:end}.brand-body p{font-size:1rem;line-height:1.8;color:var(--color-ink);margin-bottom:20px}.brand-highlight{font-family:var(--font-display);font-size:1.15rem!important;font-weight:400;font-style:italic;color:var(--color-ink)!important;border-left:2px solid var(--color-accent);padding-left:20px;margin-top:32px!important}.brand-portrait{align-self:flex-end}.portrait-img{width:320px;aspect-ratio:3/4;object-fit:cover;display:block}.section-services{background:var(--color-surface)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.service-card{background:var(--color-white);padding:36px 32px}.service-num{font-family:var(--font-mono);font-size:.7rem;color:var(--color-accent);letter-spacing:.1em;margin-bottom:16px}.service-title{font-family:var(--font-display);font-size:1.4rem;font-weight:400;color:var(--color-ink);margin-bottom:20px}.service-desc{font-size:.9rem;line-height:1.75;color:var(--color-ink);margin-bottom:12px}.service-target{font-size:.82rem;color:var(--color-muted);font-style:italic;margin-top:20px;padding-top:16px;border-top:1px solid var(--color-accent-lt)}.section-capabilities{background:var(--color-bg)}.capabilities-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.capability-col{display:flex;flex-direction:column}.capability-icon{font-size:1.6rem;color:var(--color-accent);margin-bottom:16px;line-height:1}.capability-title{font-family:var(--font-display);font-size:1.5rem;font-weight:400;margin-bottom:16px}.capability-desc{font-size:.9rem;line-height:1.8;color:var(--color-ink);margin-bottom:20px}.capability-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.tag{font-family:var(--font-mono);font-size:.7rem;color:var(--color-muted);border:1px solid var(--color-accent-lt);padding:3px 10px;letter-spacing:.05em}.capability-img-wrap{margin:20px 0}.capability-img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:saturate(.85)}.capability-img-sm{max-width:160px}.capabilities-extras{margin-top:40px;padding-top:32px;border-top:1px solid var(--color-accent-lt)}.capabilities-extras-label{font-family:var(--font-mono);font-size:.72rem;color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}.capabilities-extras-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.capabilities-extras-row img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:saturate(.85)}.section-products{background:var(--color-bg)}.products-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 40px}.product-card{background:var(--color-white);cursor:default;position:relative}.product-img-wrap{overflow:hidden}.product-img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;transition:transform .2s ease,box-shadow .2s ease}.product-card:hover .product-img{transform:scale(1.03);box-shadow:0 4px 20px #1c19171a}.product-info{padding:20px 24px 16px}.product-tag{font-family:var(--font-mono);font-size:.7rem;color:var(--color-accent);letter-spacing:.1em}.product-name{font-family:var(--font-display);font-size:1.3rem;font-weight:400;margin:6px 0 8px}.product-sub{font-size:.82rem;color:var(--color-muted);line-height:1.5}.product-toggle{position:absolute;bottom:16px;right:20px;background:none;border:none;cursor:pointer;color:var(--color-accent);font-size:1.4rem;line-height:1;padding:4px;transition:transform .3s ease}.product-card.expanded .product-toggle{transform:rotate(180deg)}.product-expand{display:none;padding:0 24px 24px}.product-card.expanded .product-expand{display:block}.expand-imgs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.expand-imgs img{width:100%;aspect-ratio:3/4;object-fit:cover}.expand-imgs-split{grid-template-columns:1fr 1px 1fr}.expand-divider{background:var(--color-accent-lt)}.expand-imgs-3{grid-template-columns:repeat(3,1fr)}.expand-imgs-3 img{width:100%;aspect-ratio:3/4;object-fit:cover}.expand-desc{font-size:.88rem;color:var(--color-muted);line-height:1.7}.product-card.product-featured{position:relative;margin-top:60px;padding-top:40px;border-top:1px solid var(--color-accent-lt)}.product-card.product-featured .featured-expand-content{display:none}.product-card.product-featured.expanded .featured-expand-content{display:block}.featured-label{margin-bottom:20px}.featured-label .product-tag{font-family:var(--font-mono);font-size:.75rem;color:var(--color-muted);letter-spacing:.1em;display:block;margin-bottom:6px}.featured-label .product-name{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--color-ink);margin-bottom:8px}.featured-label .product-sub{font-size:.82rem;color:var(--color-muted);line-height:1.5}.featured-main{position:relative;width:100%;margin-bottom:20px}.featured-main img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}.product-toggle-featured{position:absolute;bottom:16px;right:20px;background:var(--color-ink);border:none;cursor:pointer;color:var(--color-white);font-size:1.2rem;line-height:1;padding:8px 12px;transition:transform .3s ease,background .2s}.product-card.product-featured.expanded .product-toggle-featured{transform:rotate(180deg)}.product-card.product-featured .expand-desc{font-size:.88rem;color:var(--color-muted);line-height:1.7;margin-top:16px}.section-gallery{background:var(--color-surface);padding:80px 0 60px}.gallery-group{margin-bottom:60px}.gallery-group:last-child{margin-bottom:0}.gallery-group-header{max-width:1100px;margin:0 auto 20px;padding:0 40px;display:flex;justify-content:space-between;align-items:baseline}.gallery-group-title{font-family:var(--font-display);font-size:1.1rem;color:var(--color-ink)}.gallery-group-date{font-family:var(--font-mono);font-size:.72rem;color:var(--color-muted)}.gallery-row{position:relative;display:flex;align-items:center;overflow:hidden}.gallery-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 60px;-ms-overflow-style:none;scrollbar-width:none}.gallery-track::-webkit-scrollbar{display:none}.gallery-item{flex-shrink:0;scroll-snap-align:start;position:relative}.gallery-item img{height:320px;width:auto;display:block;object-fit:cover;position:relative}.gallery-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(28,25,23,.1) 100%);pointer-events:none}.gallery-caption{font-family:var(--font-mono);font-size:.7rem;color:var(--color-muted);text-align:center;margin-top:8px}.gallery-arrow{position:absolute;background:#f7f4efb3;border:1px solid var(--color-accent-lt);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.2rem;color:var(--color-ink);z-index:2;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.gallery-row:hover .gallery-arrow{opacity:1}.gallery-arrow-left{left:12px}.gallery-arrow-right{right:12px}.gallery-dots{display:flex;gap:6px;justify-content:center;margin-top:16px}.gallery-dot{width:5px;height:5px;border-radius:50%;background:var(--color-accent-lt);cursor:pointer}.gallery-dot.active{background:var(--color-accent)}.section-process{background:var(--color-bg)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.process-step{display:flex;flex-direction:column}.process-num{font-family:var(--font-mono);font-size:.72rem;color:var(--color-accent);letter-spacing:.1em;margin-bottom:16px}.process-title{font-family:var(--font-display);font-size:1.5rem;font-weight:400;margin-bottom:16px}.process-desc{font-size:.9rem;line-height:1.75;color:var(--color-muted)}.section-contact{background:var(--color-surface)}#contact-form-area{max-width:640px}.contact-sub{font-size:.9rem;color:var(--color-muted);margin-bottom:40px;font-style:italic}.contact-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row label{display:flex;flex-direction:column;gap:6px}.form-label-sm{font-size:.8rem;color:var(--color-muted);margin-bottom:4px}.form-checkboxes{display:flex;flex-direction:column;gap:8px}.form-checkboxes label{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--color-ink);cursor:pointer}input[type=text],input[type=email],textarea{background:var(--color-white);border:1px solid var(--color-accent-lt);padding:10px 14px;font-family:var(--font-body);font-size:.9rem;color:var(--color-ink);outline:none;transition:border-color .2s;border-radius:0;width:100%}input[type=text]:focus,input[type=email]:focus,textarea:focus{border-color:var(--color-accent)}textarea{resize:vertical}.btn-submit{align-self:flex-start;background:var(--color-ink);color:var(--color-white);border:none;padding:14px 32px;font-family:var(--font-body);font-size:.88rem;letter-spacing:.06em;cursor:pointer;transition:background .2s}.btn-submit:hover{background:var(--color-accent)}.contact-info{padding:48px 0}.contact-info-headline{font-family:var(--font-display);font-size:1.6rem;font-weight:400;margin-bottom:40px}.contact-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:500px}.contact-info-label{font-family:var(--font-mono);font-size:.7rem;color:var(--color-muted);letter-spacing:.08em;margin-bottom:8px}.contact-info-value{font-size:1rem;color:var(--color-ink)}.reveal{opacity:0;transform:translateY(20px);transition:opacity .4s ease-out,transform .4s ease-out}.reveal.visible{opacity:1;transform:translateY(0)}.section-works{background:var(--color-bg)}.works-sub{font-size:.92rem;color:var(--color-muted);margin-top:-32px;margin-bottom:48px;line-height:1.7}.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.works-col-works{display:flex;flex-direction:column;gap:24px}.works-card{position:relative;overflow:hidden;cursor:default;background:var(--color-surface)}.works-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform .3s ease}.works-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#1c1917bf;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;opacity:0;transition:opacity .25s ease;padding:24px}.works-card:hover img{transform:scale(1.04)}.works-card:hover .works-overlay{opacity:1}.works-tag{font-family:var(--font-mono);font-size:.7rem;color:var(--color-white);letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(247,247,247,.4);padding:4px 12px}.works-desc{font-family:var(--font-body);font-size:.85rem;color:#f7f7f7cc;text-align:center;line-height:1.5}.works-portrait-row .gallery-item{flex-shrink:0}.works-portrait-row .gallery-item img{height:380px;width:auto;max-width:100%;object-fit:contain;background:var(--color-surface)}.works-portrait-row .gallery-item:after{display:none}.works-portrait-row .gallery-caption{text-align:center}.works-portrait-row .gallery-arrow{opacity:1;background:#f7f4efd9}@media(max-width:1024px){.brand-inner{grid-template-columns:1fr}.portrait-img{width:100%;max-width:320px}.capabilities-grid{grid-template-columns:1fr}.cap-img-col .capability-img-wrap{max-width:360px}}@media(max-width:768px){.section-hero{padding:0 32px}.hero-slogan{font-size:clamp(2.5rem,10vw,4rem)}.hero-logo{display:none}.section-inner{padding:0 24px}.section-hero,.section-brand,.section-services,.section-capabilities,.section-products,.section-works,.section-process,.section-contact{padding:60px 0}.services-grid,.products-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr;gap:32px}.form-row{grid-template-columns:1fr}.gallery-track{padding:0 20px}.gallery-arrow{display:none}.works-grid{grid-template-columns:1fr}.works-col-portrait{margin-top:8px}.works-portrait-row .gallery-item img{height:280px}}
