:root{--paper: #faf9f5;--paper-deep: #f5f1e6;--paper-card: #fdfdfa;--paper-glow: #fefefd;--ink: #31302d;--ink-strong: #2b2620;--ink-soft: #58554e;--ink-warm: #44423a;--ink-faint: #6e6b60;--line: #e9e2d2;--salmon: #dab862;--salmon-soft: #eaddb8;--salmon-pale: #f8f3e7;--coral: #e08c04;--brand: #915f01;--brand-mid: #a87f25;--brand-deep: #6d4701;--salmon-rgb: 218,184,98;--coral-rgb: 224,140,4;--brand-rgb: 145,95,1;--ink-rgb: 43,38,32;--paper-rgb: 250,249,245;--shadow-rgb: 104,73,11;--c-ring: #e0a330;--c-link: #e07a4f;--c-global: #4f97bf;--c-clover: #6fae4e;--leaf-ink: #241d1b;--focus-ring: #6d4701;--pl-edge: #ebe3c2;--maxw: 1180px;--gut: clamp(1.4rem, 5vw, 3rem);--radius: 18px;--radius-sm: 12px;--shadow-soft: 0 18px 50px -28px rgba(var(--shadow-rgb), .45);--shadow-card: 0 28px 64px -34px rgba(var(--shadow-rgb), .5);--shadow-pop: 0 14px 36px -18px rgba(var(--shadow-rgb), .45);--display: "Reggae One", "Zen Kaku Gothic New", system-ui, sans-serif;--serif: "Libre Baskerville", "Times New Roman", serif;--sans: "Zen Kaku Gothic New", system-ui, -apple-system, sans-serif;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-soft: cubic-bezier(.45, 0, .15, 1);--ease-slide: cubic-bezier(.16, 1, .3, 1);--hero-in-delay: 2.5s;--hero-in-dur: 2.5s;--sl-x: 64px;--sl-x-sm: 38px;--sl-y: 30px;--sl-band-x: 96px;--sl-dur: .7s;--sl-dur-line: .66s;--sl-dur-band: .88s}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.9;font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;background-image:radial-gradient(1100px 620px at 84% -8%,rgba(var(--salmon-rgb),.24),transparent 60%),radial-gradient(900px 560px at -12% 24%,rgba(var(--coral-rgb),.1),transparent 58%),radial-gradient(820px 520px at 50% 118%,rgba(var(--salmon-rgb),.16),transparent 60%);background-attachment:fixed}::selection{background:var(--brand);color:var(--paper-glow)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font-family:inherit}a,button,input,textarea,label{touch-action:manipulation}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:6px}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}.tap44{position:relative}.tap44:after{content:"";position:absolute;left:-8px;right:-8px;top:50%;transform:translateY(-50%);height:44px}section{position:relative}.eyebrow{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(.92rem,1.3vw,1.08rem);letter-spacing:.12em;color:var(--brand)}.eyebrow:before{content:"";width:26px;height:2px;border-radius:2px;background:currentColor;display:inline-block}.eyebrow .clover-dot{width:14px;height:14px;flex:0 0 auto}.sec-title{font-family:var(--sans);font-weight:900;color:var(--brand-deep);font-size:clamp(2.1rem,5.2vw,3.5rem);line-height:1.24;letter-spacing:.01em;margin:.9rem 0 1.4rem;line-break:strict}.sec-title .en{font-family:var(--display);font-weight:400;color:var(--brand);font-size:.34em;letter-spacing:.12em;margin-top:.55rem;line-height:1}.lead{color:var(--ink-soft);max-width:60ch;font-size:1.04rem}.nav{position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;transition:background .35s ease,box-shadow .35s ease,padding .35s ease;padding:1.15rem 0}.nav.scrolled{background:rgba(var(--paper-rgb),.88);backdrop-filter:blur(13px) saturate(1.15);-webkit-backdrop-filter:blur(13px) saturate(1.15);box-shadow:0 1px 0 var(--line),0 14px 34px -28px rgba(var(--shadow-rgb),.5);padding:.7rem 0}.nav.on-hero:not(.scrolled){--focus-ring: var(--salmon-soft)}.nav.on-hero:not(.scrolled) .brand .name{color:var(--paper-glow);text-shadow:0 2px 18px rgba(var(--ink-rgb),.55)}.nav.on-hero:not(.scrolled) .menu>a{color:var(--paper-glow);text-shadow:0 1px 12px rgba(var(--ink-rgb),.8)}.nav.on-hero:not(.scrolled) .menu>a:after{background:var(--salmon)}.nav.on-hero:not(.scrolled) .menu .cta{background:rgba(var(--paper-rgb),.97);color:var(--brand-deep);text-shadow:none}.nav.on-hero:not(.scrolled) .burger span{background:var(--paper)}.nav.on-hero:not(.scrolled):before{content:"";position:absolute;inset:0 0 auto;height:210px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#100e0d8a,#100e0d75,#100e0d47 60%,#100e0d1c 82%,#100e0d00)}body.menu-open .nav:before{display:none}body.menu-open .nav,body.menu-open .nav.scrolled{z-index:112;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.nav .wrap{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:.6rem}.brand-logo{height:66px;width:auto;display:block}.brand .light{display:none}.nav.on-hero:not(.scrolled) .brand .dark{display:none}.nav.on-hero:not(.scrolled) .brand .light{display:block;filter:drop-shadow(0 3px 12px rgba(var(--ink-rgb),.55))}.nav.scrolled .brand-logo{height:52px}body.menu-open .brand .dark{display:none}body.menu-open .brand .light{display:block;filter:drop-shadow(0 3px 12px rgba(var(--ink-rgb),.55))}.brand .name{font-family:var(--display);font-weight:400;font-size:1.28rem;color:var(--brand-deep);letter-spacing:.02em;line-height:1}.menu{display:flex;align-items:center;gap:clamp(1rem,2.3vw,2.2rem)}.menu>a{font-family:var(--serif);font-size:.8rem;letter-spacing:.12em;color:var(--ink-soft);position:relative;padding:.72rem 0;transition:color .25s ease}.menu>a:after{content:"";position:absolute;left:0;bottom:.52rem;height:2px;width:0;border-radius:2px;background:var(--brand);transition:width .3s var(--ease-out)}.menu .cta{font-family:var(--sans);font-weight:700;font-size:.82rem;letter-spacing:.04em;color:var(--paper-glow);background:var(--brand);padding:.6rem 1.2rem;border-radius:999px;transition:background .25s ease,transform .25s ease,box-shadow .25s ease}.menu .cta:after{display:none}.burger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:48px;height:48px;background:none;border:0;border-radius:12px;cursor:pointer;padding:0;z-index:116}.burger span{width:25px;height:2.5px;background:var(--brand);border-radius:2px;transition:.3s var(--ease-out)}.burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}@media(hover:hover){.menu>a:hover{color:var(--brand)}.menu>a:hover:after{width:100%}.menu .cta:hover{background:var(--brand-deep);transform:translateY(-2px);box-shadow:var(--shadow-pop)}.menu>a.cta:hover{color:var(--paper-glow)}.nav.on-hero:not(.scrolled) .menu>a:hover{color:var(--paper-glow)}.nav.on-hero:not(.scrolled) .menu .cta:hover{background:var(--paper-glow)}.nav.on-hero:not(.scrolled) .menu>a.cta:hover{color:var(--brand-deep)}.btn:hover .arrow{transform:translate(4px)}.btn-primary:hover{background:var(--brand-deep);transform:translateY(-2px);box-shadow:var(--shadow-pop)}.btn-ghost:hover{background:rgba(var(--brand-rgb),.08);transform:translateY(-2px)}.company .meaning .row:hover{transform:translate(4px);box-shadow:var(--shadow-pop)}.card:hover{transform:translateY(-7px);box-shadow:var(--shadow-card);border-color:var(--accent)}footer .fnav a:hover{color:var(--salmon)}}.btn:active,.menu .cta:active{transform:scale(.97);transition-duration:.1s}.burger:active{background:rgba(var(--brand-rgb),.12)}@media(hover:none){.btn:active .arrow{transform:translate(4px)}.menu>a:active{color:var(--brand)}.company .meaning .row:active{transform:translate(4px);box-shadow:var(--shadow-pop);transition-duration:.12s}.card:active{transform:translateY(-4px);box-shadow:var(--shadow-card);transition-duration:.12s}footer .fnav a:active{color:var(--salmon)}}.hero{min-height:100svh;display:grid;place-items:center;padding:clamp(7rem,14vh,10rem) 0 clamp(4rem,9vh,6.5rem);position:relative;overflow:hidden;background:var(--ink-strong);text-align:center;--focus-ring: var(--salmon-soft)}.hero-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:saturate(1.08) contrast(1.04);opacity:0;transform:scale(1.07);transition:opacity 1.5s ease,transform 11s ease-out}.hero-video.is-ready{opacity:1;transform:scale(1)}.hero:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(var(--ink-rgb),.16) 0% 14%,rgba(var(--ink-rgb),.36) 40% 66%,rgba(var(--ink-rgb),.28)),radial-gradient(110% 52% at 50% 52%,rgba(var(--ink-rgb),.18),rgba(var(--ink-rgb),0))}.hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.42;mix-blend-mode:soft-light;background-image:radial-gradient(900px 520px at 80% 14%,rgba(var(--salmon-rgb),.6),transparent 60%),radial-gradient(820px 520px at 14% 90%,rgba(var(--coral-rgb),.34),transparent 58%)}.hero .wrap{position:relative;z-index:3;display:grid;justify-items:center;gap:.2rem}.hero .wrap:before{content:"";position:absolute;z-index:-1;pointer-events:none;left:50%;top:50%;transform:translate(-50%,-50%);width:min(140%,1200px);height:min(200%,700px);background:radial-gradient(closest-side,rgba(var(--ink-rgb),.52) 0% 32%,rgba(var(--ink-rgb),.27) 66%,rgba(var(--ink-rgb),0))}.hero-kick{position:relative;font-family:var(--serif);font-style:italic;font-weight:400;color:var(--salmon-soft);letter-spacing:.14em;font-size:clamp(.95rem,1.5vw,1.15rem);text-shadow:0 2px 16px rgba(var(--ink-rgb),.6);opacity:0;transform:translate(-34px)}.hero.is-live .hero-kick{animation:slide-from-l calc(var(--hero-in-dur) * .9) max(0s,calc(var(--hero-in-delay) - .15s)) var(--ease-slide) forwards}.hero-kick:before,.hero-script:before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-.35em -1.1em;border-radius:999px;filter:blur(17px)}.hero-kick:before{background:rgba(var(--ink-rgb),.66)}.hero-script:before{background:rgba(var(--ink-rgb),.46)}.hero-logo{font-family:var(--display);font-weight:400;color:var(--paper-glow);font-size:clamp(2.5rem,13.2vw,9.5rem);line-height:1;letter-spacing:.015em;margin:.5rem 0 .2rem;text-shadow:0 3px 0 rgba(var(--ink-rgb),.28),0 10px 40px rgba(var(--ink-rgb),.62),0 2px 14px rgba(var(--ink-rgb),.5);opacity:0;transform:translateY(38px) scale(.98)}.hero.is-live .hero-logo{animation:logo-in var(--hero-in-dur) var(--hero-in-delay) var(--ease-slide) forwards}@keyframes logo-in{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slide-from-l{to{opacity:1;transform:none}}@keyframes slide-from-r{to{opacity:1;transform:none}}@keyframes rise{to{opacity:1;transform:none}}.hero-leaves{display:flex;gap:.7rem;margin:.9rem 0 1.1rem;opacity:0;transform:translateY(16px)}.hero.is-live .hero-leaves{animation:rise calc(var(--hero-in-dur) * .9) calc(var(--hero-in-delay) + .52s) var(--ease-slide) forwards}.hero-leaves span{width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 5px #ffffff17}.hero-leaves .l1{background:var(--c-ring)}.hero-leaves .l2{background:var(--c-link)}.hero-leaves .l3{background:var(--c-global)}.hero-leaves .l4{background:var(--c-clover)}.hero-script{position:relative;font-family:"Dancing Script",var(--serif),cursive;font-weight:500;color:rgba(var(--paper-rgb),.96);font-size:clamp(.62rem,3vw,2.05rem);letter-spacing:.04em;line-height:1.4;white-space:nowrap;max-width:100%;min-width:0;text-shadow:0 2px 22px rgba(var(--ink-rgb),.65);opacity:0;transform:translate(34px)}.hero.is-live .hero-script{animation:slide-from-r calc(var(--hero-in-dur) * .9) calc(var(--hero-in-delay) + .34s) var(--ease-slide) forwards}.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--sans);font-weight:700;letter-spacing:.03em;font-size:.96rem;padding:.9rem 1.7rem;border-radius:999px;cursor:pointer;border:2px solid transparent;transition:transform .25s var(--ease-out),background .25s ease,box-shadow .25s ease,color .25s ease,border-color .25s ease}.btn .arrow{transition:transform .25s var(--ease-out)}.btn-primary{background:var(--brand);color:var(--paper-glow);box-shadow:var(--shadow-soft)}.btn-ghost{background:transparent;color:var(--brand);border-color:var(--brand-mid)}.scroll-hint{position:absolute;left:0;right:0;bottom:1.5rem;margin-inline:auto;width:max-content;z-index:3;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(var(--paper-rgb),.72);font-family:var(--serif);font-style:italic;font-size:.72rem;letter-spacing:.22em;opacity:0;transform:translateY(12px)}.hero.is-live .scroll-hint{animation:rise var(--hero-in-dur) calc(var(--hero-in-delay) + .85s) var(--ease-slide) forwards}.scroll-hint .bar{width:2px;height:44px;background:linear-gradient(rgba(var(--paper-rgb),.55),transparent);position:relative;overflow:hidden;border-radius:2px}.scroll-hint .bar:after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--salmon);animation:drip 1.9s ease-in-out infinite}@keyframes drip{0%{top:-50%}to{top:110%}}.blob{position:absolute;border-radius:46% 54% 60% 40%/52% 44% 56% 48%;filter:blur(46px);opacity:.5;pointer-events:none;z-index:0;animation:blob-float 16s ease-in-out infinite alternate}@keyframes blob-float{0%{transform:translate(0) scale(1) rotate(0)}to{transform:translate(18px,-22px) scale(1.08) rotate(12deg)}}.emblem{padding:clamp(4.5rem,10vw,7.5rem) 0 clamp(4rem,9vw,6.5rem);position:relative;overflow:hidden;text-align:center;background:var(--paper)}.emblem:before{content:"";position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:min(96vw,880px);height:min(78vw,640px);border-radius:50%;background:radial-gradient(closest-side,rgba(var(--salmon-rgb),.32),rgba(var(--salmon-rgb),0));pointer-events:none}.emblem:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(74vw,580px);height:min(58vw,450px);border-radius:50%;background:radial-gradient(closest-side,#fffffff0,#fff0);pointer-events:none}.emblem .wrap{position:relative;z-index:1;display:grid;justify-items:center}.emblem-kick{font-family:var(--serif);font-style:italic;letter-spacing:.14em;color:var(--brand);font-size:clamp(.92rem,1.3vw,1.08rem)}.emblem-figure{width:min(84vw,500px);margin:clamp(-3rem,-6vw,-1.4rem) 0 0}.emblem-figure img{width:100%;height:auto;filter:drop-shadow(0 20px 36px rgba(var(--shadow-rgb),.2))}.emblem-words{margin-top:clamp(-3.2rem,-6vw,-1.6rem);font-family:var(--sans);font-weight:700;color:var(--ink);font-size:clamp(1.02rem,2vw,1.22rem);letter-spacing:.04em}.philosophy{background:var(--salmon);color:var(--ink-strong);padding:clamp(4.5rem,10vw,7.5rem) 0;position:relative;overflow:hidden}.philosophy:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(72% 130% at 86% 6%,rgba(255,255,255,.34),transparent 62%),radial-gradient(62% 120% at 8% 98%,rgba(var(--coral-rgb),.28),transparent 60%)}.philosophy .wrap{position:relative;text-align:center}.philosophy .leaf-row{position:relative;display:flex;justify-content:center;gap:.9rem;margin-bottom:1.6rem}.philosophy .leaf-row:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:340px;height:170px;border-radius:50%;z-index:0;background:radial-gradient(closest-side,#fff9,#ffffff57 46%,#fff0)}.philosophy .leaf-row img{position:relative;z-index:1;width:34px;height:auto;opacity:0;transform:translateY(18px) scale(.6);transition:opacity .62s var(--ease-slide) var(--lf-d, 0ms),transform .62s var(--ease-slide) var(--lf-d, 0ms)}.philosophy .leaf-row img:nth-child(1){--lf-d: .42s}.philosophy .leaf-row img:nth-child(2){--lf-d: .5s}.philosophy .leaf-row img:nth-child(3){--lf-d: .58s}.philosophy .leaf-row img:nth-child(4){--lf-d: .66s}.sl-band.in .leaf-row img{opacity:.95;transform:none}.philosophy blockquote{font-family:var(--sans);font-weight:900;font-size:clamp(1.35rem,6.4vw,3.05rem);line-height:1.5;letter-spacing:.02em}.philosophy blockquote .ph-en{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(1.02rem,2.6vw,1.7rem);letter-spacing:.05em;line-height:1.6;color:var(--ink);margin-bottom:.85rem}.philosophy blockquote .hl{white-space:nowrap;padding-inline:.12em;box-shadow:inset 0 -.52em #fffc}.philosophy .src{margin-top:1.5rem;font-family:var(--serif);font-style:italic;color:var(--ink-warm);font-size:.92rem;letter-spacing:.12em}.aboutus{background:var(--paper-deep);padding:clamp(5rem,12vw,8.5rem) 0;position:relative;overflow:hidden}.aboutus .au-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(1.4rem,4vw,4rem);align-items:start}.aboutus .au-title{font-family:var(--serif);font-weight:700;color:var(--brand-deep);font-size:clamp(1.8rem,3.8vw,2.5rem);line-height:1.22;letter-spacing:.005em;font-feature-settings:normal}.aboutus .au-title .ln{word-break:normal}.aboutus .au-body{position:relative;padding-left:clamp(1rem,2vw,1.75rem);max-width:37em;font-family:var(--serif);font-weight:400;color:var(--ink);font-size:clamp(1.02rem,.68rem + .5vw,1.14rem);line-height:1.9;letter-spacing:0;font-feature-settings:normal;font-kerning:normal;font-variant-ligatures:common-ligatures contextual;word-break:normal;line-break:auto;hyphens:none;text-wrap:pretty}.aboutus .au-body:before{content:"";position:absolute;left:0;top:.3em;bottom:.3em;width:2px;border-radius:2px;background:var(--brand-mid);transform:scaleY(0);transform-origin:top;transition:transform .9s var(--ease-slide) .24s}.aboutus .au-body.in:before{transform:scaleY(1)}.aboutus .au-body p+p{margin-top:1.45em}.aboutus .au-body .p-open{font-size:1.1em;line-height:1.78}.aboutus .au-body .p-close{margin-top:1.95em}@media(max-width:980px){.aboutus .au-grid{grid-template-columns:1fr;gap:clamp(1rem,3vw,1.5rem)}.aboutus .au-body{max-width:40em}}@media(max-width:480px){.aboutus{padding-top:4.6rem;padding-bottom:4.6rem}.aboutus .au-body{padding-left:1rem;line-height:1.86}}.company{padding:clamp(6rem,14vw,11rem) 0;position:relative;overflow:hidden}.company .b1{width:420px;height:420px;top:-80px;right:-90px;background:var(--salmon-soft);opacity:.5}.company .grid{position:relative;z-index:1;display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}.company .intro p{margin-top:1.1rem}.company .meaning{margin-top:3rem;display:grid;gap:.7rem}.company .meaning .row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--paper-card);border:1px solid var(--line)}.company .meaning .chip{display:inline-flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-style:italic;font-size:.92rem;letter-spacing:.04em;color:var(--leaf-ink);min-width:5.4rem;padding:.3rem .7rem;border-radius:999px}.company .meaning .row.ring .chip{background:var(--c-ring)}.company .meaning .row.link .chip{background:var(--c-link)}.company .meaning .row.global .chip{background:var(--c-global)}.company .meaning .row.clover .chip{background:var(--c-clover)}.company .meaning .gloss{color:var(--ink-soft);font-size:.98rem}.profile{background:var(--paper-card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.profile .head{display:flex;align-items:center;justify-content:space-between;padding:1.3rem 1.6rem;background:var(--brand);color:var(--paper-glow);box-shadow:inset 0 -3px rgba(var(--paper-rgb),.24)}.profile .head h3{font-family:var(--sans);font-weight:900;font-size:1.12rem;letter-spacing:.03em}.profile .head .en{font-family:var(--serif);font-style:italic;color:rgba(var(--paper-rgb),.95);font-size:.92rem}.profile dl{display:grid;grid-template-columns:8.5rem 1fr}.profile dt,.profile dd{padding:.92rem 1.6rem;border-bottom:1px solid var(--line);font-size:.95rem;font-variant-numeric:tabular-nums}.profile dt{color:var(--ink-faint);font-weight:700;letter-spacing:.06em;background:var(--salmon-pale);border-right:1px solid var(--line)}.profile dd{color:var(--ink)}.profile dl>:nth-last-child(-n+2){border-bottom:0}.profile .rep{font-weight:700}.profile .rep small{display:block;font-weight:500;color:var(--ink-faint);letter-spacing:.04em}.service{background:var(--paper-deep);padding:clamp(6rem,14vw,11rem) 0;position:relative;overflow:hidden}.service .b1{width:460px;height:460px;bottom:-120px;left:-120px;background:var(--salmon);opacity:.3}.service .wrap{position:relative;z-index:1}.service .head{max-width:none}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-top:3.6rem}.card{background:var(--paper-card);border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.6rem 2.1rem;position:relative;overflow:hidden;transition:transform .3s var(--ease-out),box-shadow .3s ease,border-color .3s ease,opacity var(--sl-dur) var(--ease-slide) var(--sl-d, 0ms)}.card:after{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--accent);opacity:.95;transform-origin:left;transform:scaleX(0);transition:transform .8s var(--ease-slide) .32s}.card.in:after{transform:scaleX(1)}.card .ico{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;margin-bottom:1.1rem;color:var(--leaf-ink);background:var(--accent);box-shadow:0 12px 28px -14px var(--accent)}.card .ico svg{width:27px;height:27px}.card .no{position:absolute;top:1.2rem;right:1.4rem;font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--ink-faint)}.card h4{font-family:var(--sans);font-weight:900;font-size:1.16rem;color:var(--ink);margin-bottom:.5rem;line-height:1.35}.card h4 .en{display:block;font-family:var(--serif);font-style:italic;font-size:.78rem;color:var(--ink-faint);letter-spacing:.06em;margin-top:.25rem;font-weight:400}.card p{font-size:.92rem;color:var(--ink-soft);line-height:1.85}.card.c1{--accent: var(--c-clover)}.card.c2{--accent: var(--c-global)}.card.c3{--accent: var(--c-ring)}.card.c4{--accent: var(--c-link)}.message{background:var(--ink-strong);color:var(--paper);padding:clamp(6rem,14vw,11rem) 0;position:relative;overflow:hidden;--focus-ring: var(--salmon-soft)}.message:before{content:"";position:absolute;inset:0;background:radial-gradient(64% 110% at 12% 4%,rgba(var(--salmon-rgb),.26),transparent 62%),radial-gradient(52% 100% at 96% 92%,rgba(var(--coral-rgb),.16),transparent 60%)}.message .wrap{position:relative;z-index:1;display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}.message .portrait{position:relative}.message .portrait img{width:100%;border-radius:var(--radius);object-fit:cover;aspect-ratio:4/3;box-shadow:0 30px 60px -28px rgba(var(--ink-rgb),.85);border:3px solid rgba(var(--salmon-rgb),.32)}.message .portrait .badge{position:absolute;left:-14px;bottom:-14px;background:var(--paper-glow);color:var(--brand-deep);padding:.7rem 1.1rem;border-radius:14px;box-shadow:var(--shadow-pop);font-family:var(--sans);font-weight:700;font-size:.88rem;line-height:1.4}.message .portrait .badge .sig{font-family:var(--serif);font-style:italic;font-size:1.05rem;display:block}.message .eyebrow{color:var(--salmon)}.message .sec-title{color:var(--paper-glow)}.message .sec-title .en{color:rgba(var(--paper-rgb),.66)}.message .body{color:rgba(var(--paper-rgb),.94);font-size:1.04rem;line-height:2.1;max-width:60ch;margin-top:1.3rem}.message .body p+p{margin-top:1.05rem}.message .pull{margin-top:1.8rem;font-family:var(--sans);font-weight:900;font-size:clamp(1.3rem,2.8vw,1.7rem);line-height:1.5;color:var(--paper-glow)}.message .pull .hl{color:var(--salmon)}.message .sign{margin-top:1.4rem;font-family:var(--serif);font-style:italic;letter-spacing:.06em;color:rgba(var(--paper-rgb),.88)}.message .sign b{font-family:var(--sans);font-style:normal;font-weight:700;font-size:1.15rem;color:var(--paper-glow);letter-spacing:.04em}.vision{padding:clamp(6rem,14vw,11rem) 0;position:relative;overflow:hidden}.vision .b1{width:440px;height:440px;top:-100px;left:-110px;background:var(--coral);opacity:.16}.vision .wrap{position:relative;z-index:1}.vision .head{text-align:center}.vision .figure{margin-top:2.6rem;position:relative;border-radius:calc(var(--radius) + 6px);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--line);--focus-ring: var(--salmon-soft)}.vision .figure img{width:100%;height:clamp(260px,42vw,480px);object-fit:cover;object-position:50% 50%}.vision .figure .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--ink-rgb),0) 30%,rgba(var(--ink-rgb),.74) 72%,rgba(var(--ink-rgb),.95))}.vision .figure .words{position:absolute;left:0;right:0;bottom:0;padding:clamp(1.6rem,4vw,3rem);color:var(--paper-glow);text-align:center}.vision .figure .words p{font-family:var(--sans);font-weight:500;font-size:clamp(1.05rem,2.2vw,1.5rem);line-height:1.7;letter-spacing:.03em;text-shadow:0 2px 18px rgba(var(--ink-rgb),.7);max-width:40ch;margin:0 auto}.vision .figure .words .em{font-weight:900;color:var(--salmon-soft)}.contact{padding:clamp(6rem,14vw,11rem) 0;position:relative;overflow:hidden}.contact .b1{width:420px;height:420px;bottom:-110px;right:-110px;background:var(--salmon-soft);opacity:.45}.contact .grid{position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}.contact .info p{margin-top:1.1rem}.contact .lines{margin-top:2rem;display:grid;gap:1.1rem}.contact .lines .item{display:flex;gap:.9rem;align-items:flex-start}.contact .lines .item .ic{width:42px;height:42px;border-radius:12px;flex:0 0 auto;display:grid;place-items:center;color:var(--brand);background:rgba(var(--salmon-rgb),.22);border:1px solid var(--line)}.contact .lines .item .ic svg{width:20px;height:20px}.contact .lines .item .t small{display:block;font-family:var(--serif);font-style:italic;color:var(--ink-faint);font-size:.8rem;letter-spacing:.1em}.contact .lines .item .t strong{font-weight:700;font-size:1.02rem;color:var(--ink)}.contact .lines .item .t span{color:var(--ink-soft);font-size:.95rem}.form{background:var(--paper-card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:clamp(1.6rem,3.4vw,2.6rem)}.form .frow{margin-bottom:1.25rem}.form .frow.two{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.form label{display:block;font-size:.82rem;letter-spacing:.06em;color:var(--ink-soft);font-weight:700;margin-bottom:.5rem}.form label .req{color:var(--brand);margin-left:.25rem}.form input,.form textarea{width:100%;font-family:var(--sans);font-size:max(16px,1rem);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.85rem 1rem;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}.form input::placeholder,.form textarea::placeholder{color:var(--ink-faint)}.form input:focus,.form textarea:focus{outline:none;border-color:var(--brand-mid);background:var(--paper-glow);box-shadow:0 0 0 4px rgba(var(--salmon-rgb),.38)}.form textarea{resize:vertical;min-height:130px}.form .submit{width:100%;justify-content:center;margin-top:.4rem}.form .priv{margin-top:1.1rem;text-align:center;font-size:.82rem;color:var(--ink-faint)}.form .priv a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}footer{background:var(--ink-strong);color:var(--paper);padding:clamp(3.5rem,8vw,5rem) 0 2rem;position:relative;overflow:hidden;--focus-ring: var(--salmon-soft)}footer:before{content:"";position:absolute;inset:0;background:radial-gradient(70% 120% at 90% 0%,rgba(var(--salmon-rgb),.18),transparent 62%)}footer .wrap{position:relative;z-index:1}footer .top{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;flex-wrap:wrap}footer .brand-f{display:flex;align-items:center;gap:.8rem}footer .brand-f img{width:48px;height:48px;background:var(--paper);border-radius:13px;padding:5px}footer .brand-f .name{font-family:var(--display);font-weight:400;font-size:1.5rem;letter-spacing:.03em}footer .tagline{margin-top:.8rem;color:rgba(var(--paper-rgb),.78);max-width:42ch;font-size:.92rem;line-height:1.95}footer .fnav{display:flex;gap:2rem;flex-wrap:wrap}footer .fnav a{font-family:var(--serif);font-size:.85rem;letter-spacing:.1em;color:rgba(var(--paper-rgb),.86);transition:color .25s;padding-block:.6rem}footer .rule{height:1px;background:rgba(var(--paper-rgb),.2);margin:2.4rem 0 1.4rem}footer .bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:rgba(var(--paper-rgb),.68);letter-spacing:.03em}footer .bottom .addr{max-width:60ch}footer .bottom .meta{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}footer .bottom .meta a{color:rgba(var(--paper-rgb),.82);text-decoration:none;border-bottom:1px solid rgba(var(--paper-rgb),.32);transition:color .25s,border-color .25s}footer .bottom .meta a:hover{color:var(--salmon);border-color:var(--salmon)}.sp-cta{position:fixed;inset:auto 0 0;z-index:90;display:none;gap:10px;align-items:stretch;padding:10px max(14px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left));background:rgba(var(--paper-rgb),.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 -1px 0 var(--line),0 -14px 34px -26px rgba(var(--shadow-rgb),.5);transform:translateY(105%);transition:transform .45s var(--ease-slide)}.sp-cta.show{transform:translateY(0)}.sp-cta a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:50px;border-radius:999px;font-family:var(--sans);font-weight:700;font-size:1rem;letter-spacing:.03em}.sp-cta a:active{transform:scale(.97)}.sp-cta .tel{color:var(--brand);border:2px solid var(--brand-mid);background:var(--paper-glow)}.sp-cta .tel svg{width:18px;height:18px;flex:0 0 auto}.sp-cta .main{flex:1.12;color:var(--paper-glow);background:var(--brand);box-shadow:var(--shadow-soft)}.preloader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:radial-gradient(120% 92% at 50% 32%,var(--paper-glow) 0%,var(--salmon-pale) 46%,var(--pl-edge) 100%);animation:pl-curtain .8s var(--ease-soft) 2.5s forwards}.preloader__stage{position:relative;width:clamp(190px,42vw,260px);height:clamp(190px,42vw,260px)}.pl-leaf{position:absolute;left:50%;top:50%;width:clamp(52px,12vw,74px);height:auto;opacity:0;filter:drop-shadow(0 8px 18px rgba(var(--shadow-rgb),.26));animation:pl-leaf-in 1.6s var(--ease-slide) forwards}.pl-leaf.l1{--tx: -78px;--ty: -78px;--rot: -40deg;animation-delay:0s}.pl-leaf.l2{--tx: 78px;--ty: -78px;--rot: 40deg;animation-delay:.15s}.pl-leaf.l3{--tx: -78px;--ty: 78px;--rot: 220deg;animation-delay:.3s}.pl-leaf.l4{--tx: 78px;--ty: 78px;--rot: -220deg;animation-delay:.45s}@keyframes pl-leaf-in{0%{opacity:0;transform:translate(-50%,-50%) translate(var(--tx),var(--ty)) scale(.3) rotate(var(--rot))}45%{opacity:1;transform:translate(-50%,-50%) translate(0) scale(1) rotate(0)}72%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}to{opacity:0;transform:translate(-50%,-50%) scale(1.25) rotate(0)}}.pl-clover{position:absolute;left:50%;top:50%;width:clamp(120px,28vw,180px);height:auto;transform:translate(-50%,-50%) scale(.3);opacity:0;filter:drop-shadow(0 12px 30px rgba(var(--shadow-rgb),.3));animation:pl-clover-in 1s var(--ease-slide) 1.5s forwards,pl-clover-glow 1.6s ease-in-out 2.3s 1 forwards}@keyframes pl-clover-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-12deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}@keyframes pl-clover-glow{0%,to{filter:drop-shadow(0 12px 30px rgba(var(--shadow-rgb),.3)) brightness(1)}50%{filter:drop-shadow(0 0 26px rgba(var(--salmon-rgb),.95)) brightness(1.06)}}.pl-ring{position:absolute;left:50%;top:50%;width:clamp(150px,34vw,218px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:2px dashed rgba(var(--salmon-rgb),0);animation:pl-ring-show .8s ease 1.7s forwards,pl-ring-spin 14s linear 1.7s infinite}@keyframes pl-ring-show{to{border-color:rgba(var(--salmon-rgb),.9)}}@keyframes pl-ring-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.preloader__word{position:absolute;left:0;right:0;bottom:clamp(2rem,8vw,4rem);text-align:center;font-family:var(--display);font-weight:400;letter-spacing:.12em;font-size:clamp(1.1rem,3vw,1.5rem);color:var(--ink-strong);opacity:0;animation:pl-word-in .9s ease 1.9s forwards}@keyframes pl-word-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pl-curtain{to{opacity:0;visibility:hidden}}body.is-loading{overflow:hidden}.reveal{opacity:0;transition:opacity var(--sl-dur) var(--ease-slide) var(--sl-d, 0ms),transform var(--sl-dur) var(--ease-slide) var(--sl-d, 0ms)}.reveal.fl{transform:translate3d(calc(var(--sl-x) * -1),0,0)}.reveal.fr{transform:translate3d(var(--sl-x),0,0)}.reveal.fu{transform:translate3d(0,var(--sl-y),0)}.reveal.in,.reveal.ttl{opacity:1;transform:none}.ln{display:block;opacity:0;transform:translate3d(calc(var(--sl-x-sm) * -1),0,0);transition:opacity var(--sl-dur-line) var(--ease-slide) var(--ln-d, 0ms),transform var(--sl-dur-line) var(--ease-slide) var(--ln-d, 0ms)}.ln{word-break:auto-phrase;text-wrap:balance}.ttl.tr .ln{transform:translate3d(var(--sl-x-sm),0,0)}.ttl.ctr .ln{transform:translate3d(0,24px,0);margin-inline:auto}.reveal.in .ln{opacity:1;transform:none}.ttl .ln:nth-of-type(1){--ln-d: 40ms}.ttl .ln:nth-of-type(2){--ln-d: .13s}.ttl .ln:nth-of-type(3){--ln-d: .22s}.ttl .ln:nth-of-type(4){--ln-d: .31s}.sl-band{opacity:0;transition:opacity var(--sl-dur-band) var(--ease-slide),transform var(--sl-dur-band) var(--ease-slide)}.sl-band.band-l{transform:translate3d(calc(var(--sl-band-x) * -1),0,0)}.sl-band.band-r{transform:translate3d(var(--sl-band-x),0,0)}.sl-band.band-u{transform:translate3d(0,calc(var(--sl-y) * 1.3),0)}.sl-band.in{opacity:1;transform:none}.d1{--sl-d: 80ms}.d2{--sl-d: .16s}.d3{--sl-d: .24s}.d4{--sl-d: .32s}.s1{--sl-d: 60ms}.s2{--sl-d: 135ms}.s3{--sl-d: .21s}.s4{--sl-d: 285ms}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.preloader{display:none!important}body.is-loading{overflow:auto!important}.hero-video{opacity:1!important;transform:none!important;transition:none!important}.blob,.scroll-hint .bar:after{animation:none!important}.hero-kick,.hero-logo,.hero-leaves,.hero-script,.scroll-hint{opacity:1!important;transform:none!important;animation:none!important}.reveal,.sl-band,.ln{transform:none!important;transition:opacity .35s linear var(--sl-d, 0ms)!important}.card:after{transform:none!important;transition:none!important}.philosophy .leaf-row img{opacity:.95!important;transform:none!important;transition:none!important}.aboutus .au-body:before{transform:none!important;transition:none!important}.btn:active,.menu .cta:active,.sp-cta a:active{transform:none}.sp-cta{transition:none}}@media(max-width:980px){.company .grid,.contact .grid,.message .wrap{grid-template-columns:1fr}.message .portrait{max-width:460px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){:root{--sl-x: 40px;--sl-x-sm: 24px;--sl-y: 22px;--sl-band-x: 52px;--sl-dur: .6s;--sl-dur-line: .56s;--sl-dur-band: .72s}.ttl.ctr .ln{transform:translate3d(0,18px,0)}.d1{--sl-d: 60ms}.d2{--sl-d: .12s}.d3{--sl-d: .18s}.d4{--sl-d: .24s}.s1{--sl-d: 40ms}.s2{--sl-d: .1s}.s3{--sl-d: .16s}.s4{--sl-d: .22s}.ttl .ln:nth-of-type(1){--ln-d: 30ms}.ttl .ln:nth-of-type(2){--ln-d: .1s}.ttl .ln:nth-of-type(3){--ln-d: .17s}.ttl .ln:nth-of-type(4){--ln-d: .24s}.philosophy .leaf-row img:nth-child(1){--lf-d: .32s}.philosophy .leaf-row img:nth-child(2){--lf-d: .39s}.philosophy .leaf-row img:nth-child(3){--lf-d: .46s}.philosophy .leaf-row img:nth-child(4){--lf-d: .53s}body{background-image:radial-gradient(1100px 620px at 84% -8%,rgba(var(--salmon-rgb),.12),transparent 60%),radial-gradient(900px 560px at -12% 24%,rgba(var(--coral-rgb),.05),transparent 58%),radial-gradient(820px 520px at 50% 118%,rgba(var(--salmon-rgb),.08),transparent 60%)}.company .b1{opacity:.22}.service .b1{opacity:.14}.vision .b1{opacity:.04}.contact .b1{opacity:.2}.burger{display:flex}.menu{position:fixed;inset:0 0 0 auto;width:min(82vw,340px);height:100svh;background:var(--paper-card);flex-direction:column;align-items:flex-start;justify-content:center;gap:1rem;padding:2.6rem;transform:translate(100%);visibility:hidden;transition:transform .42s var(--ease-slide),visibility 0s linear .42s;border-left:1px solid rgba(var(--ink-rgb),.14);box-shadow:-28px 0 70px -24px rgba(var(--shadow-rgb),.55);z-index:115;overflow-y:auto;overscroll-behavior:contain}.menu.open{transform:translate(0);visibility:visible;transition:transform .42s var(--ease-slide),visibility 0s}.menu>a{color:var(--ink)!important;text-shadow:none!important;font-family:var(--serif);font-size:1.05rem;letter-spacing:.06em}.menu>a:after{background:var(--brand)!important}.menu .cta,.nav.on-hero:not(.scrolled) .menu .cta{margin-top:.5rem;align-self:stretch;text-align:center;padding:.85rem 1.2rem;background:var(--brand);color:var(--paper-glow)!important}.nav.on-hero:not(.scrolled) .menu>a{color:var(--ink)}.nav-scrim{position:fixed;inset:0;background:rgba(var(--ink-rgb),.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility 0s linear .35s;z-index:104}.nav-scrim.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .35s ease,visibility 0s}.profile dl{grid-template-columns:7rem 1fr}.profile dt,.profile dd{padding:.85rem 1.25rem}.form .frow.two{grid-template-columns:1fr;gap:0}.form .frow.two .frow{margin-bottom:1.25rem}.sp-cta{display:flex}}@media(max-width:480px){:root{--gut: 1.4rem}.company,.service,.vision,.contact,.message{padding-top:5.5rem;padding-bottom:5.5rem}.philosophy{padding-top:5rem;padding-bottom:5rem}.hero{padding-top:7.5rem;padding-bottom:4.5rem}.hero-script{letter-spacing:.03em}.hero-kick{font-size:.82rem;letter-spacing:.11em}.brand-logo{height:54px}.nav.scrolled .brand-logo{height:46px}.sec-title{margin-bottom:1.1rem}.company .meaning{margin-top:2rem}.cards{gap:1.4rem;margin-top:2.4rem}.card{padding:2.1rem 1.7rem}.contact .lines{gap:1.3rem}.form{padding:2rem 1.5rem}.form .frow{margin-bottom:1.4rem}.message .portrait .badge{left:8px;bottom:-12px}.philosophy .leaf-row:before{width:240px;height:110px}}@media(max-width:460px){.cards{grid-template-columns:1fr}.philosophy blockquote .hl{white-space:normal}.profile dl{grid-template-columns:1fr}.profile dt{border-bottom:0;border-right:0;padding:1rem 1.4rem .25rem;background:var(--salmon-pale);letter-spacing:.08em;border-top:1px solid var(--line)}.profile dt:first-of-type{border-top:0}.profile dd{padding:.15rem 1.4rem 1.05rem;background:var(--salmon-pale)}.profile dl>:last-child{padding-bottom:1.1rem}footer .bottom{flex-direction:column;gap:.5rem}}.form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form .cf-turnstile{margin-bottom:1.1rem}.form .form-error{margin-top:.9rem;color:var(--brand-deep);font-size:.9rem;font-weight:700}.form .form-thanks{font-family:var(--serif);font-size:clamp(1.05rem,2.4vw,1.35rem);color:var(--brand-deep);text-align:center;padding:2.4rem 1rem;line-height:1.9}
