:root{--paper: #F3EFE6;--paper-2: #E8E2D4;--paper-3: #FBF9F4;--ink: #1B231D;--ink-2: #141A16;--ink-soft: #4A5249;--moss: #3E5A3A;--moss-light: #DDE3D6;--sun: #D9A441;--muted-dark: #B9BDB0;--muted-dark-2: #C9CCC1;--line: #CFC7B5;--line-dark: #2E3830;--stroke: #A8A08E;--ph: #D8D0BE;--ph-2: #D0C7B3;--ph-dark: #2A352D;--font-display: "Shippori Mincho", Georgia, serif;--font-body: "Manrope", system-ui, -apple-system, sans-serif;--gutter: clamp(16px, 4vw, 48px);--section: clamp(72px, 9vw, 120px);--radius: 4px;--ease: cubic-bezier(.22, 1, .36, 1);--header-h: 76px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:var(--moss)}a:hover{color:var(--ink)}button{font:inherit}:focus-visible{outline:2px solid var(--sun);outline-offset:3px}::selection{background:var(--sun);color:var(--ink)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.skip-link{position:absolute;left:16px;top:-60px;z-index:100;background:var(--paper);color:var(--ink);padding:10px 16px;border-radius:999px}.skip-link:focus{top:12px}.container{max-width:1240px;margin:0 auto;padding:0 var(--gutter)}.container--narrow{max-width:920px}.section{padding:var(--section) 0}.section--dark{background:var(--ink);color:var(--paper)}.section--sand{background:var(--paper-2)}.section--moss{background:var(--moss);color:var(--paper)}.stack{display:flex;flex-direction:column}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--min, 300px)),1fr));gap:var(--gap, 32px)}.grid-even{display:grid;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr));gap:var(--gap, 32px)}@media (max-width: 960px){.grid-even{grid-template-columns:repeat(var(--cols-md, 1),minmax(0,1fr))}}@media (max-width: 600px){.grid-even{grid-template-columns:1fr}}.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(40px,5vw,64px);align-items:center}.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:56px}.section-head__text{display:flex;flex-direction:column;gap:16px;max-width:640px}.eyebrow{margin:0;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--moss)}.section--dark .eyebrow,.hero .eyebrow,.on-dark .eyebrow{color:var(--sun)}.display,.h1,.h2,.h3{font-family:var(--font-display);font-weight:500;margin:0}.h1{font-size:clamp(44px,6.4vw,84px);line-height:1.05;letter-spacing:-.01em}.h1--page{font-size:clamp(40px,5.6vw,72px);line-height:1.08;max-width:900px}.h2{font-size:clamp(32px,4vw,52px);line-height:1.15}.h2--sm{font-size:clamp(30px,3.4vw,44px)}.h3{font-size:26px;line-height:1.25}.lead{margin:0;font-size:18px;max-width:600px;color:var(--ink-soft)}.section--dark .lead,.hero .lead{color:var(--muted-dark-2)}.muted{color:var(--ink-soft)}.section--dark .muted{color:var(--muted-dark)}.num{font-family:var(--font-display);font-size:15px;color:var(--moss)}.kanji{margin:0;font-family:var(--font-display);font-size:42px;color:var(--moss);letter-spacing:.1em}.word-mask{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}.word{display:inline-block;will-change:transform}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;border:1px solid transparent;font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease)}.btn svg{transition:transform .35s var(--ease)}.btn:hover svg,.link-arrow:hover svg{transform:translate(4px)}.btn:active{transform:scale(.97)}.btn--light{background:var(--paper);color:var(--ink)}.btn--light:hover{background:#fff;color:var(--ink)}.btn--moss{background:var(--moss);color:var(--paper)}.btn--moss:hover{background:var(--ink);color:var(--paper)}.btn--ghost-light{border-color:#5a635a;color:var(--paper);font-weight:500}.btn--ghost-light:hover{border-color:var(--paper);color:var(--paper);background:#f3efe60f}.btn--outline-light{border-color:var(--paper);color:var(--paper);font-weight:500;min-height:44px;padding:0 20px;font-size:14px}.btn--outline-light:hover{background:var(--paper);color:var(--ink)}.btn--outline-dark{border-color:var(--ink);color:var(--ink);font-weight:500;background:transparent}.btn--outline-dark:hover{background:var(--ink);color:var(--paper)}.btn--sm{min-height:48px;padding:0 24px}.btn--lg{min-height:56px;padding:0 32px}.link-arrow{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--ink);font-weight:600;text-decoration:none;position:relative}.link-arrow:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:currentColor}.link-arrow:hover{color:var(--ink)}.link-arrow:hover:after{animation:underline-redraw .8s var(--ease)}@keyframes underline-redraw{0%{transform:scaleX(1);transform-origin:right}50%{transform:scaleX(0);transform-origin:right}50.01%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}.link-arrow svg{transition:transform .35s var(--ease)}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--sun);transform-origin:0 50%;z-index:60}.header{position:sticky;top:0;z-index:50;background:var(--ink);color:var(--paper);transition:box-shadow .4s var(--ease)}.header.is-scrolled{box-shadow:0 10px 30px -18px #0009}.header__bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:16px;padding-bottom:16px;transition:padding .4s var(--ease)}.header.is-scrolled .header__bar{padding-top:10px;padding-bottom:10px}.header__logo{color:var(--paper);text-decoration:none}.header__logo:hover{color:var(--paper)}.logo{display:flex;align-items:center;gap:12px}.logo__img{display:block;height:64px;width:auto;max-width:180px;object-fit:contain;filter:brightness(2.6) saturate(1.2)}.logo__text{display:flex;flex-direction:column;line-height:1}.logo__word{font-size:15px;font-weight:600;letter-spacing:.32em}.logo__sub{font-family:var(--font-display);font-size:11px;letter-spacing:.16em;color:var(--muted-dark);margin-top:6px}.nav{display:flex;align-items:center;gap:28px;font-size:14px}.nav__link{position:relative;color:var(--muted-dark);text-decoration:none;padding:12px 0;transition:color .3s var(--ease)}.nav__link:hover,.nav__link.is-active{color:var(--paper)}.nav__underline{position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--sun)}.menu-btn{display:none;width:48px;height:48px;border-radius:999px;border:1px solid #5A635A;background:transparent;color:var(--paper);cursor:pointer;align-items:center;justify-content:center}.menu-btn__icon{position:relative;width:18px;height:10px}.menu-btn__icon span{position:absolute;left:0;right:0;height:1.5px;background:currentColor;border-radius:2px;transition:transform .4s var(--ease),top .4s var(--ease)}.menu-btn__icon span:first-child{top:0}.menu-btn__icon span:last-child{top:8.5px}.menu-btn__icon.is-open span:first-child{top:4.25px;transform:rotate(45deg)}.menu-btn__icon.is-open span:last-child{top:4.25px;transform:rotate(-45deg)}.mobile-menu{overflow:hidden;border-top:1px solid var(--line-dark)}.mobile-menu__list{list-style:none;margin:0;padding-top:16px;padding-bottom:28px;display:flex;flex-direction:column;gap:4px}.mobile-menu__link{display:block;padding:12px 0;font-family:var(--font-display);font-size:30px;color:var(--muted-dark);text-decoration:none}.mobile-menu__link.is-active,.mobile-menu__link:hover{color:var(--paper)}.mobile-menu__list .btn{margin-top:16px}@media (max-width: 900px){.nav--desktop,.header__cta{display:none}.menu-btn{display:inline-flex}}.hero{background:var(--ink);color:var(--paper);overflow:hidden}.hero__inner{padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(64px,9vw,120px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:56px;align-items:center}.hero__copy{display:flex;flex-direction:column;gap:28px}.hero__copy .lead{max-width:520px}.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.hero__photo{height:clamp(360px,44vw,600px)}.page-hero{padding-top:clamp(56px,8vw,96px);padding-bottom:clamp(56px,8vw,96px);display:flex;flex-direction:column;gap:24px}.page-hero--light{padding-bottom:40px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.chip{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid #5A635A;color:var(--paper);text-decoration:none;font-size:14px;transition:background-color .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease)}.chip:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.photo{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--ph);display:flex;align-items:flex-end;padding:16px}.photo--sand{background:var(--ph-2)}.photo--dark{background:var(--ph-dark)}.photo__media{position:absolute;top:0;right:0;bottom:0;left:0}.photo__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.hover-zoom:hover .photo__media img{transform:scale(1.05)}.photo__label{position:relative;z-index:1;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper);padding:6px 12px;border-radius:999px}.photo--dark .photo__label{color:var(--ink)}.dapple{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.service-card{display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--ink);padding-top:24px;position:relative}.service-card:before{content:"";position:absolute;top:-1px;left:0;height:1px;width:100%;background:var(--sun);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}.service-card:hover:before{transform:scaleX(1)}.service-card p{margin:0;color:var(--ink-soft)}.service-card__link{display:flex;flex-direction:column;gap:14px;color:inherit;text-decoration:none}.service-card__link:hover{color:inherit}.work-card{display:flex;flex-direction:column;gap:14px;color:var(--ink);text-decoration:none}.work-card:hover{color:var(--ink)}.work-card__cat{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--moss)}.work-card__title{font-family:var(--font-display);font-size:24px;line-height:1.25;margin:0;font-weight:500;transition:color .3s var(--ease)}.work-card:hover .work-card__title{color:var(--moss)}.work-card__meta{font-size:14px;color:var(--ink-soft)}.steps{margin:0;padding:0;list-style:none}.step{display:flex;flex-direction:column;gap:12px}.step__dot{width:10px;height:10px;border-radius:50%;background:var(--sun)}.step p{margin:0;color:var(--muted-dark)}.step h3{font-size:24px}.principles{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}.principles li{display:flex;gap:14px;align-items:baseline}.principles__dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--moss)}.testimonial{display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px}.testimonial blockquote{margin:0;font-family:var(--font-display);font-size:clamp(24px,3vw,36px);line-height:1.35}.testimonial__by{margin:0;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.marquee{margin-top:72px;display:flex;flex-direction:column;gap:24px;align-items:center}.marquee__viewport{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.marquee__track{display:flex;gap:16px;width:max-content;animation:marquee 32s linear infinite}.marquee__viewport:hover .marquee__track{animation-play-state:paused}.logo-slot{min-width:180px;height:56px;border:1px dashed var(--stroke);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--ink-soft)}@keyframes marquee{to{transform:translate(-50%)}}.cta-band__inner{padding-top:clamp(64px,8vw,104px);padding-bottom:clamp(64px,8vw,104px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px}.cta-band h2{font-size:clamp(34px,4.4vw,56px);line-height:1.1}.cta-band p{margin:0;font-size:17px;color:var(--moss-light)}.service-list{display:flex;flex-direction:column;gap:clamp(72px,9vw,128px)}.service-block{scroll-margin-top:calc(var(--header-h) + 24px)}.service-block__copy{display:flex;flex-direction:column;gap:20px}.service-block__copy p{margin:0;color:var(--ink-soft)}.includes{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 24px;font-size:15px}.includes li{border-top:1px solid var(--line);padding-top:10px}.service-block__foot{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:8px}.price{font-size:14px;color:var(--ink-soft)}.price strong{color:var(--ink);font-weight:600}@media (min-width: 900px){.service-block--flip .service-block__photo{order:2}}.included-item{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--sun);padding-top:20px}.included-item h3{margin:0;font-family:var(--font-body);font-size:17px;font-weight:600}.included-item p{margin:0;color:var(--muted-dark);font-size:15px}.faq{border-bottom:1px solid var(--line)}.faq__item{border-top:1px solid var(--line)}.faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;min-height:56px;background:none;border:0;text-align:left;cursor:pointer;font-size:18px;font-weight:600;color:var(--ink)}.faq__icon{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--stroke);display:flex;align-items:center;justify-content:center}.faq__a{overflow:hidden}.faq__a p{margin:0;padding:0 0 22px;color:var(--ink-soft);max-width:620px}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.filters{display:flex;flex-wrap:wrap;gap:8px}.filter{position:relative;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--stroke);background:transparent;color:var(--ink);font-weight:500;font-size:14px;cursor:pointer;transition:color .3s var(--ease),border-color .3s var(--ease)}.filter:hover{border-color:var(--ink)}.filter.is-active{color:var(--paper);border-color:var(--ink)}.filter__pill{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:999px;background:var(--ink);z-index:0}.filter__label{position:relative;z-index:1}.project-grid{display:grid;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr));gap:48px 32px}.value-card{background:var(--paper);border-radius:var(--radius);padding:32px;display:flex;flex-direction:column;gap:14px;height:100%}.value-card p{margin:0;color:var(--ink-soft)}.team-card{display:flex;flex-direction:column;gap:12px}.team-card h3{margin:0;font-size:18px;font-weight:600;font-family:var(--font-body)}.team-card span{font-size:14px;color:var(--ink-soft)}.about-hero__photo{height:clamp(300px,36vw,520px);border-radius:var(--radius) var(--radius) 0 0}.contact-layout{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}.contact-aside{flex:1 1 320px;background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:clamp(28px,4vw,44px);display:flex;flex-direction:column;gap:32px}.contact-aside h2{margin:0;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--sun)}.contact-aside__group{display:flex;flex-direction:column;gap:14px}.contact-aside__group+.contact-aside__group{border-top:1px solid var(--line-dark);padding-top:28px}.contact-aside__big{font-family:var(--font-display);font-size:22px}.next-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:16px}.next-steps li{display:flex;gap:14px;color:var(--muted-dark-2)}.next-steps__n{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--sun);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--paper)}.socials{display:flex;flex-wrap:wrap;gap:16px}.socials a{color:var(--paper)}.socials a:hover{color:var(--sun)}.contact-main{flex:999 1 560px;min-width:0}.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:24px 20px}.field{display:flex;flex-direction:column;gap:8px}.field--full{grid-column:1 / -1}.field label{font-size:14px;font-weight:600}.field label span{font-weight:400;color:var(--ink-soft)}.field input,.field select,.field textarea{min-height:48px;padding:0 14px;border:1px solid var(--stroke);border-radius:var(--radius);background:var(--paper-3);font:400 16px var(--font-body);color:var(--ink);transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}.field textarea{padding:12px 14px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--moss);box-shadow:0 0 0 3px #3e5a3a2e}.form__foot{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.form__note{font-size:13px;color:var(--ink-soft)}.success{background:var(--paper-2);border-radius:var(--radius);padding:clamp(32px,5vw,56px);display:flex;flex-direction:column;gap:16px;align-items:flex-start}.success p{margin:0;color:var(--ink-soft);max-width:480px}.success__actions{display:flex;flex-wrap:wrap;gap:12px}.footer{background:var(--ink-2);color:var(--muted-dark);font-size:14px}.footer__inner{padding-top:72px;padding-bottom:32px;display:flex;flex-direction:column;gap:56px}.footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:40px}.footer__col{display:flex;flex-direction:column;gap:12px}.footer__col h2{margin:0 0 4px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--paper)}.footer__col a{color:var(--muted-dark);text-decoration:none;width:fit-content;transition:color .3s var(--ease)}.footer__col a:hover{color:var(--paper)}.footer__brand p{margin:0;max-width:260px}.footer__bottom{border-top:1px solid var(--line-dark);padding-top:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px}.not-found{min-height:60vh;display:flex;flex-direction:column;justify-content:center;gap:24px}.service-section{padding-top:calc(var(--section) / 2);padding-bottom:calc(var(--section) / 2)}@media (max-width: 960px){.project-grid{grid-template-columns:repeat(var(--cols-md, 1),minmax(0,1fr))}}@media (max-width: 600px){.project-grid{grid-template-columns:1fr}}.hero-card{position:relative;height:clamp(440px,47vw,640px);padding:0;isolation:isolate}.hero-card__frame{position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(18px,18px) rotate(1.6deg);border:1px solid rgba(217,164,65,.55);border-radius:220px 34px 34px;z-index:-1;transition:transform .8s var(--ease)}.hero-card:hover .hero-card__frame{transform:translate(24px,24px) rotate(2.4deg)}.hero-card__glow{position:absolute;z-index:-2;width:70%;aspect-ratio:1;right:-16%;bottom:-18%;border-radius:50%;background:radial-gradient(circle,#d9a44152,#d9a44100 68%);animation:hero-breathe 7s ease-in-out infinite}.hero-card__dots{position:absolute;z-index:-1;left:-26px;bottom:44px;width:96px;height:120px;background-image:radial-gradient(rgba(243,239,230,.38) 1.6px,transparent 1.8px);background-size:16px 16px}@keyframes hero-breathe{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.hero-slides{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--ph-dark);isolation:isolate;border-radius:220px 34px 34px;box-shadow:0 30px 60px -24px #000000a6,0 0 0 1px #f3efe624}.hero-slides:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;z-index:3;border-radius:212px 26px 26px;border:1px solid rgba(243,239,230,.28);pointer-events:none}.hero-slides__img{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform,opacity;backface-visibility:hidden}.hero-card__seal-ring,.hero-card__glow{will-change:transform}.hero-slides__img img{width:100%;height:100%;object-fit:cover;display:block}.hero-slides__shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(to top,#0a0c08c7,#0a0c0833 46%,#0a0c0800 70%);pointer-events:none}.hero-slides__caption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:0 clamp(18px,2.4vw,28px) 52px;color:var(--paper)}.hero-slides__panel{display:flex;flex-direction:column;gap:8px;max-width:440px;padding:18px 22px 16px;border-radius:22px;background:#141a169e;border:1px solid rgba(243,239,230,.18)}.hero-slides__count{font-size:11px;letter-spacing:.26em;color:var(--sun)}.hero-slides__title{font-family:var(--font-display);font-size:clamp(24px,2.6vw,34px);line-height:1.12;margin:0;font-weight:500}.hero-slides__text{margin:0;font-size:14.5px;line-height:1.55;opacity:.9}.hero-slides__link{align-self:flex-start;min-height:32px;color:var(--paper);font-size:14px}.hero-slides__link:hover{color:var(--paper)}.hero-slides__nav{position:absolute;z-index:4;left:clamp(26px,3vw,38px);right:clamp(26px,3vw,38px);bottom:20px;display:flex;gap:8px}.hero-slides__dot{flex:1;height:18px;padding:8px 0;background:none;border:0;cursor:pointer;position:relative}.hero-slides__dot:before{content:"";position:absolute;left:0;right:0;top:8px;height:3px;background:#ffffff47;border-radius:3px}.hero-slides__dot.is-active:before{background:#ffffff73}.hero-slides__bar{position:absolute;left:0;right:0;top:8px;height:3px;background:var(--sun);transform-origin:left;border-radius:3px}.hero-slides__next{position:absolute;z-index:4;top:22px;right:22px;display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;border:1px solid rgba(243,239,230,.28);background:#141a16a8;color:var(--paper);cursor:pointer;font:600 13px/1.2 var(--font-body);text-align:left;transition:background .3s,transform .3s var(--ease)}.hero-slides__next:hover{background:#141a16b8;transform:translateY(-2px)}.hero-slides__thumb{width:38px;height:38px;border-radius:50%;overflow:hidden;background:var(--ph-dark);flex:none}.hero-slides__thumb img{width:100%;height:100%;object-fit:cover;display:block}.hero-slides__nexttext{display:flex;flex-direction:column;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-slides__nexttext small{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sun);font-weight:600}.hero-card__seal{position:absolute;z-index:5;width:clamp(84px,9vw,116px);left:clamp(-34px,-2.5vw,-18px);top:clamp(20px,5%,46px);filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}.hero-card__seal-bg{fill:var(--ink-2);stroke:#d9a441b3;stroke-width:1}.hero-card__seal-ring{transform-origin:60px 60px;animation:seal-spin 28s linear infinite}.hero-card__seal text{font:600 8.6px var(--font-body);fill:var(--paper)}.hero-card__seal-kanji{font:500 15px var(--font-display)!important;letter-spacing:.08em!important;fill:var(--sun)!important}@keyframes seal-spin{to{transform:rotate(360deg)}}.hero-slides__arrows{position:absolute;z-index:6;top:12px;left:50%;transform:translate(-50%);display:flex;gap:6px}.hero-slides__arrows button{width:32px;height:32px;border-radius:50%;border:0;background:#ffffffe6;cursor:pointer;font-size:18px;line-height:1}.hero-slides .photo__edit{z-index:6}@media (prefers-reduced-motion: reduce){.hero-slides__bar{display:none}.hero-card__seal-ring,.hero-card__glow{animation:none}}@media (max-width: 760px){.hero-card__frame{transform:translate(10px,10px) rotate(1deg)}.hero-card__dots,.hero-slides__next{display:none}.hero-slides,.hero-card__frame{border-radius:120px 26px 26px}.hero-slides:after{border-radius:112px 18px 18px}.hero-card__seal{left:-8px;width:76px}.hero-slides__text{display:none}.hero-slides__panel{padding:14px 18px}}.hero-card:hover .photo__edit{opacity:1}:root{--cms-w: 372px;--cms-bg: #fff;--cms-ink: #1b231d;--cms-muted: #6a7268;--cms-line: #e3e0d6;--cms-accent: #2f6fed;--cms-danger: #b3261e}.cms-ui,.cms-ui *{box-sizing:border-box}.cms-ui{font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--cms-ink);letter-spacing:0;text-transform:none}html.cms-editing body{margin-right:var(--cms-w)}html.cms-editing .header,html.cms-editing .scroll-progress{right:var(--cms-w)}.cms-text{cursor:text;outline:1px dashed transparent;outline-offset:3px;border-radius:2px;transition:outline-color .15s;min-width:1ch}.cms-text:hover{outline-color:#2f6fed8c}.cms-text:focus{outline:2px solid var(--cms-accent);background:#2f6fed0f}.cms-text:empty:before{content:attr(data-placeholder);opacity:.45}[contenteditable]{-webkit-user-modify:read-write}.cms-section{position:relative}.cms-section:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:2px solid transparent;z-index:5;transition:border-color .15s}.cms-section:hover:after{border-color:#2f6fed73}.cms-section.is-selected:after{border-color:var(--cms-accent)}.cms-section.is-hidden>:not(.cms-ui){opacity:.35}.cms-toolbar{position:absolute;top:8px;right:8px;z-index:30;display:none;align-items:center;gap:2px;background:var(--cms-ink);color:#fff;border-radius:6px;padding:3px;box-shadow:0 6px 18px #00000047}.cms-section:hover>.cms-toolbar,.cms-section.is-selected>.cms-toolbar{display:flex}.cms-toolbar__label{padding:0 10px;font-size:12px;font-weight:600;opacity:.9}.cms-toolbar button{all:unset;box-sizing:border-box;width:30px;height:28px;display:grid;place-items:center;cursor:pointer;border-radius:4px;font-size:14px;color:#fff}.cms-toolbar button:hover:not(:disabled){background:#ffffff2e}.cms-toolbar button:disabled{opacity:.3;cursor:default}.cms-toolbar button:focus-visible{outline:2px solid #fff}.cms-insert{all:unset;box-sizing:border-box;position:absolute;left:50%;transform:translate(-50%,-50%);z-index:31;display:none;cursor:pointer;background:var(--cms-accent);color:#fff;font:600 12px/1 system-ui,sans-serif;padding:8px 14px;border-radius:999px;box-shadow:0 4px 14px #0000004d;white-space:nowrap}.cms-insert--top{top:0}.cms-insert--bottom{top:100%}.cms-section:hover>.cms-insert{display:block}.cms-insert:hover{background:#1e57c8}.cms-empty{padding:160px 24px;text-align:center}.cms-empty p{margin:0 0 16px;font-size:18px}.photo__edit{all:unset;box-sizing:border-box;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:20;cursor:pointer;background:#1b231dd1;color:#fff;font:600 13px/1 system-ui,sans-serif;padding:10px 16px;border-radius:999px;opacity:0;transition:opacity .15s}.photo:hover .photo__edit,.photo__edit:focus-visible{opacity:1}.cms-chip{all:unset;cursor:pointer;font:600 12px/1 system-ui,sans-serif;background:var(--cms-ink);color:#fff;padding:8px 14px;border-radius:999px;margin-bottom:16px;display:inline-block}.cms-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 14px;border:1px solid var(--cms-line);border-radius:6px;background:#fff;color:var(--cms-ink);font:600 13px/1 system-ui,sans-serif;cursor:pointer}.cms-btn:hover:not(:disabled){border-color:var(--cms-ink)}.cms-btn:disabled{opacity:.45;cursor:default}.cms-btn:focus-visible,.cms-icon-btn:focus-visible,.cms-tabs button:focus-visible{outline:2px solid var(--cms-accent);outline-offset:2px}.cms-btn--primary{background:var(--cms-accent);border-color:var(--cms-accent);color:#fff}.cms-btn--primary:hover:not(:disabled){background:#1e57c8;border-color:#1e57c8}.cms-btn--quiet{border-color:transparent;background:transparent;color:var(--cms-muted)}.cms-btn--danger{color:var(--cms-danger)}.cms-block{width:100%}.cms-icon-btn{all:unset;box-sizing:border-box;width:34px;height:34px;display:inline-grid;place-items:center;border:1px solid var(--cms-line);border-radius:6px;cursor:pointer;font-size:16px;background:#fff}.cms-icon-btn:hover:not(:disabled){border-color:var(--cms-ink)}.cms-icon-btn:disabled{opacity:.4;cursor:default}.cms-field{display:block;margin:0 0 12px}.cms-label{display:block;font-size:12px;font-weight:600;margin-bottom:4px;color:#3a423a}.cms-label small{font-weight:400;color:var(--cms-muted);margin-left:4px}.cms-ui input[type=text],.cms-ui input[type=url],.cms-ui input[type=number],.cms-ui input:not([type]),.cms-ui textarea,.cms-ui select{width:100%;font:14px/1.4 system-ui,sans-serif;padding:8px 10px;border:1px solid #cfccc0;border-radius:6px;background:#fff;color:var(--cms-ink)}.cms-ui textarea{resize:vertical}.cms-ui input:focus,.cms-ui textarea:focus,.cms-ui select:focus{outline:2px solid var(--cms-accent);outline-offset:0;border-color:transparent}.cms-check{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:13px;cursor:pointer}.cms-check input{width:16px;height:16px}.cms-group{border:1px solid var(--cms-line);border-radius:8px;padding:10px 12px 2px;margin:0 0 12px;min-width:0}.cms-group legend{font-size:12px;font-weight:600;padding:0 6px}.cms-error{color:var(--cms-danger);font-size:13px;margin:8px 0}.cms-muted{color:var(--cms-muted);font-size:13px;margin:0 0 12px}.cms-image{display:flex;gap:12px;align-items:center;margin-bottom:8px}.cms-image__thumb{width:84px;height:64px;flex:none;border-radius:6px;background:#ece9df;overflow:hidden;display:grid;place-items:center;font-size:11px;text-align:center;color:var(--cms-muted);padding:4px}.cms-image__thumb img{width:100%;height:100%;object-fit:cover}.cms-image__actions{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.cms-strings,.cms-list{list-style:none;margin:0 0 8px;padding:0}.cms-strings li{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:end}.cms-list li{border:1px solid var(--cms-line);border-radius:8px;margin-bottom:6px;background:#fff}.cms-list__head{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:4px 6px 4px 4px}.cms-list__title{all:unset;flex:1;min-width:0;cursor:pointer;padding:6px 8px;font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cms-list__body{padding:8px 12px 0;border-top:1px solid var(--cms-line);background:#fbfaf6;border-radius:0 0 8px 8px}.cms-row-actions{display:flex;gap:2px;flex:none}.cms-row-actions button{all:unset;box-sizing:border-box;width:26px;height:26px;display:grid;place-items:center;cursor:pointer;border-radius:4px;font-size:13px}.cms-row-actions button:hover:not(:disabled){background:#ece9df}.cms-row-actions button:disabled{opacity:.3;cursor:default}.cms-color{display:flex;align-items:center;gap:10px}.cms-color .cms-label{flex:1;margin:0}.cms-color input[type=color]{width:44px;height:32px;padding:0;border:1px solid #cfccc0;border-radius:6px;background:none;cursor:pointer}.cms-panel{position:fixed;top:0;right:0;bottom:0;width:var(--cms-w);z-index:200;background:var(--cms-bg);border-left:1px solid var(--cms-line);display:flex;flex-direction:column;box-shadow:-8px 0 30px #00000014}.cms-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:14px 14px 8px}.cms-panel__head strong{display:block;font-size:15px}.cms-panel__top{display:flex}.cms-status{display:block;font-size:12px;color:var(--cms-muted)}.cms-status:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#2e9e5b;margin-right:6px}.cms-status--pending:before{background:#e0a21b}.cms-status--error{color:var(--cms-danger)}.cms-status--error:before{background:var(--cms-danger)}.cms-panel__actions{display:flex;gap:6px;padding:0 14px 10px}.cms-panel__actions .cms-btn--primary{margin-left:auto}.cms-link-danger{all:unset;cursor:pointer;font-size:12px;color:var(--cms-danger);padding:0 14px 10px;text-decoration:underline}.cms-tabs{display:flex;border-bottom:1px solid var(--cms-line);padding:0 8px}.cms-tabs button{all:unset;box-sizing:border-box;flex:1;text-align:center;padding:10px 6px;font-size:13px;font-weight:600;color:var(--cms-muted);cursor:pointer;border-bottom:2px solid transparent}.cms-tabs button.is-active{color:var(--cms-ink);border-bottom-color:var(--cms-accent)}.cms-panel__body{flex:1;overflow-y:auto;overscroll-behavior:contain}.cms-pane{padding:14px}.cms-h{font-size:13px;font-weight:700;margin:16px 0 8px;text-transform:uppercase;letter-spacing:.06em;color:#3a423a}.cms-pane>.cms-h:first-of-type,.cms-back+.cms-h{margin-top:4px}.cms-back{all:unset;cursor:pointer;font-size:13px;color:var(--cms-accent);margin-bottom:8px;display:inline-block}.cms-back:hover{text-decoration:underline}.cms-actions-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.cms-actions-row .cms-btn{min-height:30px;padding:0 10px;font-size:12px}.cms-disclosure{all:unset;box-sizing:border-box;display:block;width:100%;padding:10px 4px;font-size:14px;font-weight:600;cursor:pointer;border-bottom:1px solid var(--cms-line)}.cms-disclosure:focus-visible{outline:2px solid var(--cms-accent)}.cms-box{padding:12px 4px 4px}.cms-accordion{margin-bottom:4px}form.cms-box{margin-top:20px;padding:14px;border:1px solid var(--cms-line);border-radius:8px;background:#fbfaf6}form.cms-box .cms-h{margin-top:0}.cms-sections{list-style:none;margin:0 0 14px;padding:0}.cms-sections li button{all:unset;box-sizing:border-box;display:block;width:100%;padding:10px;border:1px solid var(--cms-line);border-radius:6px;margin-bottom:6px;cursor:pointer;font-size:13px;font-weight:600;background:#fff}.cms-sections li button:hover{border-color:var(--cms-accent)}.cms-sections li button span{display:inline-grid;place-items:center;width:20px;height:20px;background:#ece9df;border-radius:4px;font-size:11px;margin-right:8px}.cms-sections li.is-hidden button{opacity:.55}.cms-types{list-style:none;margin:0;padding:0;display:grid;gap:6px}.cms-types button{all:unset;box-sizing:border-box;display:block;width:100%;padding:10px 12px;border:1px solid var(--cms-line);border-radius:8px;cursor:pointer;background:#fff}.cms-types button:hover,.cms-types button:focus-visible{border-color:var(--cms-accent);outline:none;background:#f4f8ff}.cms-types strong{display:block;font-size:13px}.cms-types span{display:block;font-size:12px;color:var(--cms-muted)}.cms-pages{list-style:none;margin:0 0 8px;padding:0}.cms-pages li{display:flex;align-items:center;gap:6px;margin-bottom:6px}.cms-pages li>button:first-child{all:unset;box-sizing:border-box;flex:1;min-width:0;padding:9px 12px;border:1px solid var(--cms-line);border-radius:8px;cursor:pointer;background:#fff}.cms-pages li.is-current>button:first-child{border-color:var(--cms-accent);background:#f4f8ff}.cms-pages strong{display:block;font-size:13px}.cms-pages span{display:block;font-size:12px;color:var(--cms-muted)}.cms-dock{position:fixed;right:16px;bottom:16px;z-index:200;display:flex;align-items:center;gap:8px;background:#fff;padding:8px;border-radius:12px;box-shadow:0 10px 30px #0003}.cms-dock__note{font-size:12px;color:var(--cms-muted)}.cms-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#141a168c;display:grid;place-items:center;padding:24px}.cms-modal__box{background:#fff;border-radius:12px;width:min(860px,100%);max-height:min(86vh,760px);display:flex;flex-direction:column;box-shadow:0 24px 60px #0006}.cms-modal__head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--cms-line)}.cms-modal__head h2{margin:0;font-size:16px}.cms-modal__tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:14px 18px}.cms-modal__url{display:flex;gap:6px;flex:1;min-width:240px}.cms-modal__grid{padding:4px 18px 18px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.cms-modal__grid p{grid-column:1 / -1;color:var(--cms-muted)}.cms-thumb{position:relative;aspect-ratio:4 / 3;border-radius:8px;overflow:hidden;border:2px solid transparent;background:#ece9df}.cms-thumb.is-current{border-color:var(--cms-accent)}.cms-thumb>button:first-child{all:unset;display:block;width:100%;height:100%;cursor:pointer}.cms-thumb img{width:100%;height:100%;object-fit:cover}.cms-thumb__del{all:unset;position:absolute;top:4px;right:4px;width:24px;height:24px;display:none;place-items:center;background:#000000b3;color:#fff;border-radius:50%;cursor:pointer;font-size:12px}.cms-thumb:hover .cms-thumb__del,.cms-thumb__del:focus-visible{display:grid}@media (max-width: 900px){:root{--cms-w: 0px}.cms-panel{top:auto;width:100%;height:58vh;border-left:0;border-top:1px solid var(--cms-line)}html.cms-editing body{margin-right:0;padding-bottom:58vh}}html.cms-editing .hero__inner{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:40px}html.cms-editing .split{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
