@font-face
{
  font-family:RTJ Myanmar
  ;
  src:url('/assets/fonts/noto-sans-myanmar.ttf') format('truetype')
  ;
  font-display:swap
  ;
  font-weight:100 900
}
:root
{
  color-scheme:light
  ;
  --paper:#f7f2e9
  ;
  --ink:#162d3a
  ;
  --red:#b73d2d
  ;
  --muted:#52646d
  ;
  --line:#d9d9ce
  ;
  --sage:#a9b7a2
}
*
{
  box-sizing:border-box
}
html
{
  scroll-behavior:smooth
}
body
{
  margin:0
  ;
  background:var(--paper)
  ;
  color:var(--ink)
  ;
  font-family:'Segoe UI','RTJ Myanmar','Myanmar Text','Hiragino Kaku Gothic ProN',Meiryo,sans-serif
  ;
  -webkit-font-smoothing:antialiased
}
a
{
  color:inherit
  ;
  text-underline-offset:5px
}
button,a
{
  -webkit-tap-highlight-color:transparent
}
a:focus-visible
{
  outline:3px solid var(--red)
  ;
  outline-offset:6px
}
p,h1,h2,h3
{
  margin:0
}
a
{
  touch-action:manipulation
}
.page-shell
{
  max-width:1440px
  ;
  margin:auto
  ;
  padding:0 24px
}
.skip-link
{
  position:fixed
  ;
  top:-100px
  ;
  left:16px
  ;
  background:var(--ink)
  ;
  color:white
  ;
  padding:14px 20px
  ;
  z-index:5
}
.skip-link:focus
{
  top:12px
}
.site-header
{
  min-height:104px
  ;
  display:flex
  ;
  justify-content:space-between
  ;
  align-items:center
  ;
  border-bottom:1px solid var(--line)
  ;
  gap:16px
}
.brand
{
  display:flex
  ;
  align-items:center
  ;
  gap:10px
  ;
  text-decoration:none
  ;
  font-size:14px
  ;
  font-weight:750
  ;
  letter-spacing:1.1px
}
.brand-symbol
{
  width:39px
  ;
  height:43px
  ;
  color:#d9503f
  ;
  flex:none
}
.brand-caption
{
  display:block
  ;
  font-size:10px
  ;
  font-weight:500
  ;
  letter-spacing:3px
  ;
  margin-top:4px
}
.header-contact
{
  display:flex
  ;
  align-items:center
  ;
  gap:20px
  ;
  font-size:13px
  ;
  text-decoration:none
  ;
  padding:14px 0
}
.header-contact:hover,.text-link:hover,.contact-note a:hover
{
  color:var(--red)
}
.hero
{
  padding:40px 0 0
}
.status
{
  font-size:10px
  ;
  letter-spacing:1.4px
  ;
  font-weight:650
  ;
  display:flex
  ;
  align-items:center
  ;
  gap:8px
  ;
  line-height:1.8
}
.status-dot
{
  width:7px
  ;
  height:7px
  ;
  flex:none
  ;
  border-radius:50%
  ;
  background:var(--red)
}
.japanese-intro
{
  font-size:13px
  ;
  letter-spacing:2px
  ;
  margin-top:28px
  ;
  color:var(--muted)
}
h1
{
  font-family:Georgia,'Times New Roman',serif
  ;
  font-size:clamp(56px,10vw,78px)
  ;
  font-weight:400
  ;
  line-height:1.04
  ;
  letter-spacing:-2.7px
  ;
  margin:18px 0 24px
}
h1 em
{
  color:var(--red)
  ;
  font-weight:400
}
.hero-burmese
{
  font-size:clamp(20px,4.5vw,25px)
  ;
  font-weight:600
  ;
  line-height:1.9
}
.hero-description
{
  font-size:14px
  ;
  line-height:2.15
  ;
  max-width:445px
  ;
  margin-top:20px
  ;
  color:var(--muted)
}
.hero-actions
{
  display:flex
  ;
  align-items:center
  ;
  flex-wrap:wrap
  ;
  gap:20px
  ;
  margin-top:27px
}
.button
{
  display:inline-flex
  ;
  align-items:center
  ;
  justify-content:center
  ;
  gap:12px
  ;
  padding:15px 20px
  ;
  min-height:56px
  ;
  background:var(--ink)
  ;
  color:#fff
  ;
  text-decoration:none
  ;
  border-radius:3px
  ;
  font-size:13px
  ;
  line-height:1.9
  ;
  transition:background .18s,transform .18s
}
.button:hover
{
  background:#284859
  ;
  transform:translateY(-2px)
}
.coming-soon
{
  font-size:12px
  ;
  letter-spacing:.5px
  ;
  color:var(--muted)
}
.contact-note
{
  font-size:11px
  ;
  color:var(--muted)
  ;
  line-height:2.1
  ;
  margin-top:17px
}
.contact-note a
{
  font-size:12px
}
.hero-visual
{
  margin-top:38px
  ;
  min-width:0
}
.art-label
{
  display:flex
  ;
  justify-content:space-between
  ;
  font-size:8px
  ;
  letter-spacing:1px
  ;
  margin-bottom:12px
  ;
  gap:10px
}
.journey-art
{
  width:100%
  ;
  height:auto
  ;
  display:block
  ;
  border-radius:150px 150px 3px 3px
  ;
  background:#e8e9db
}
.art-caption
{
  display:flex
  ;
  justify-content:space-between
  ;
  align-items:center
  ;
  gap:12px
  ;
  padding:14px 0
  ;
  color:var(--muted)
  ;
  font-size:9px
  ;
  line-height:1.8
}
.art-caption [lang=ja]
{
  letter-spacing:1px
}
.art-caption [lang=en]
{
  font-size:7px
  ;
  letter-spacing:.5px
  ;
  text-align:right
}
.promise
{
  display:grid
  ;
  gap:26px
  ;
  margin-top:38px
  ;
  padding:32px 0
  ;
  border-top:1px solid var(--line)
  ;
  border-bottom:1px solid var(--line)
}
.eyebrow
{
  font-size:9px
  ;
  letter-spacing:1.5px
  ;
  margin-bottom:15px
  ;
  color:var(--muted)
}
.promise-intro h2
{
  font-size:19px
  ;
  font-weight:550
  ;
  line-height:1.9
}
.promise-item
{
  border-top:1px solid var(--line)
  ;
  padding-top:22px
}
.item-number
{
  font-size:10px
  ;
  letter-spacing:1px
  ;
  color:var(--red)
}
.promise-item h3
{
  font-size:15px
  ;
  line-height:2
  ;
  margin:11px 0 6px
  ;
  font-weight:600
}
.promise-item p
{
  font-size:12px
  ;
  line-height:2.1
  ;
  color:var(--muted)
  ;
  max-width:250px
}
.closing
{
  display:flex
  ;
  align-items:center
  ;
  gap:18px
  ;
  margin:36px 0
  ;
  padding:26px 22px
  ;
  background:#eaeade
  ;
  border-radius:3px
  ;
  flex-wrap:wrap
}
.small-sun
{
  width:32px
  ;
  height:32px
  ;
  border-radius:50%
  ;
  background:#d9503f
  ;
  flex:none
}
.closing h2
{
  font-size:18px
  ;
  font-weight:500
  ;
  letter-spacing:1px
  ;
  line-height:1.8
}
.closing p
{
  font-size:12px
  ;
  line-height:2
  ;
  color:var(--muted)
  ;
  margin-top:2px
}
.text-link
{
  margin-left:auto
  ;
  font-size:13px
  ;
  display:flex
  ;
  gap:24px
  ;
  min-height:44px
  ;
  align-items:center
  ;
  text-decoration:none
}
.site-footer
{
  display:flex
  ;
  flex-direction:column
  ;
  gap:14px
  ;
  border-top:1px solid var(--line)
  ;
  padding:24px 0 30px
  ;
  font-size:10px
  ;
  color:var(--muted)
}
.site-footer a
{
  font-size:11px
  ;
  text-decoration:none
}
.site-footer a:hover
{
  text-decoration:underline
}
@media(min-width:600px)
{
  .page-shell
  {
    padding:0 40px
  }
  .brand
  {
    font-size:16px
  }
  .brand-symbol
  {
    width:45px
    ;
    height:48px
  }
  .hero
  {
    padding-top:52px
  }
  .hero-visual
  {
    max-width:580px
    ;
    margin:40px auto 0
  }
  .promise
  {
    grid-template-columns:repeat(3,1fr)
    ;
    gap:24px
  }
  .promise-intro
  {
    grid-column:1/-1
  }
  .promise-item
  {
    border:0
    ;
    padding-top:0
  }
  .closing
  {
    padding:30px
  }
  .site-footer
  {
    flex-direction:row
    ;
    justify-content:space-between
    ;
    gap:20px
  }
}
@media(min-width:1000px)
{
  .page-shell
  {
    padding:0 72px
  }
  .site-header
  {
    min-height:112px
  }
  .hero
  {
    display:grid
    ;
    grid-template-columns:1.05fr 1fr
    ;
    gap:64px
    ;
    align-items:center
    ;
    padding:62px 0 0
  }
  .hero-copy
  {
    padding:8px 0 16px
  }
  .hero-visual
  {
    margin:0
    ;
    width:100%
  }
  .japanese-intro
  {
    margin-top:30px
  }
  h1
  {
    font-size:clamp(72px,6.6vw,94px)
    ;
    margin-top:20px
    ;
    margin-bottom:26px
  }
  .hero-burmese
  {
    font-size:23px
  }
  .hero-description
  {
    margin-top:20px
  }
  .status
  {
    font-size:10px
  }
  .journey-art
  {
    border-radius:240px 240px 3px 3px
  }
  .art-label
  {
    font-size:9px
    ;
    margin-bottom:17px
  }
  .art-caption
  {
    font-size:11px
    ;
    padding-top:18px
  }
  .art-caption [lang=en]
  {
    font-size:8px
  }
  .promise
  {
    grid-template-columns:1.25fr 1fr 1fr 1fr
    ;
    gap:36px
    ;
    margin-top:55px
    ;
    padding:40px 0
  }
  .promise-intro
  {
    grid-column:auto
  }
  .promise-intro h2
  {
    font-size:18px
  }
  .promise-item h3
  {
    font-size:14px
  }
  .promise-item p
  {
    font-size:12px
  }
  .closing
  {
    margin:38px 0
    ;
    padding:30px 36px
  }
  .closing h2
  {
    font-size:22px
  }
  .small-sun
  {
    width:39px
    ;
    height:39px
  }
  .site-footer
  {
    padding:24px 0 32px
  }
}
@media(prefers-reduced-motion:reduce)
{
  html
  {
    scroll-behavior:auto
  }
  *,*::before,*::after
  {
    transition:none!important
  }
}
