.ibyz-label{color:var(--blue);font:500 10px 'Manrope';letter-spacing:.27em}
.ibyz-hero{display:grid;grid-template-columns:55% 45%;min-height:100svh;background:var(--ink);color:#fff;overflow:hidden}
.ibyz-hero__visual{display:grid;place-items:center;background:linear-gradient(145deg,#79b8c2,#e1d8c4);background-position:center;background-size:cover}
.ibyz-hero__visual>span{color:#fff;font:500 9px 'Manrope';letter-spacing:.2em}.ibyz-hero__visual.has-image>span{display:none}
.ibyz-hero__copy{display:flex;flex-direction:column;justify-content:center;padding:125px 5vw 70px}
.ibyz-hero__copy>p{color:#a9d7d7;font:500 10px 'Manrope';letter-spacing:.28em}.ibyz-hero h1{margin:25px 0 45px;font:300 clamp(48px,6vw,83px)/1.03 'Manrope';letter-spacing:-.035em}.ibyz-hero__copy>span{max-width:440px;font-size:12px;line-height:2;letter-spacing:.1em}

.ibyz-contact{display:grid;grid-template-columns:.82fr 1.18fr;gap:9vw;padding:140px 8vw;background:var(--sand)}
.ibyz-contact__intro h2{margin:28px 0 42px;font:300 clamp(46px,5.5vw,73px)/1.04 'Manrope'}.ibyz-contact__intro>p:not(.ibyz-label){font-size:13px;line-height:2.25}
.ibyz-contact__intro dl{margin:55px 0 0}.ibyz-contact__intro dl>div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.ibyz-contact__intro dt{color:var(--blue);font:500 9px 'Manrope';letter-spacing:.18em}.ibyz-contact__intro dd{margin:0;font-size:12px}
.ibyz-form-wrap{align-self:start;padding:55px;background:#fff;box-shadow:0 25px 70px rgba(23,50,56,.08)}
.ibyz-message{margin-bottom:35px;padding:18px 20px;font-size:12px;line-height:1.8}.ibyz-message--success{background:#e3f0ec;color:#214d43}.ibyz-message--error{background:#f6e7e1;color:#7a3d2c}
.ibyz-form{display:grid;gap:30px}.ibyz-form label{display:grid;gap:11px}.ibyz-form label>span:first-child{font:500 9px 'Manrope';letter-spacing:.18em}.ibyz-form label>span b{margin-left:8px;color:var(--blue);font:400 9px 'Noto Sans JP'}
.ibyz-form input[type=text],.ibyz-form input[type=email],.ibyz-form input[type=tel],.ibyz-form select,.ibyz-form textarea{width:100%;border:0;border-bottom:1px solid rgba(23,50,56,.3);border-radius:0;outline:0;background:transparent;color:var(--ink);font:300 15px 'Noto Sans JP';transition:border-color .3s}.ibyz-form input{height:48px}.ibyz-form select{height:48px}.ibyz-form textarea{padding:12px 0;resize:vertical;line-height:1.8}.ibyz-form input:focus,.ibyz-form select:focus,.ibyz-form textarea:focus{border-color:var(--blue)}
.ibyz-form__row{display:grid;grid-template-columns:1fr 1fr;gap:35px}.ibyz-form__privacy{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:12px!important;font-size:11px;line-height:1.7}.ibyz-form__privacy input{flex:0 0 auto;width:16px;height:16px;margin-top:2px;accent-color:var(--blue)}.ibyz-form__privacy a{border-bottom:1px solid}
.ibyz-form button{display:flex;justify-content:space-between;width:100%;padding:20px 23px;border:0;background:var(--ink);color:#fff;font:500 10px 'Manrope';letter-spacing:.17em;cursor:pointer;transition:.35s}.ibyz-form button:hover{background:var(--blue);transform:translateY(-2px)}
.ibyz-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.ibyz-faq{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;padding:115px 8vw;background:var(--light)}.ibyz-faq h2{margin:28px 0 0;font-size:clamp(31px,4vw,50px);font-weight:300;line-height:1.6;letter-spacing:.08em}.ibyz-faq>a{display:flex;justify-content:space-between;min-width:260px;padding:18px 22px;border:1px solid;font:500 10px 'Manrope';letter-spacing:.16em;transition:.35s}.ibyz-faq>a:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}

@media(max-width:800px){
 .ibyz-hero{grid-template-columns:1fr;min-height:auto}.ibyz-hero__visual{min-height:67svh}.ibyz-hero__copy{min-height:55svh;padding:85px 25px 65px}.ibyz-hero h1{font-size:50px}
 .ibyz-contact{grid-template-columns:1fr;gap:60px;padding:90px 20px}.ibyz-contact__intro{padding:0 5px}.ibyz-contact__intro h2{font-size:47px}.ibyz-form-wrap{padding:38px 22px}.ibyz-form__row{grid-template-columns:1fr;gap:30px}
 .ibyz-faq{display:grid;gap:45px;padding:90px 25px}.ibyz-faq>a{min-width:0;width:100%}
}

/* Click-to-call block below the shop hours. */
.ibyz-phone{margin-top:48px;padding-top:36px;border-top:1px solid var(--line)}
.ibyz-phone>p{margin:0 0 16px;color:var(--blue);font:500 9px 'Manrope';letter-spacing:.22em}
.ibyz-phone h3{margin:0 0 20px;font-size:16px;font-weight:400;letter-spacing:.08em}
.ibyz-phone a{display:flex;justify-content:space-between;align-items:center;width:min(100%,390px);padding:18px 20px;border:1px solid var(--ink);font:400 clamp(22px,2vw,30px)/1 'Manrope';letter-spacing:.04em;transition:background-color .3s,color .3s,transform .3s}
.ibyz-phone a b{font-size:15px;font-weight:400}.ibyz-phone small{display:block;margin-top:12px;font-size:11px;letter-spacing:.08em}
@media(hover:hover){.ibyz-phone a:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}}
@media(max-width:800px){.ibyz-phone{margin-top:40px;padding-top:32px}.ibyz-phone h3{font-size:16px}.ibyz-phone a{width:100%;font-size:24px}}

/* v0.8.16: contact layout — on mobile, form precedes shop/phone information. */
.ibyz-contact{grid-template-rows:auto 1fr}
.ibyz-contact__intro{grid-column:1;grid-row:1}
.ibyz-contact__info{grid-column:1;grid-row:2;align-self:start}
.ibyz-form-wrap{grid-column:2;grid-row:1 / span 2}
.ibyz-contact__info dl{margin:55px 0 0}
.ibyz-contact__info dl>div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.ibyz-contact__info dt{color:var(--blue);font:500 9px 'Manrope';letter-spacing:.18em}
.ibyz-contact__info dd{margin:0;font-size:12px}
@media(max-width:800px){
 .ibyz-contact{grid-template-columns:1fr;grid-template-rows:auto;gap:60px}
 .ibyz-contact__intro{grid-column:1;grid-row:auto;order:1}
 .ibyz-form-wrap{grid-column:1;grid-row:auto;order:2}
 .ibyz-contact__info{grid-column:1;grid-row:auto;order:3;padding:0 5px}
 .ibyz-contact__info dl{margin:0}
 .ibyz-phone{margin-top:36px}
}

/* v0.8.17: tighten CONTACT page spacing on desktop only. */
@media(min-width:801px){
 .ibyz-contact{gap:6.5vw;padding:100px 8vw 105px}
 .ibyz-contact__intro h2{margin:20px 0 28px}
 .ibyz-contact__intro>p:not(.ibyz-label){line-height:2.05}
 .ibyz-contact__info dl{margin:36px 0 0}
 .ibyz-phone{margin-top:30px;padding-top:26px}
 .ibyz-phone h3{margin-bottom:16px}
 .ibyz-form-wrap{padding:44px 48px}
 .ibyz-form{gap:24px}
}
