:root{--ink:#242424;--muted:#5d625f;--paper:#fffdf9;--ground:#f7f3ec;--blue:#2874b8;--yellow:#f7bd31;--orange:#eb5b2a;--green:#16836f;--pink:#ee7897;--cyan:#62bad2;--line:#2b2b2b;--soft-line:#d8d2c8;--shadow:8px 9px 0 rgba(36,36,36,.1);font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic UI",Meiryo,sans-serif;color:var(--ink);background:var(--ground);font-size:16px;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 8% 5%,rgba(98,186,210,.11) 0 3px,transparent 4px),radial-gradient(circle at 94% 18%,rgba(238,120,151,.12) 0 3px,transparent 4px),var(--ground);background-size:74px 74px,96px 96px,auto;line-height:1.8}a{color:inherit;text-underline-offset:.22em}img{display:block;max-width:100%;height:auto}.skip{position:fixed;left:1rem;top:-6rem;z-index:99;padding:.75rem 1rem;background:var(--ink);color:#fff;border-radius:.65rem}.skip:focus{top:1rem}.header-inner,.container{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:30;padding:14px 0 0;background:linear-gradient(var(--ground) 74%,transparent);backdrop-filter:blur(8px)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:10px 18px 10px 24px;border:2px solid var(--line);border-radius:22px;background:rgba(255,253,249,.97);box-shadow:5px 6px 0 rgba(36,36,36,.1)}.brand{text-decoration:none;font-size:1.75rem;font-weight:900;letter-spacing:-.06em;line-height:1}.brand span{color:var(--orange)}nav{display:flex;gap:.4rem;font-size:.95rem;font-weight:800}nav a{text-decoration:none;padding:.65rem .85rem;border-radius:12px;border:2px solid transparent}nav a:hover,nav a:focus-visible,nav a[aria-current="page"]{border-color:var(--line);background:#fff2c7}main{overflow:hidden}.eyebrow{margin:0 0 .8rem;color:var(--blue);font-size:1rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.lead{max-width:42rem;margin:0;color:var(--muted);font-size:1.125rem;line-height:1.9;font-weight:600}
.hero{padding:18px 0 0}.hero-grid{position:relative;min-height:610px;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.95fr);align-items:center;gap:2rem;overflow:hidden;padding:clamp(3rem,7vw,5.2rem);border:2px solid var(--line);border-radius:32px;background:var(--paper)}.hero-copy{position:relative;z-index:6}.hero h1,.page-hero h1{margin:.1rem 0 1.5rem;font-size:clamp(3.25rem,7vw,5.2rem);line-height:1.1;letter-spacing:-.075em}.hero h1 em{font-style:normal;color:var(--orange)}.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}.button{display:inline-flex;min-height:56px;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1.35rem;border:2px solid var(--line);border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-size:1rem;font-weight:900;box-shadow:5px 5px 0 var(--yellow);transition:transform .22s,box-shadow .22s}.button:hover,.button:focus-visible{transform:translateY(-3px);box-shadow:7px 8px 0 var(--yellow)}.button--secondary{background:var(--paper);color:var(--ink);box-shadow:none}.button--small{min-height:48px;padding:.55rem 1rem;font-size:.95rem;box-shadow:4px 4px 0 var(--yellow)}
.hero-visual{position:relative;height:460px;min-width:0}.hero-blob{position:absolute;border:2px solid var(--line)}.hero-blob--yellow{width:390px;height:390px;right:-80px;top:20px;border-radius:48% 52% 42% 58%/58% 45% 55% 42%;background:var(--yellow);transform:rotate(-7deg)}.hero-blob--blue{width:230px;height:215px;left:-15px;bottom:-70px;border-radius:55% 45% 48% 52%/45% 58% 42% 55%;background:var(--cyan);transform:rotate(12deg)}.hero-browser{position:absolute;z-index:4;width:255px;height:185px;right:35px;top:135px;overflow:hidden;border:3px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:12px 13px 0 var(--green);transform:rotate(5deg);animation:float 4.8s ease-in-out infinite}.hero-browser__bar{display:block;height:40px;padding:5px 13px;border-bottom:3px solid var(--line);color:var(--orange);font-size:.8rem;letter-spacing:.35em}.hero-browser__content{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;padding:20px}.hero-browser__content span{grid-row:1/4;display:grid;place-items:center;width:60px;height:60px;border:2px solid var(--line);border-radius:15px;background:#fff1c4;font-size:2rem}.hero-browser__content i,.hero-browser__content b{display:block;height:10px;border-radius:10px;background:var(--blue)}.hero-browser__content b{width:68%;background:var(--orange)}.hero-tool{position:absolute;z-index:5;display:grid;place-items:center;width:104px;height:104px;border:3px solid var(--line);border-radius:50%;background:var(--paper);font-size:2.7rem;box-shadow:7px 8px 0 var(--pink);animation:float 3.8s ease-in-out infinite}.hero-tool--idea{left:5px;top:75px;transform:rotate(-12deg)}.hero-tool--package{right:-5px;bottom:15px;box-shadow-color:var(--blue);animation-delay:-1.3s}.hero-doodle{position:absolute;right:2%;top:-28px;z-index:6;color:var(--blue);font-family:Georgia,serif;font-size:4.6rem;font-weight:900;transform:rotate(17deg);animation:wiggle 5s ease-in-out infinite}.hero-confetti{position:absolute;z-index:7;width:10px;height:18px;animation:drift 6s ease-in-out infinite}.hero-confetti--one{left:5%;top:10%;background:var(--pink);transform:rotate(25deg)}.hero-confetti--two{left:45%;top:4%;background:var(--green);animation-delay:-2s}.hero-confetti--three{right:7%;top:8%;background:var(--yellow);animation-delay:-4s}
.section{padding:18px 0 0}.section>.container{position:relative;padding:clamp(2.3rem,5vw,4rem);border:2px solid var(--line);border-radius:32px;background:var(--paper)}.section--tint{background:transparent}.section--tint>.container,.section--tint>.reading{background:#fff0c8}.section-heading{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);align-items:end;gap:2.5rem;margin-bottom:2.2rem}.section-heading h2{margin:0;font-size:clamp(2.35rem,5vw,3.65rem);line-height:1.2;letter-spacing:-.055em}.section-heading p{max-width:38rem;margin:0;color:var(--muted);font-size:1.0625rem;line-height:1.9}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}.service-card{display:flex;flex-direction:column;overflow:hidden;border:3px solid var(--line);border-radius:26px;background:var(--paper);transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-7px) rotate(-.25deg);box-shadow:var(--shadow)}.service-card__image{display:block;overflow:hidden;border-bottom:3px solid var(--line);background:#fff2c7}.service-card__image img{aspect-ratio:16/9;object-fit:cover;transition:transform .4s}.service-card:hover .service-card__image img{transform:scale(1.035) rotate(.35deg)}.service-card__body{display:flex;flex:1;flex-direction:column;padding:1.45rem}.card-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 .75rem;color:var(--blue);font-size:.875rem;font-weight:900}.card-meta span{padding:.28rem .65rem;border:1px solid var(--blue);border-radius:999px;background:#eef7ff}.service-card h3{margin:0;font-size:1.55rem;line-height:1.4}.service-card h3 a{text-decoration:none}.service-card__body>p:not(.card-meta){margin:.75rem 0 1.25rem;color:var(--muted);font-size:1rem}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;border-top:2px solid var(--soft-line)}.text-link{font-weight:900;color:var(--blue)}
.capability-grid,.note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}.capability,.note-card{padding:1.65rem;border:2px solid var(--line);border-radius:22px;background:var(--paper)}.capability:nth-child(1){box-shadow:6px 7px 0 var(--yellow)}.capability:nth-child(2){box-shadow:6px 7px 0 var(--cyan)}.capability:nth-child(3){box-shadow:6px 7px 0 var(--pink)}.capability:nth-child(4){box-shadow:6px 7px 0 var(--green)}.capability:nth-child(5){box-shadow:6px 7px 0 var(--orange)}.capability .number{color:var(--orange);font-size:.9rem;font-weight:900;letter-spacing:.12em}.capability h3,.note-card h3{margin:.45rem 0 .7rem;font-size:1.3rem;line-height:1.45}.capability p,.note-card p{margin:0;color:var(--muted);font-size:1rem}.note-card{display:flex;flex-direction:column;min-height:290px}.note-card .text-link{margin-top:auto;padding-top:1.2rem}.project-band{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3rem;padding:2.5rem;border:2px solid var(--line);border-radius:24px;background:var(--ink);color:#fff}.project-band h2{margin:0 0 .6rem;font-size:clamp(2rem,4vw,3rem)}.project-band p{margin:0;color:#d7dfdc;font-size:1.0625rem}.project-band .button{background:var(--yellow);color:var(--ink);box-shadow:5px 5px 0 var(--orange)}
.page-hero{margin-top:18px;padding:clamp(2.8rem,7vw,5rem);border:2px solid var(--line);border-radius:32px;background:var(--paper)}.page-hero h1{font-size:clamp(3rem,6vw,5rem)}.breadcrumbs{margin:0 0 1.4rem;color:var(--muted);font-size:1rem}.reading{width:min(820px,calc(100% - 40px));margin:18px auto 0;padding:clamp(2rem,5vw,4rem);border:2px solid var(--line);border-radius:30px;background:var(--paper);font-size:1rem}.reading h2{margin-top:3.2rem;font-size:2rem;line-height:1.4}.reading h2:first-child{margin-top:0}.reading h3{margin-top:2.2rem;font-size:1.35rem}.reading p,.reading li{color:#364c51;font-size:1rem;line-height:1.9}.reading .callout{margin:2rem 0;padding:1.5rem;border:2px solid var(--line);border-radius:18px;background:#fff0c8;box-shadow:5px 5px 0 var(--orange)}.fact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2rem 0}.fact{padding:1.35rem;border:2px solid var(--line);border-radius:18px;background:var(--paper)}.fact strong{display:block;margin-bottom:.35rem}.not-found{margin-top:18px;padding:7rem 2rem;text-align:center;border:2px solid var(--line);border-radius:32px;background:var(--paper)}
.site-footer{padding:18px 0 22px;background:transparent}.footer-grid{padding:2.5rem 2.8rem;border:2px solid var(--line);border-radius:30px;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr auto;gap:2rem}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem 1.3rem}.footer-links a{font-size:1rem}.legal{margin:.7rem 0 0;color:#cbd7d4;font-size:.9rem}.hintdock-monetization-slot[hidden]{display:none!important}:focus-visible{outline:4px solid var(--yellow);outline-offset:4px}
.has-motion .section>.container,.has-motion .reading,.has-motion .page-hero{opacity:1;transform:none}.has-motion .is-visible{animation:rise-in .65s ease both}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -10px}}@keyframes wiggle{0%,100%{rotate:-5deg;translate:0 0}50%{rotate:7deg;translate:0 -7px}}@keyframes drift{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 11px;rotate:50deg}}@keyframes rise-in{from{opacity:.72;transform:translateY(22px)}to{opacity:1;transform:none}}
@media(max-width:900px){.header-inner{min-height:68px}.header-inner nav{gap:.15rem;font-size:.88rem}.hero-grid{grid-template-columns:1fr;min-height:800px;padding:3rem 2.2rem 410px}.hero-visual{position:absolute;left:8%;right:3%;bottom:0;height:400px}.hero h1{font-size:clamp(3.1rem,10vw,4.5rem)}.section-heading{grid-template-columns:1fr}.service-grid,.capability-grid,.note-grid{grid-template-columns:1fr}.service-card{max-width:680px}.project-band{grid-template-columns:1fr}.fact-list{grid-template-columns:1fr}}
@media(max-width:560px){.header-inner,.container,.reading{width:min(100% - 20px,1180px)}.site-header{padding-top:10px}.header-inner{padding:8px 13px}.brand{font-size:1.4rem}.header-inner nav a:nth-child(2),.header-inner nav a:nth-child(3){display:none}.hero{padding-top:10px}.hero-grid{min-height:735px;padding:2.5rem 1.45rem 340px;border-radius:24px}.hero h1{font-size:2.85rem}.lead{font-size:1rem}.hero-actions{align-items:stretch;flex-direction:column}.button{width:100%}.hero-visual{left:0;right:0;height:330px}.hero-blob--yellow{width:280px;height:280px;right:-70px}.hero-blob--blue{width:170px;height:160px;left:-40px;bottom:-35px}.hero-browser{width:205px;height:158px;right:38px;top:85px}.hero-browser__content{padding:14px}.hero-tool{width:78px;height:78px;font-size:2rem}.hero-tool--idea{left:15px;top:50px}.hero-tool--package{right:5px;bottom:25px}.section{padding-top:10px}.section>.container,.page-hero,.reading{padding:2rem 1.35rem;border-radius:24px}.section-heading h2{font-size:2.45rem}.section-heading p{font-size:1rem}.service-card{border-radius:21px}.card-actions{align-items:flex-start;flex-direction:column}.project-band{padding:1.6rem}.footer-grid{grid-template-columns:1fr;padding:2rem 1.4rem}.footer-links{justify-content:flex-start}.page-hero{margin-top:10px}.page-hero h1{font-size:2.75rem}.reading{margin-top:10px}.not-found{margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
