:root{--ink:#6c4c58;--rose:#b56881;--cream:#fffaf7;--pale:#f7e8ed;--line:#dac1ca}body{font-family:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif;background:var(--cream);color:var(--ink)}a{text-decoration:none}.demo-bar{background:#f4e5eb;border:0;color:#745663}.header{display:flex;align-items:center;justify-content:space-between;padding:23px 6vw}.header-note{font-size:8px;line-height:1.8;letter-spacing:.13em}.logo{text-align:center;font-size:34px;letter-spacing:-.04em}.logo .bow{display:block;font-size:30px;line-height:1;color:var(--rose);margin-bottom:4px}.logo small{display:block;font:9px 'Yu Gothic',sans-serif;letter-spacing:.2em;margin-top:10px}.header-link{font-size:11px;border-bottom:1px solid var(--line);padding-bottom:7px}.main-nav{display:flex;justify-content:center;align-items:center;gap:35px;padding:17px;border-block:1px solid var(--line);font-size:12px;letter-spacing:.06em}.main-nav span{color:var(--rose);font-size:11px}.hero{height:min(730px,65vw);min-height:540px;position:relative;overflow:hidden;background:#f2e4da}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center 52%;animation:breath 18s ease-in-out infinite alternate}.hero-copy{position:absolute;left:9%;top:50%;transform:translateY(-50%);width:40%;text-align:center;text-shadow:0 1px 20px #fffaf7}.tiny{font-family:Arial,sans-serif;font-size:9px;letter-spacing:.18em}.hero-ornament{display:block;color:var(--rose);font-size:28px;margin:20px 0}.hero h1{font-weight:400;font-size:clamp(32px,3.8vw,56px);line-height:1.7;letter-spacing:.1em;margin:12px 0 20px}.hero-copy p{font-size:13px;line-height:2.2}.oval-link{display:inline-flex;align-items:center;gap:35px;border:1px solid var(--rose);border-radius:50px;padding:16px 26px;font-size:12px;margin-top:23px;background:#fffaf78a;transition:background .3s}.oval-link:hover{background:var(--pale)}.hero-season{position:absolute;bottom:25px;left:6vw;font:8px Arial,sans-serif;letter-spacing:.15em}.spark{position:absolute;color:#fff;font-size:40px;animation:twinkle 5s ease-in-out infinite}.s1{right:10%;top:24%}.s2{right:43%;top:65%;animation-delay:2s;font-size:25px}.ribbon-band{display:flex;justify-content:center;align-items:center;gap:55px;padding:22px 5vw;background:var(--pale);border-block:1px solid var(--line);font-size:12px}.ribbon-band>span:first-child{font-style:italic;font-size:19px}.ribbon-band i{font-size:29px;color:var(--rose);font-style:normal}.collection{padding:90px 6vw}.section-title{text-align:center}.section-title h2{font-size:clamp(32px,4vw,50px);font-weight:400;margin:20px 0 14px}.section-title p{font-size:12px}.ornament{display:block;font-size:24px;color:var(--rose);margin-top:28px;letter-spacing:.15em}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:45px}.product{border:0;padding:0;background:none;text-align:left;min-width:0}.product-image{position:relative;aspect-ratio:.78;display:block;border:1px solid #e4cfd8;overflow:hidden;background:#f4e8e7}.product-image>span:last-child{position:absolute;bottom:14px;left:17px;font:9px Arial,sans-serif;letter-spacing:.1em}.product-image img{width:100%;height:100%;object-fit:cover;object-position:83% center;transition:scale .8s}.product:hover .product-image img{scale:1.035}.product-type{display:block;font:8px Arial,sans-serif;letter-spacing:.13em;margin-top:23px;color:#956478}.product h3{font-size:23px;font-weight:400;margin:10px 0}.product-sub{font:10px 'Yu Gothic',sans-serif}.product-price{display:block;font-size:17px;padding:20px 0;border-bottom:1px solid var(--line)}.product-price small{font-size:9px;margin-left:6px}.product-price i{float:right;font-size:19px;font-style:normal}.collection-note{font:10px/1.8 'Yu Gothic',sans-serif;text-align:center;color:#896f7a;margin-top:35px}.story{padding:80px 9vw;background:#f4e8ed;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12%}.story-image{position:relative;padding:16px 16px 55px;background:#fffaf7;rotate:-3deg;box-shadow:0 8px 25px #865c6b13}.story-image img{aspect-ratio:.85;object-fit:cover;object-position:85% center}.story-image>span{position:absolute;bottom:20px;left:0;width:100%;text-align:center;font-style:italic;font-size:17px}.story-copy h2{font-size:clamp(28px,3vw,44px);font-weight:400;line-height:1.7;letter-spacing:.07em}.story-copy p{font-size:13px;line-height:2.2;margin:24px 0}.small-bow{font-size:35px;color:var(--rose)}.notes{padding:90px 6vw}.note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:55px}.note-grid article{border-top:1px solid var(--line);padding:25px 0}.note-grid span{font:9px Arial,sans-serif;letter-spacing:.13em;color:var(--rose)}.note-grid h3{font-size:19px;font-weight:400;margin-top:25px}.note-grid p{font-size:12px}.contact{text-align:center;padding:65px 5vw 85px;background:var(--pale);border-top:1px solid var(--line)}.contact h2{font-weight:400;font-style:italic;font-size:clamp(26px,4vw,46px)}.contact p{font-size:12px}.demo-footer{border-color:var(--line);font-size:10px}@keyframes breath{to{transform:scale(1.04)}}@keyframes twinkle{0%,100%{opacity:.3;scale:.8}50%{opacity:1;scale:1.12}}@media(max-width:700px){.header{justify-content:center;padding:20px}.header-note,.header-link{display:none}.logo{font-size:30px}.main-nav{gap:20px;font-size:10px;padding:14px 10px}.hero{height:760px;min-height:0}.hero-image{height:470px;position:absolute;top:0;object-position:80% center}.hero-copy{top:auto;bottom:0;transform:none;left:0;width:100%;padding:22px 5vw 30px;background:linear-gradient(#fffaf7e8,#fffaf7);text-shadow:none}.hero h1{font-size:31px;line-height:1.5;margin:12px 0}.hero-ornament{display:none}.hero-copy p{font-size:12px;margin:10px 0}.hero-copy .oval-link{margin-top:9px;padding:13px 23px}.hero-season{display:none}.s2{right:54%;top:30%}.ribbon-band{gap:13px;flex-wrap:wrap;padding:18px}.ribbon-band>span:first-child{font-size:17px}.ribbon-band>span:last-child{font-size:10px}.ribbon-band i{font-size:23px}.collection,.notes{padding:65px 6vw}.products{grid-template-columns:1fr 1fr;gap:30px 16px}.products .product:first-child{grid-column:1/-1;max-width:100%;}.products .product:first-child .product-image{aspect-ratio:1}.products .product:first-child img{object-position:80% 56%}.product h3{font-size:18px;line-height:1.3}.product-type{font-size:7px;line-height:1.5}.product-sub{font-size:9px}.product-price{font-size:15px}.product-price small{font-size:8px}.product-image>span:last-child{font-size:7px;left:10px}.story{grid-template-columns:1fr;gap:55px;padding:65px 9vw}.story-copy{text-align:center}.note-grid{grid-template-columns:1fr;gap:10px;margin-top:30px}.contact{padding:50px 6vw 65px}}
.story-image img{height:auto}
.look-photo img{object-position:center;object-fit:cover}

/* Keep the complete silhouette on wide screens; do not crop to the viewport ratio. */
@media(min-width:701px){
  .hero{height:clamp(500px,calc(100svh - 215px),820px);min-height:0;background:#f2e9e3;isolation:isolate}
  .hero-image{position:absolute;inset:0 0 0 auto;width:auto;max-width:none;height:100%;object-fit:contain;object-position:right center;mask-image:linear-gradient(to right,transparent,black 28%);-webkit-mask-image:linear-gradient(to right,transparent,black 28%);animation:ruban-drift 18s ease-in-out infinite alternate;z-index:-1}
  .hero-copy{left:5%;width:43%;max-width:740px;text-shadow:none}
  .hero h1{font-size:clamp(34px,3.2vw,58px);line-height:1.65;letter-spacing:.08em}
  .hero-copy p{font-size:14px;line-height:2.1}
  .hero-ornament{margin:18px 0}
  .hero-season{left:5%;bottom:24px}
  .s1{right:8%;top:22%}
  .s2{right:35%;top:64%}
}
@keyframes ruban-drift{from{transform:translateX(0)}to{transform:translateX(5px)}}
/* One centered composition: the copy and model stay together on wide displays. */
@media(min-width:1001px){
 .hero-copy{left:max(32px,calc(50% - 590px));width:min(39%,460px);max-width:460px}
 .hero-image{right:max(0px,calc(50% - 720px));mask-image:linear-gradient(to right,transparent,black 24%,black 94%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 24%,black 94%,transparent)}
 .hero-season{left:max(32px,calc(50% - 650px))}
 .s1{right:max(8%,calc(50% - 610px))}.s2{right:max(35%,calc(50% - 240px))}
}
@media(min-width:701px) and (max-width:1000px){
  .hero{height:auto;display:flex;flex-direction:column}
  .hero-image{position:relative;inset:auto;width:100%;height:auto;mask-image:none;-webkit-mask-image:none;animation:none;z-index:0}
  .hero-copy{position:relative;inset:auto;transform:none;width:100%;max-width:none;padding:35px 5vw 45px;background:var(--cream)}
  .hero-copy h1{font-size:34px;margin:15px 0}
  .hero-ornament,.hero-season{display:none}
}
