@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap";:root{--color-primary:#451a03;--color-primary-light:#fffbeb;--color-accent:#b45309;--color-accent-hover:#92400e;--color-text:#451a03;--color-text-muted:#78350f;--color-white:#fff;--color-background:#fffbeb;--color-surface:#fff;--color-border:#e7e5e4;--glass-border:#451a031f;--glass-bg:#ffffffb3;--font-heading:"Noto Serif JP", serif;--font-body:"Noto Sans JP", sans-serif;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:6rem;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 6px -1px #0000000d;--shadow-lg:0 10px 15px -3px #0000000d;--radius-sm:.5rem;--radius-md:1rem;--radius-lg:1.5rem;--transition-smooth:all .3s cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.7;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:var(--spacing-sm);font-weight:700;line-height:1.3}a{color:inherit;transition:var(--transition-smooth);text-decoration:none}img{max-width:100%;display:block}.typography{color:var(--color-text)}.typography p{margin:0 0 1.1rem;line-height:1.9}.typography p.news-lead{color:#5b2d0d;border-left:4px solid #d97706;margin-bottom:1.4rem;padding-left:.85rem;font-size:1.15rem;font-weight:500}.typography h3{margin:1.7rem 0 .9rem;font-size:1.3rem}.typography ul,.typography ol{margin:.4rem 0 1.25rem 1.35rem;padding-left:.5rem}.typography li{margin-bottom:.45rem;line-height:1.8}.typography>:last-child{margin-bottom:0}.container{max-width:1400px;padding:0 var(--spacing-md);width:100%;margin:0 auto}.text-accent{color:var(--color-accent)}.section{padding:var(--spacing-xl) 0;position:relative}.section-title{text-align:center;margin-bottom:var(--spacing-lg);font-size:2.5rem;position:relative}.section-title:after{content:"";background-color:var(--color-accent);border-radius:2px;width:80px;height:4px;margin:1rem auto 0;display:block}.btn{border-radius:var(--radius-sm);letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:var(--transition-smooth);border:none;padding:1rem 2.5rem;font-size:.9rem;font-weight:600;display:inline-block}.btn-primary{background:var(--color-accent);color:var(--color-white);box-shadow:var(--shadow-md)}.btn-primary:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-lg);color:var(--color-white);transform:translateY(-2px)}.fixed-bg{background:var(--color-background);z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.navbar{z-index:1000;width:100%;transition:var(--transition-smooth);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffbebf2;border-bottom:1px solid #b453091a;padding:1.5rem 0;position:fixed;top:0;left:0}.nav-container{justify-content:space-between;align-items:center;display:flex}.navbar-logo-icon{width:auto;height:60px;margin-right:15px}.logo{align-items:center;display:flex}.logo-text-container{flex-direction:column;display:flex}.logo-title{font-family:var(--font-heading);color:var(--color-primary);margin:0;font-size:1.25rem;font-weight:700;line-height:1}.logo-subtitle{color:var(--color-accent);font-size:.85rem;font-family:var(--font-body);margin-top:4px;font-weight:500}.nav-links{align-items:center;gap:2.5rem;list-style:none;display:flex}.nav-links a{color:var(--color-primary);opacity:.8;font-size:1rem;font-weight:500;position:relative}.nav-links a:hover{opacity:1;color:var(--color-accent)}.dropdown{position:relative}.dropdown-menu{background-color:var(--color-surface);min-width:200px;box-shadow:var(--shadow-lg);border-radius:var(--radius-sm);opacity:0;visibility:hidden;transition:var(--transition-smooth);border:1px solid var(--color-border);padding:.5rem 0;list-style:none;position:absolute;top:100%;left:0;transform:translateY(10px)}.dropdown-menu li a{color:var(--color-primary);padding:.75rem 1.5rem;font-size:.95rem;display:block}.dropdown-menu li a:hover{background-color:var(--color-background);color:var(--color-accent)}.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.hero{text-align:center;background:radial-gradient(circle,#b453090d 0%,#0000 70%);justify-content:center;align-items:center;min-height:85vh;padding-top:120px;display:flex}.hero-content-wrapper{flex-direction:column;align-items:center;gap:2rem;display:flex}.hero-image-container{justify-content:center;width:100%;margin-bottom:2rem;display:flex;position:relative}.hero-portrait{border-radius:var(--radius-md);width:100%;max-width:600px;box-shadow:var(--shadow-xl);border:1px solid #b453091a}.about-grid{text-align:center;max-width:900px;color:var(--color-text-muted);margin:0 auto;font-size:1.25rem}.about-after-hero{padding-top:10px}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;display:grid}.project-card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:var(--transition-smooth);padding:2.5rem}.project-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-accent);transform:translateY(-5px)}.project-date{font-family:var(--font-body);color:var(--color-accent);text-transform:uppercase;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.project-title{margin-bottom:1rem;font-size:1.5rem}.project-desc{color:var(--color-text-muted);margin-bottom:1.5rem}.project-link{color:var(--color-accent);align-items:center;font-weight:600;display:inline-flex}.project-link:hover{transform:translate(4px)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.hover-card{transition:var(--transition-smooth)}.hover-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-img{object-fit:cover;width:100%;height:clamp(190px,22vw,260px);display:block}.card-image{background:#f4f4f5;width:100%;height:clamp(190px,22vw,260px);overflow:hidden}.card-image img{object-fit:cover;width:100%;height:100%;display:block}.card-content{padding:1.25rem}.detail-image-container{background:#f4f4f5;border-radius:12px;width:min(100%,920px);margin:0 auto 2rem;overflow:hidden;box-shadow:0 10px 30px #0000001f}.detail-image{object-fit:contain;width:100%;height:clamp(280px,48vw,560px);display:block}.detail-gallery-container{margin-top:2rem}.detail-gallery-title{text-align:left;margin-bottom:1rem;font-size:1.5rem}.detail-gallery-slider{grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;display:grid}.detail-gallery-viewport{border:1px solid var(--color-border);background:#f8fafc;border-radius:12px;justify-content:center;align-items:center;display:flex;overflow:hidden}.detail-gallery-track{width:100%;transition:transform .4s;display:flex}.detail-gallery-slide{justify-content:center;align-items:center;min-width:100%;height:clamp(220px,40vw,460px);display:flex}.detail-gallery-zoom-trigger{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0}.detail-gallery-zoom-trigger:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.detail-gallery-slide img{object-fit:contain;object-position:center center;background:#f8fafc;width:100%;height:100%;display:block}.detail-lightbox{z-index:2100;opacity:0;visibility:hidden;background:#0f172ad1;padding:clamp(.75rem,2vw,1.5rem);transition:opacity .2s,visibility .2s;position:fixed;inset:0}.detail-lightbox.is-open{opacity:1;visibility:visible}.detail-lightbox-inner{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;width:min(95vw,1440px);height:min(92vh,920px);margin:0 auto;display:grid;position:relative}.detail-lightbox-media{background:#020617b3;border:1px solid #fff3;border-radius:12px;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.detail-lightbox-image{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.detail-lightbox-caption{text-align:center;color:#f8fafc;background:linear-gradient(#02061700 0%,#020617d9 100%);margin:0;padding:.5rem .75rem;font-size:.9rem;position:absolute;bottom:0;left:0;right:0}.detail-lightbox-close{z-index:2;color:#fff;background:#020617a6;border-color:#ffffff59;font-size:1.25rem;line-height:1;position:absolute;top:.5rem;right:.5rem}.detail-lightbox-nav{color:#fff;background:#020617a6;border-color:#ffffff59}body.lightbox-open{overflow:hidden}.detail-video-container{margin-top:2rem}.detail-video-title{text-align:left;margin-bottom:1rem;font-size:1.5rem}.detail-video-embed{border:1px solid var(--color-border);aspect-ratio:16/9;background:#020617;border-radius:12px;width:min(100%,960px);margin:0 auto;overflow:hidden;box-shadow:0 10px 30px #02061740}.detail-video-poster{cursor:pointer;background:#020617;border:0;width:100%;height:100%;margin:0;padding:0;display:block;position:relative}.detail-video-thumb{object-fit:cover;opacity:.92;width:100%;height:100%}.detail-video-play{aspect-ratio:1;background:#00000094;border:2px solid #ffffffe6;border-radius:999px;width:clamp(64px,8vw,92px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.detail-video-play:before{content:"";border-top:12px solid #0000;border-bottom:12px solid #0000;border-left:20px solid #fff;width:0;height:0;position:absolute;top:50%;left:50%;transform:translate(-36%,-50%)}.detail-video-frame{border:0;width:100%;height:100%;display:block}.card-title{margin-bottom:.75rem;font-size:1.25rem}.text-muted{color:var(--color-text-muted)}.text-center{text-align:center}.badge-primary{color:#1e40af;background:#dbeafe;border-radius:999px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-accent{color:#9a3412;background:#ffedd5;border-radius:999px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.video-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.video-thumbnail-link{border:1px solid var(--color-border);border-radius:8px;display:block;overflow:hidden}.video-thumbnail-img{aspect-ratio:16/9;object-fit:cover;width:100%;transition:transform .2s}.video-thumbnail-link:hover .video-thumbnail-img{transform:scale(1.03)}.pagination-controls{justify-content:center;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.nav-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary);cursor:pointer;border-radius:8px;width:36px;height:36px}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:3rem;display:grid}.video-gallery-wrapper,.contact-info-wrapper{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:2.5rem}.column-title{letter-spacing:.3px;margin-bottom:1.5rem;padding-bottom:.7rem;font-size:1.45rem;position:relative}.column-title:after{content:"";background-color:var(--color-accent);border-radius:2px;width:58px;height:3px;position:absolute;bottom:0;left:0}.contact-item h4{color:var(--color-accent);margin-bottom:.25rem;font-size:1.1rem}.contact-item p{color:var(--color-text);margin-bottom:1.5rem}@media (max-width:768px){.column-title{margin-bottom:1.2rem;font-size:1.25rem}}.footer{text-align:center;color:var(--color-text-muted);border-top:1px solid #b453091a;margin-top:4rem;padding:4rem 0 2rem}.footer-logo img{height:50px;margin:0 auto 1rem}.footer-logo h3{margin-bottom:.5rem;font-size:1.5rem}.footer-social{justify-content:center;gap:1.5rem;margin:2rem 0;display:flex}.social-icon img{filter:sepia()hue-rotate(350deg)saturate(90%);width:24px;height:24px;transition:var(--transition-smooth)}.social-icon:hover img{filter:none;transform:scale(1.1)}.fade-in-up{opacity:0;transition:all .6s ease-out;transform:translateY(20px)}.visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}@media (max-width:768px){.card-img,.card-image{height:220px}.detail-image{height:320px}.detail-gallery-title,.detail-video-title{font-size:1.2rem}.typography p.news-lead{padding-left:.7rem;font-size:1.05rem}.detail-gallery-slider{gap:.5rem}.detail-lightbox{padding:.5rem}.detail-lightbox-inner{grid-template-columns:1fr;gap:.5rem;width:100%;height:min(92vh,720px)}.detail-lightbox-media{height:100%;min-height:260px}.detail-lightbox-nav{z-index:2;position:absolute;top:50%;transform:translateY(-50%)}.detail-lightbox-prev{left:.4rem}.detail-lightbox-next{right:.4rem}}@media (max-width:900px){.contact-grid{grid-template-columns:1fr}.hero-portrait{max-width:450px}.section-title{font-size:2rem}.video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.nav-links{display:none}.hamburger-btn{display:flex}}.hamburger-btn{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:30px;height:21px;padding:0;display:none}.hamburger-btn span,.hamburger-btn .bar{background-color:var(--color-primary);border-radius:3px;width:100%;height:3px;transition:all .3s;display:block}@media (max-width:768px){.navbar{padding:1rem 0}.logo-subtitle{display:none}.navbar-logo-icon{height:46px;margin-right:10px}.logo-title{font-size:1rem}.hamburger-btn{display:flex}.nav-links{background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg);z-index:999;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - 76px);padding:.5rem 1rem 1rem;display:none;position:fixed;top:76px;left:0;right:0;overflow-y:auto}.nav-links.active{display:flex}.nav-links>li>a,.dropdown-toggle{border-bottom:1px solid var(--color-border);width:100%;padding:.85rem .25rem;display:block}.nav-links>li:last-child>a{border-bottom:0}.hero{align-items:center;padding-top:120px}.hero-content-wrapper{gap:1.5rem}.hero-actions{border-radius:40px;flex-direction:row;gap:1rem;width:auto;max-width:95%;padding:1rem 1.5rem}.btn-black{padding:.8rem 1.4rem;font-size:.8rem}.hero-portrait{object-position:center center;max-width:85%;max-height:525px;margin:0 auto}.hero-image-container{justify-content:center;align-items:center;margin:0 auto 1.25rem}.hero-image-wrapper{margin-bottom:var(--spacing-md);order:-1;padding:0 20px}.hero-img{object-fit:cover;max-width:70%;max-height:300px;margin:0 auto}.section{padding:var(--spacing-lg) 0}.container{padding:0 15px}.about-after-hero{padding-top:10px}.dropdown-menu{opacity:1;visibility:visible;box-shadow:none;background:#00000005;border:none;min-width:100%;margin-top:0;padding:0;display:none;position:static;transform:none}.dropdown.active .dropdown-menu{display:block}.dropdown-menu li a{color:var(--color-text-muted);border-bottom:1px solid #0000000f;padding:.65rem .75rem;font-size:.9rem}.dropdown-menu li:last-child a{border-bottom:0}.dropdown-menu li a:hover{background-color:#0000000d}.dropdown-toggle:after{content:" ▼";margin-left:5px;font-size:.7em;transition:transform .3s;display:inline-block}.dropdown.active .dropdown-toggle:after{transform:rotate(180deg)}}footer{background-color:var(--color-surface);color:var(--color-text);border-top:1px solid var(--glass-border);margin-top:auto;padding:3rem 0 1rem}.footer-content{border-bottom:1px solid var(--glass-border);flex-wrap:wrap;justify-content:space-between;align-items:center;padding-bottom:2rem;display:flex}.footer-logo h3{color:var(--color-primary);margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:1.5rem}.footer-logo p{color:var(--color-text-muted);font-size:.9rem}.talep-container{max-width:800px;margin:0 auto;padding:2rem 2rem 400px}.form-group{text-align:left;margin-bottom:2rem}.form-label{color:var(--color-primary);font-weight:600;font-family:var(--font-heading);margin-bottom:.5rem;display:block}.form-input,.form-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);width:100%;max-width:100%;color:var(--color-text);font-family:var(--font-body);transition:var(--transition-smooth);padding:1rem;font-size:1rem}.form-input:focus,.form-select:focus{border-color:var(--color-accent);background:var(--color-white);outline:none;box-shadow:0 0 0 4px #b453091a}textarea.form-input{resize:vertical;min-height:150px}.alert-custom{border-radius:var(--radius-sm);border:1px solid #0000;margin-bottom:2rem;padding:1rem;font-size:.95rem}.alert-success{color:#365314;background-color:#ecfccb;border-color:#d9f99d}.alert-danger{color:#7f1d1d;background-color:#fee2e2;border-color:#fecaca}.select2-container--bootstrap-5 .select2-selection{border-color:var(--color-border)!important;border-radius:var(--radius-sm)!important;background-color:var(--color-background)!important;align-items:center!important;min-height:52px!important;padding:.8rem 1rem!important;display:flex!important}.select2-container--bootstrap-5.select2-container--focus .select2-selection{border-color:var(--color-accent)!important;background-color:var(--color-white)!important;box-shadow:0 0 0 4px #b453091a!important}.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered{color:var(--color-text)!important;line-height:normal!important;font-family:var(--font-body)!important;padding-left:0!important}.select2-results__option{font-family:var(--font-body);font-size:.95rem;padding:10px 15px!important}.select2-container--bootstrap-5 .select2-dropdown{border-color:var(--color-border)!important;border-radius:var(--radius-sm)!important;box-shadow:var(--shadow-lg)!important}.select2-container--bootstrap-5 .select2-results__option--highlighted{background-color:var(--color-accent)!important;color:var(--color-white)!important}.footer-social{align-items:center;gap:1.5rem;display:flex}.social-icon{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .3s;display:flex}.social-icon img{object-fit:contain;filter:grayscale();opacity:.7;width:20px;height:20px;transition:transform .3s}.social-icon:hover{border-color:var(--color-accent);background:#fff;transform:translateY(-3px);box-shadow:0 5px 15px #0000001a}.social-icon:hover img{filter:grayscale(0%);opacity:1;transform:scale(1.1)}.footer-bottom{text-align:center;color:var(--color-text-muted);padding-top:1rem;font-size:.85rem}@media (max-width:768px){.footer-content{text-align:center;flex-direction:column;gap:2rem;display:flex}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.contact-info-wrapper{background:var(--color-white);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;justify-content:space-between;height:100%;padding:2rem;display:flex}.contact-details{gap:1.5rem;display:grid}.contact-item{border-bottom:1px solid var(--glass-border);padding-bottom:1rem}.contact-item:last-child{border-bottom:none}.contact-item h4{text-transform:uppercase;color:var(--color-primary);letter-spacing:.5px;margin-bottom:.5rem;font-size:.9rem;font-weight:700}.contact-item p{color:var(--color-text);margin:0;font-size:1.1rem;line-height:1.6}.contact-item p a{color:var(--color-text);transition:color .2s}.contact-item p a:hover{color:var(--color-accent)}#contact .contact-grid{align-items:stretch;gap:clamp(1.25rem,2.4vw,3rem)}#contact .video-gallery-wrapper,#contact .contact-info-wrapper{flex-direction:column;height:100%;padding:clamp(1.4rem,2.2vw,2.5rem);display:flex}#contact .column-title{margin-bottom:1.35rem;padding-bottom:.6rem;font-size:clamp(1.2rem,1.1vw + .9rem,1.45rem)}#contact .column-title:after{width:64px;height:2px}#contact .contact-details{gap:1.15rem}#contact .contact-item{padding-bottom:.85rem}#contact .contact-action{margin-top:auto;padding-top:1rem}#contact .video-gallery-wrapper .pagination-controls{margin-top:1.25rem}@media (max-width:768px){#contact .contact-grid{align-items:start;gap:1rem}#contact .video-gallery-wrapper,#contact .contact-info-wrapper{padding:1.25rem}#contact .column-title{margin-bottom:1rem;padding-bottom:.55rem}#contact .column-title:after{width:52px}#contact .contact-details{gap:1rem}}.brand-btn{background-color:var(--color-primary);color:#fff;border-radius:8px;padding:15px 30px;font-weight:700;text-decoration:none;transition:background-color .3s}.brand-btn:hover{background-color:var(--color-secondary)}
