@font-face{font-family:'Cinnamon Mincho';src:url('assets/mincho.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:light;--ink:#433b36;--muted:#70635a;--paper:#fffdf9;--mocha:#d5c7bc;--deep:#6b5547;--line:#b29f91;--mincho:'Cinnamon Mincho','Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif}
*{box-sizing:border-box}
html,body{margin:0;width:100%;background:var(--paper);color:var(--ink)}
body{font-family:var(--sans);font-size:1rem}
button{font:inherit;border:0;opacity:1;cursor:default;color:inherit;-webkit-text-fill-color:currentColor}
button:disabled{opacity:1}
.sample-label{min-height:28px;display:flex;align-items:center;justify-content:space-between;padding:4px 3.5%;background:#eee7e0;color:#62564e;font-size:.75rem;line-height:1.5}
.site{min-height:calc(100svh - 28px);display:grid;grid-template-rows:100px minmax(470px,1fr) 112px}
.header{display:flex;align-items:center;gap:30px;padding:12px 4.2%;background:var(--paper)}
.brand{display:flex;flex-direction:column;align-items:center;flex-shrink:0;min-width:200px}
.brand-kind{font-family:Georgia,serif;font-size:.8125rem;letter-spacing:.11em;line-height:1.3}
.brand-name{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:2.8rem;line-height:1.05;letter-spacing:-.025em}
.place{font-family:var(--mincho);font-size:.875rem;line-height:1.9;border-left:1px solid #d3c6bb;padding-left:26px}
.since{display:block;font-family:Georgia,serif;font-size:.8125rem;letter-spacing:.07em;color:var(--muted)}
.header-nav{display:flex;gap:25px;margin-left:auto}
.header-nav button{background:transparent;padding:12px 0;font-size:.875rem}
.hero{display:grid;grid-template-columns:54% 46%;background:var(--mocha)}
.flower-photo{margin:0;position:relative;min-height:470px;overflow:hidden;border-top-right-radius:170px;background:#a99e8c}
.flower-photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:35% 50%}
.flower-photo figcaption{position:absolute;bottom:18px;left:20px;right:20px;color:#fff;background:#342c25b8;width:fit-content;max-width:calc(100% - 40px);padding:6px 10px;font-size:.75rem;line-height:1.55}
.flower-photo figcaption span{font-family:Georgia,serif;font-size:.75rem}
.message{background:var(--paper);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;padding:45px clamp(28px,4.3vw,78px) 42px}
.eyebrow{font-family:Georgia,serif;font-size:.8125rem;letter-spacing:.07em;line-height:1.5;margin:0 0 22px;color:var(--muted)}
h1{font-family:var(--mincho);font-size:clamp(2rem,3.3vw,3.4rem);font-weight:400;line-height:1.65;letter-spacing:.065em;margin:0 0 24px}
h1{max-width:100%}
h1 span{display:block}
.intro{font-family:var(--mincho);font-size:1rem;line-height:2.05;margin:0 0 20px}
.offering{font-size:.875rem;line-height:1.8;margin:0 0 26px;color:var(--muted)}
.offering span{padding:0 3px}
.cta{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(100%,330px);min-height:58px;padding:14px 23px;color:#fff;background:var(--deep);font-family:var(--mincho);font-size:1.0625rem;line-height:1.6;letter-spacing:.025em}
.cta span{font-family:Georgia,serif;font-size:1.5rem}
.small-word{font:italic 1.3rem Georgia,serif;color:#9c8170;margin-top:20px;align-self:flex-end}
.shop-strip{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 4.2%;background:var(--mocha)}
.shop-location{font-size:.875rem;line-height:1.9;margin:0}
.shop-location>span{display:block;font-family:Georgia,serif;font-size:1rem;letter-spacing:.035em}
.existing-links{display:flex;gap:38px}
.existing-links button{display:flex;flex-direction:column;gap:7px;align-items:flex-start;text-align:left;padding:3px 0 3px 26px;background:transparent;border-left:1px solid #ac9786;min-height:50px;font-size:.875rem}
.existing-links button>span:last-child{display:flex;align-items:center;gap:24px}
.link-en{font-family:Georgia,serif;font-size:.8125rem;letter-spacing:.11em}
@media(min-width:1600px){.site{grid-template-rows:112px minmax(520px,1fr) 120px}.hero{grid-template-columns:56% 44%}}
@media(max-width:1099px) and (min-width:701px){.header{gap:20px}.brand{min-width:175px}.brand-name{font-size:2.5rem}.place{padding-left:18px}.header-nav{gap:17px}.hero{grid-template-columns:51% 49%}.message{padding:35px 28px}.eyebrow{letter-spacing:.03em}h1{font-size:2.1rem}.existing-links{gap:24px}}
@media(min-width:701px) and (max-height:800px){.site{grid-template-rows:88px minmax(460px,1fr) 96px}.flower-photo{min-height:460px}.message{padding-block:24px}.eyebrow{margin-bottom:15px}h1{line-height:1.5;margin-bottom:18px}.intro{line-height:1.85;margin-bottom:14px}.offering{margin-bottom:20px}.cta{padding-block:10px;min-height:58px}.small-word{display:none}}
@media(max-width:700px){
 .sample-label{padding:4px 18px}
 .site{display:block;min-height:0}
 .header{height:82px;padding:10px 20px;justify-content:space-between;gap:14px}
 .brand{min-width:0;align-items:flex-start}
 .brand-kind{font-size:.75rem;padding-left:8px}
 .brand-name{font-size:2.4rem}
 .place{font-size:.8125rem;line-height:1.8;padding-left:14px}
 .since{font-size:.75rem}
 .header-nav{display:none}
 .hero{display:flex;flex-direction:column}
 .flower-photo{height:210px;min-height:0;border-top-right-radius:110px}
 .flower-photo img{object-position:32% 45%}
 .flower-photo figcaption{left:16px;right:16px;bottom:12px;padding:4px 8px;max-width:calc(100% - 32px);line-height:1.45}
 .message{padding:22px 24px 24px;justify-content:flex-start}
 .eyebrow{font-size:.75rem;letter-spacing:.035em;margin-bottom:10px}
 h1{font-size:2rem;letter-spacing:.065em;line-height:1.55;margin-bottom:13px}
 .intro{font-size:1rem;line-height:1.85;margin-bottom:13px}
 .offering{font-size:.875rem;margin-bottom:16px;line-height:1.9}
 .cta{width:100%;min-height:52px;padding:11px 20px;font-size:1.0625rem}
 .small-word{display:none}
 .shop-strip{padding:13px 24px 15px;display:flex;flex-direction:column;align-items:stretch;gap:9px}
 .shop-location{font-size:.75rem;line-height:1.7}
 .shop-location>span{font-size:.875rem}
 .existing-links{gap:20px;justify-content:space-between}
 .existing-links button{padding:0;gap:4px;border-left:0;min-height:46px;font-size:.875rem}
 .existing-links button>span:last-child{gap:10px}
 .link-en{font-size:.75rem}
}
@media(max-width:359px){.header{padding-inline:16px}.place{padding-left:10px}.brand-name{font-size:2.15rem}.message{padding-inline:20px}h1{font-size:1.8rem}.intro{font-size:1rem}.offering{max-width:230px}.shop-strip{padding-inline:20px}.existing-links{gap:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
