/* HAL Akasaka Minato v04 — existing section DOM, CSS-only presentation.
   B photo is decorative. All headings, prose and href remain in original HTML.
   No video, canvas, React mount, content injection or product JavaScript. */
@font-face{font-family:HALMinatoTitle;src:url('../media/serif-medium.woff') format('woff');font-weight:500;font-display:swap}
@font-face{font-family:HALMinatoTitle;src:url('../media/serif-bold.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:HALMinatoBody;src:url('../media/sans-regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:HALMinatoBody;src:url('../media/sans-bold.woff') format('woff');font-weight:700;font-display:swap}
body.hal-adopted-top .hal-lp #hal-minato{--hal-minato-image-b:url('../media/jackie-b.jpeg');--hal-minato-screen:100vh;--hal-minato-header-offset:0px;--hal-minato-panel-height:calc(var(--hal-minato-screen) - var(--hal-minato-header-offset));position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--hal-minato-panel-height) minmax(var(--hal-minato-panel-height),auto);container-type:inline-size;background:#080808;color:#fff;padding:0!important;margin:0!important;overflow:visible;font-family:HALMinatoBody,"Hiragino Sans","Yu Gothic",sans-serif}
.hal-lp body.hal-adopted-top .hal-lp #hal-minato{--hal-minato-header-offset:77px}
@media(max-width:767px){.hal-lp body.hal-adopted-top .hal-lp #hal-minato{--hal-minato-header-offset:calc(77px + max(0px,env(safe-area-inset-top,0px) - 7px))}}
@supports(height:100svh){body.hal-adopted-top .hal-lp #hal-minato{--hal-minato-screen:100svh}}
body.hal-adopted-top .hal-lp #hal-minato,body.hal-adopted-top .hal-lp #hal-minato *{box-sizing:border-box}
body.hal-adopted-top .hal-lp #hal-minato>.hal-container:first-child{grid-column:1;grid-row:1 / span 2;align-self:start;position:sticky;top:var(--hal-minato-header-offset);height:var(--hal-minato-panel-height);min-height:0!important;width:100%;max-width:none;margin:0;padding:40px 7.5% calc(var(--hal-minato-panel-height)*.19);display:flex;flex-direction:column;justify-content:flex-end;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.04) 20%,rgba(0,0,0,.28) 55%,rgba(0,0,0,.74) 100%)}
body.hal-adopted-top .hal-lp #hal-minato>.hal-container:nth-child(2){display:contents}
body.hal-adopted-top .hal-lp #hal-minato .hal-label{font-family:HALMinatoBody,"Hiragino Sans",sans-serif;font-size:13px;font-weight:400;line-height:1.5;letter-spacing:.3em;margin:0 0 28px;padding:0;color:#fff;text-align:left}
body.hal-adopted-top .hal-lp #hal-minato .hal-label::before{content:none}
body.hal-adopted-top .hal-lp #hal-minato .hal-design-heading{font-family:HALMinatoTitle,"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(30px,4.4cqw,66px);line-height:1.65;letter-spacing:.035em;margin:0;padding:0;color:#fff;text-align:left;text-shadow:0 2px 18px rgba(0,0,0,.65)}
body.hal-adopted-top .hal-lp #hal-minato .hal-design-heading__main,body.hal-adopted-top .hal-lp #hal-minato .hal-design-heading__line{display:block}
body.hal-adopted-top .hal-lp #hal-minato .hal-design-heading__line{white-space:nowrap}/* Owner R1/R2 PC slide 1: the heading text takes the v04 heading size above (the theme rule capping .hal-design-heading__main at 34px no longer applies) and the label + heading sit at the image top right; a top-right scrim is added to the existing overlay so the white heading stays readable there (photo unchanged) */@container(min-width:768px){body.hal-adopted-top .hal-lp #hal-minato>.hal-container:first-child{justify-content:flex-start;align-items:flex-end;text-align:right;background:radial-gradient(ellipse 100% 78% at 100% 0%,rgba(0,0,0,.86) 0%,rgba(0,0,0,.76) 50%,rgba(0,0,0,0) 100%),linear-gradient(180deg,rgba(0,0,0,.04) 20%,rgba(0,0,0,.28) 55%,rgba(0,0,0,.74) 100%)}body.hal-adopted-top .hal-lp #hal-minato .hal-label,body.hal-adopted-top .hal-lp #hal-minato .hal-design-heading{text-align:right}body.hal-adopted-top .hal-lp #hal-minato .hal-design-heading .hal-design-heading__main{font-size:inherit}}
body.hal-adopted-top .hal-lp #hal-minato .hal-design__region{grid-column:1;grid-row:1 / span 2;align-self:start;position:sticky;top:var(--hal-minato-header-offset);height:var(--hal-minato-panel-height);width:100%;max-width:none;margin:0;padding:0;border:0;z-index:1;overflow:hidden}
body.hal-adopted-top .hal-lp #hal-minato .hal-design__region-img{display:block;position:absolute;inset:0;object-fit:cover;object-position:50% 43%;width:100%;height:100%;max-width:none;margin:0;border-radius:0;filter:none}
body.hal-adopted-top .hal-lp #hal-minato .hal-design__paper{grid-column:1;grid-row:2;position:relative;z-index:3;isolation:isolate;min-height:var(--hal-minato-panel-height);height:auto;width:100%;max-width:none;margin:0;padding:76px 7.5%;display:flex;align-items:center;overflow:hidden;border:0;border-radius:0;box-shadow:none;background:#080808!important;background-image:none!important}
body.hal-adopted-top .hal-lp #hal-minato .hal-design__paper::before{content:"";position:absolute;inset:-3px;z-index:0;background-image:linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.66) 38%,rgba(0,0,0,.88) 54%,rgba(0,0,0,.94)),var(--hal-minato-image-b);background-size:cover;background-position:50% center;background-repeat:no-repeat;filter:grayscale(1) blur(1.2px);pointer-events:none}
body.hal-adopted-top .hal-lp #hal-minato .hal-design__paper::after{content:none}
body.hal-adopted-top .hal-lp #hal-minato .hal-design__prose{position:relative;z-index:1;width:46%;max-width:640px;min-width:0;margin:0 0 0 auto;padding:0;background:none;border:0;color:#fff}
body.hal-adopted-top .hal-lp #hal-minato .hal-design__h3{font-family:HALMinatoTitle,"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(21px,1.8cqw,28px);font-weight:500;line-height:1.7;letter-spacing:.025em;margin:0 0 26px;color:#fff;text-align:left;overflow-wrap:anywhere}
body.hal-adopted-top .hal-lp #hal-minato .hal-p{font-family:HALMinatoBody,"Hiragino Sans","Yu Gothic",sans-serif;font-size:15px;font-weight:400;line-height:2.02;letter-spacing:.025em;margin:0 0 19px;padding:0;color:#fff;line-break:strict;word-break:normal;overflow-wrap:anywhere;text-align:left}
body.hal-adopted-top .hal-lp #hal-minato .hal-design__conclusion{margin-bottom:30px;padding:0;background:none;color:#fff}
body.hal-adopted-top .hal-lp #hal-minato .hal-design__conclusion strong{font-weight:400;color:#fff}
body.hal-adopted-top .hal-lp #hal-minato .hal-related,body.hal-adopted-top .hal-lp #hal-minato .hal-related__links{display:block;width:100%;margin:0;padding:0;border:0;background:none}
body.hal-adopted-top .hal-lp #hal-minato .hal-minato-link{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:60px;padding:16px 32px;border:0;border-radius:12px;background:linear-gradient(to bottom,#fde68a,#fcd34d,#f59e0b);color:#451a03;font-family:HALMinatoBody,"Hiragino Sans",sans-serif;font-size:18px;font-weight:400;line-height:1.5;letter-spacing:-.025em;text-decoration:none;box-shadow:0 0 0 1px rgba(251,191,36,.5),0 4px 0 #b45309,0 10px 15px -3px rgba(0,0,0,.5);transition:transform .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}
body.hal-adopted-top .hal-lp #hal-minato .hal-minato-link::before{content:"";position:absolute;z-index:-1;inset:-4px;border-radius:12px;background:rgba(245,158,11,.4);opacity:.4;filter:blur(8px);pointer-events:none;transition:opacity .5s}
body.hal-adopted-top .hal-lp #hal-minato .hal-minato-link:hover::before,body.hal-adopted-top .hal-lp #hal-minato .hal-minato-link:focus-visible::before{opacity:.75}
body.hal-adopted-top .hal-lp #hal-minato .hal-minato-link:active{transform:translateY(2px);box-shadow:0 0 0 1px rgba(251,191,36,.5),0 2px 0 #b45309}
body.hal-adopted-top .hal-lp #hal-minato .hal-minato-link:focus-visible{outline:2px solid #fff;outline-offset:5px}
body.hal-adopted-top .hal-lp #hal-minato .hal-link-arrow{display:block;flex-shrink:0;font-size:0;line-height:0;width:20px;height:20px;margin:0;color:inherit}
body.hal-adopted-top .hal-lp #hal-minato .hal-link-arrow::before{content:"";display:block;width:20px;height:20px;background:currentColor;-webkit-mask:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpolygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2" fill="none" stroke="black" stroke-width="1.5" stroke-linejoin="round"/%3E%3C/svg%3E') center/contain no-repeat;mask:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpolygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2" fill="none" stroke="black" stroke-width="1.5" stroke-linejoin="round"/%3E%3C/svg%3E') center/contain no-repeat}
@container(max-width:767px){
 body.hal-adopted-top .hal-lp #hal-minato>.hal-container:first-child{padding:32px 24px calc(var(--hal-minato-panel-height)*.18)}
 body.hal-adopted-top .hal-lp #hal-minato .hal-label{font-size:11px;letter-spacing:.26em;margin-bottom:21px}
 body.hal-adopted-top .hal-lp #hal-minato .hal-design-heading{text-shadow:0 2px 18px rgba(0,0,0,.9)}
 /* OwnerFixR3 mobile slide 1: label + heading at the top (the panel is held just below the fixed header; label 28px below it), heading clamp(32px,8.5vw,40px) / 700 / 1.5 on the heading text itself (the theme rule capping .hal-design-heading__main at 18-24px no longer applies); the two existing lines wrap only between their phrases; the existing overlay is turned so the top (behind the white heading) is the darker end — no text box, photo unchanged */body.hal-adopted-top .hal-lp #hal-minato>.hal-container:first-child{justify-content:flex-start;padding-top:28px;background:linear-gradient(180deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.66) 32%,rgba(0,0,0,.18) 58%,rgba(0,0,0,.3) 100%)}body.hal-adopted-top .hal-lp #hal-minato .hal-design-heading{font-size:min(40px,calc((100cqw - 48px) / 12.5));font-weight:700;line-height:1.5;letter-spacing:.018em}body.hal-adopted-top .hal-lp #hal-minato .hal-design-heading .hal-design-heading__main{font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit}body.hal-adopted-top .hal-lp #hal-minato .hal-design-heading .hal-design-heading__line{white-space:nowrap;max-width:100%}body.hal-adopted-top .hal-lp #hal-minato .hal-design-heading__phrase{display:inline-block;white-space:nowrap}
 body.hal-adopted-top .hal-lp #hal-minato .hal-design__paper{padding:48px 24px 62px}
 body.hal-adopted-top .hal-lp #hal-minato .hal-design__paper::before{background-image:linear-gradient(rgba(0,0,0,.82),rgba(0,0,0,.82)),var(--hal-minato-image-b);background-position:29% center;filter:grayscale(1) blur(1.5px)}
 body.hal-adopted-top .hal-lp #hal-minato .hal-design__prose{width:100%;max-width:520px;margin:0 auto}
 body.hal-adopted-top .hal-lp #hal-minato .hal-design__h3{font-size:21px;font-weight:700;line-height:1.65;letter-spacing:.015em;margin-bottom:23px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
 body.hal-adopted-top .hal-lp #hal-minato .hal-p{font-size:14px;line-height:1.98;letter-spacing:.02em;margin-bottom:17px}
 body.hal-adopted-top .hal-lp #hal-minato .hal-design__conclusion{margin-bottom:26px}
 body.hal-adopted-top .hal-lp #hal-minato .hal-minato-link{padding:15px 20px;font-size:15px;min-height:58px}
}
@media(max-width:767px){
 body.hal-adopted-top .hal-lp #hal-minato>.hal-container:first-child{padding-right:24px;padding-left:24px}
 body.hal-adopted-top .hal-lp #hal-minato>.hal-container:first-child{justify-content:flex-start;padding-top:28px;background:linear-gradient(180deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.66) 32%,rgba(0,0,0,.18) 58%,rgba(0,0,0,.3) 100%)}body.hal-adopted-top .hal-lp #hal-minato .hal-design-heading{font-size:min(40px,calc((100vw - 48px) / 12.5));font-weight:700;line-height:1.5;letter-spacing:.018em}body.hal-adopted-top .hal-lp #hal-minato .hal-design-heading .hal-design-heading__main{font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit}body.hal-adopted-top .hal-lp #hal-minato .hal-design-heading .hal-design-heading__line{white-space:nowrap;max-width:100%}body.hal-adopted-top .hal-lp #hal-minato .hal-design-heading__phrase{display:inline-block;white-space:nowrap}
 body.hal-adopted-top .hal-lp #hal-minato .hal-design__h3{font-size:21px;font-weight:700}
 body.hal-adopted-top .hal-lp #hal-minato .hal-design__paper{padding:48px 24px 62px}
 body.hal-adopted-top .hal-lp #hal-minato .hal-design__prose{width:100%;max-width:520px;margin:0 auto}
 body.hal-adopted-top .hal-lp #hal-minato .hal-design__paper::before{background-image:linear-gradient(rgba(0,0,0,.82),rgba(0,0,0,.82)),var(--hal-minato-image-b);background-position:29% center;filter:grayscale(1) blur(1.5px)}
 body.hal-adopted-top .hal-lp #hal-minato .hal-p{font-size:14px;line-height:1.98}
 body.hal-adopted-top .hal-lp #hal-minato .hal-minato-link{padding:15px 20px;font-size:15px}
}
@media(max-height:420px){body.hal-adopted-top .hal-lp #hal-minato>.hal-container:first-child{padding-top:16px;padding-bottom:24px}body.hal-adopted-top .hal-lp #hal-minato .hal-design-heading{font-size:clamp(18px,5.8cqw,26px);line-height:1.5}body.hal-adopted-top .hal-lp #hal-minato .hal-label{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){body.hal-adopted-top .hal-lp #hal-minato>.hal-container:first-child{position:relative;grid-row:1;top:auto}body.hal-adopted-top .hal-lp #hal-minato .hal-design__region{position:relative;grid-row:1;top:auto;margin:0}body.hal-adopted-top .hal-lp #hal-minato .hal-minato-link,body.hal-adopted-top .hal-lp #hal-minato .hal-minato-link::before{transition:none}}
@supports not(position:sticky){body.hal-adopted-top .hal-lp #hal-minato>.hal-container:first-child{position:relative;grid-row:1}body.hal-adopted-top .hal-lp #hal-minato .hal-design__region{position:relative;grid-row:1;top:auto;margin:0}}
/* FinalOwnerFix1 mobile slide 1 (Owner): the heading is back on its two original lines 「この街の答え合わせは、」「感情ではなく逆算で解く。」 -
   each line stays on one line (nowrap), the whole text and punctuation unchanged. Size = what makes the longer line (12 characters,
   letter-spacing .018em) fit the text width (container width - 2 x 24px): min(40px, (width - 48px) / 12.5) - about 26px at 375px and
   27px at 390px wide (formerly at least 32px, which wrapped to 4 lines). Weight 700, top position, header gap, photo, overlay, slide 2
   and PC unchanged. Applied in the container query and in the media query fallback above. */
