/* TOP BELOW-HERO v4. Scoped to #ohama-top-v4. No root/body/header/footer/HERO overrides. */
#ohama-top-v4 {
 --ot-paper:#faf7f1; --ot-paper-deep:#f0e9df; --ot-ink:#33231b; --ot-muted:#736458;
 --ot-line:#ddd0bf; --ot-red:#a4473f; --ot-choco:#28170f; --ot-gold:#9a734c;
 --ot-serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",Georgia,serif;
 --ot-sans:"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans CJK JP",Meiryo,sans-serif;
 background:var(--ot-paper); color:var(--ot-ink); font-family:var(--ot-sans); line-height:1.9;
 -webkit-font-smoothing:antialiased; isolation:isolate;
}
#ohama-top-v4 *,#ohama-top-v4 *::before,#ohama-top-v4 *::after{box-sizing:border-box}
#ohama-top-v4 :where(h2,h3,p,figure,ul){margin:0}
#ohama-top-v4 a{color:inherit;text-decoration:none}
#ohama-top-v4 button{font:inherit;cursor:pointer}
#ohama-top-v4 button:disabled{cursor:default}
#ohama-top-v4 img{display:block;width:100%;height:100%;object-fit:cover}
#ohama-top-v4 :focus-visible{outline:2px solid var(--ot-red);outline-offset:5px}
#ohama-top-v4 [hidden]{display:none!important}
#ohama-top-v4 section{scroll-margin-top:110px}
#ohama-top-v4 .ot4-wrap{width:min(1248px,calc(100% - 112px));margin-inline:auto}
#ohama-top-v4 .ot4-kicker{font-family:Georgia,serif;font-weight:400;font-size:11px;line-height:1.5;letter-spacing:.2em;color:var(--ot-gold)}
#ohama-top-v4 .ot4-heading{font-family:var(--ot-serif);font-size:clamp(29px,3.2vw,45px);font-weight:500;line-height:1.6;letter-spacing:.045em}
#ohama-top-v4 .ot4-copy{font-size:13px;line-height:2.2;letter-spacing:.055em;color:var(--ot-muted)}
#ohama-top-v4 .ot4-link{display:inline-flex;align-items:center;gap:20px;min-height:48px;font-size:12px;letter-spacing:.08em}
#ohama-top-v4 .ot4-link > span:first-child{border-bottom:1px solid var(--ot-line);padding-block:7px}
#ohama-top-v4 .ot4-arrow{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--ot-line);transition:background .25s,color .25s,transform .25s}
#ohama-top-v4 .ot4-arrow svg{width:16px;height:16px;transition:transform .25s}
#ohama-top-v4 .ot4-photo{position:relative;overflow:hidden;background:#e9dfd1}
#ohama-top-v4 .ot4-photo img{transition:transform .85s cubic-bezier(.2,.65,.25,1)}
#ohama-top-v4 .ot4-caption{position:absolute;z-index:1;right:14px;bottom:12px;max-width:calc(100% - 28px);font-size:9px;line-height:1.6;letter-spacing:.03em;color:#fff;background:#21170dbb;padding:4px 9px;border-radius:2px}
/* Local navigation is a calm transition out of the dark HERO. */
#ohama-top-v4 .ot4-trail{border-bottom:1px solid var(--ot-line);padding:18px 0;background:#f3eee6}
#ohama-top-v4 .ot4-trail-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
#ohama-top-v4 .ot4-trail p{font-family:var(--ot-serif);font-size:13px;letter-spacing:.12em}
#ohama-top-v4 .ot4-trail nav{display:flex;gap:28px;align-items:center;font-size:11px}
#ohama-top-v4 .ot4-trail a{padding:9px 0;position:relative;white-space:nowrap}
#ohama-top-v4 .ot4-trail a::after{content:"";position:absolute;bottom:4px;left:0;width:0;height:1px;background:var(--ot-red);transition:width .25s}
/* Sweets: verified product names, gracefully text-only until approved local photos exist. */
#ohama-top-v4 .ot4-sweets{padding:88px 0 74px}
#ohama-top-v4 .ot4-section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:25px}
#ohama-top-v4 .ot4-section-head .ot4-kicker{margin-bottom:11px}
#ohama-top-v4 .ot4-section-head .ot4-copy{margin-top:13px}
#ohama-top-v4 .ot4-product-note{margin-top:17px;font-size:11px;color:var(--ot-muted);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
/* Story: large landscape with a narrow editorial column, no card chrome. */
#ohama-top-v4 .ot4-story{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);position:relative;background:var(--ot-paper-deep);min-height:510px}
#ohama-top-v4 .ot4-story-copy{padding:65px 56px 64px max(56px,calc((100vw - 1248px)/2));align-self:center}
#ohama-top-v4 .ot4-story-copy .ot4-heading{margin:20px 0 22px;font-size:clamp(28px,3.1vw,42px)}
#ohama-top-v4 .ot4-story-copy .ot4-link{margin-top:20px}
#ohama-top-v4 .ot4-story-photo{min-height:510px}
#ohama-top-v4 .ot4-story-photo img{object-position:48% 50%}
#ohama-top-v4 .ot4-story-note{position:absolute;right:38px;top:35px;color:#fff5df;text-shadow:0 2px 20px #3d230caa;font-family:var(--ot-serif);font-size:16px;writing-mode:vertical-rl;line-height:2;letter-spacing:.15em}
/* People */
#ohama-top-v4 .ot4-makers{padding:98px 0 75px}
#ohama-top-v4 .ot4-makers-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-bottom:35px;align-items:end}
#ohama-top-v4 .ot4-makers-head .ot4-kicker{margin-bottom:14px}
#ohama-top-v4 .ot4-makers-head .ot4-copy{max-width:450px}
#ohama-top-v4 .ot4-makers-head .ot4-link{margin-top:16px}
#ohama-top-v4 .ot4-maker-grid{display:grid;grid-template-columns:1.13fr 1fr .88fr;align-items:start;gap:22px}
#ohama-top-v4 .ot4-maker:nth-child(2){margin-top:45px}
#ohama-top-v4 .ot4-maker:nth-child(3){margin-top:90px}
#ohama-top-v4 .ot4-maker .ot4-photo{aspect-ratio:4/4.5}
#ohama-top-v4 .ot4-maker:nth-child(3) .ot4-photo{aspect-ratio:4/4.8}
#ohama-top-v4 .ot4-maker:nth-child(3) img{object-position:50% 25%}
#ohama-top-v4 .ot4-maker-label{padding-top:17px;display:flex;gap:17px;align-items:baseline}
#ohama-top-v4 .ot4-maker-label span{font-family:Georgia,serif;font-size:10px;color:var(--ot-gold)}
#ohama-top-v4 .ot4-maker-label h3{font-family:var(--ot-serif);font-weight:500;font-size:19px;letter-spacing:.06em}
#ohama-top-v4 .ot4-craft-link{border-top:1px solid var(--ot-line);border-bottom:1px solid var(--ot-line);margin-top:52px;padding:26px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}
#ohama-top-v4 .ot4-craft-link p{font-family:var(--ot-serif);font-size:24px;letter-spacing:.04em}
#ohama-top-v4 .ot4-craft-link .ot4-kicker{display:block;margin-bottom:9px;font-size:10px}
/* Symbol */
#ohama-top-v4 .ot4-symbol{display:grid;grid-template-columns:1.28fr 1fr;min-height:490px;background:#f0ece2}
#ohama-top-v4 .ot4-symbol-photo{min-height:490px}
#ohama-top-v4 .ot4-symbol-photo img{object-position:34% 50%}
#ohama-top-v4 .ot4-symbol-copy{padding:55px max(56px,calc((100vw - 1248px)/2)) 55px 65px;align-self:center}
#ohama-top-v4 .ot4-symbol-copy .ot4-heading{margin:17px 0 20px}
#ohama-top-v4 .ot4-symbol-copy .ot4-link{margin-top:20px}
/* Visit, seaside air after the warm confectionery sections */
#ohama-top-v4 .ot4-visit{margin:90px 0 0;position:relative;min-height:550px;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:#c7dbe2}
#ohama-top-v4 .ot4-visit-photo{position:absolute;inset:0;z-index:-2}
#ohama-top-v4 .ot4-visit-photo img{object-position:55% 50%}
#ohama-top-v4 .ot4-visit::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f9f8f0f7 0%,#f9f8f0e8 22%,#f9f8f07a 43%,#f9f8f000 63%);z-index:-1}
#ohama-top-v4 .ot4-visit .ot4-wrap{padding-block:60px}
#ohama-top-v4 .ot4-visit .ot4-heading{margin:18px 0 22px;font-size:clamp(29px,3.05vw,43px)}
#ohama-top-v4 .ot4-visit .ot4-copy{max-width:380px;color:#4d5d61}
#ohama-top-v4 .ot4-visit .ot4-link{margin-top:22px}
#ohama-top-v4 .ot4-visit .ot4-kicker{color:#526f77}
/* Tour: honest availability, not a fake map or video. */
#ohama-top-v4 .ot4-tour{position:relative;overflow:hidden;isolation:isolate;background:#18262a;color:#fff8ed;padding:62px 0;min-height:300px;display:flex;align-items:center}
#ohama-top-v4 .ot4-tour-photo{position:absolute;inset:0;z-index:-2;opacity:.55}
#ohama-top-v4 .ot4-tour-photo img{object-position:50% 32%;filter:saturate(.65)}
#ohama-top-v4 .ot4-tour::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#122026eb 0%,#122026bb 42%,#12202622 100%);z-index:-1}
#ohama-top-v4 .ot4-tour-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}
#ohama-top-v4 .ot4-tour .ot4-kicker{color:#c6d1cb}
#ohama-top-v4 .ot4-tour .ot4-heading{margin:13px 0 12px;font-size:39px}
#ohama-top-v4 .ot4-tour .ot4-copy{color:#dfdfd4}
#ohama-top-v4 .ot4-tour-route{font-family:var(--ot-serif);font-size:17px;letter-spacing:.14em;line-height:2.5;border-block:1px solid #c8c6b84d;padding:19px 0}
#ohama-top-v4 .ot4-tour-route span{margin:0 12px;opacity:.45}
#ohama-top-v4 .ot4-tour-status{display:flex;gap:10px;align-items:center;margin-top:20px;font-size:11px;letter-spacing:.08em;color:#e4dac8}
#ohama-top-v4 .ot4-tour-status i{width:6px;height:6px;border:1px solid #d8c49e;border-radius:50%}
#ohama-top-v4 .ot4-tour .ot4-caption{font-size:8px}
/* Editorial exit and two honest, functional journeys. */
#ohama-top-v4 .ot4-journal{padding:43px 0;border-bottom:1px solid var(--ot-line)}
#ohama-top-v4 .ot4-journal .ot4-wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}
#ohama-top-v4 .ot4-journal-head{display:flex;gap:35px;align-items:center}
#ohama-top-v4 .ot4-journal h2{font-family:var(--ot-serif);font-size:23px;letter-spacing:.04em;font-weight:500}
#ohama-top-v4 .ot4-finale{padding:62px 0 76px}
#ohama-top-v4 .ot4-finale-title{font-family:var(--ot-serif);font-size:28px;line-height:1.8;font-weight:500;text-align:center;margin-bottom:32px}
#ohama-top-v4 .ot4-finale-grid{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--ot-line)}
#ohama-top-v4 .ot4-finale-link{padding:29px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;transition:background .3s}
#ohama-top-v4 .ot4-finale-link+ .ot4-finale-link{border-left:1px solid var(--ot-line)}
#ohama-top-v4 .ot4-finale-link small{font-family:Georgia,serif;font-size:9px;letter-spacing:.2em;color:var(--ot-gold);display:block}
#ohama-top-v4 .ot4-finale-link strong{font-family:var(--ot-serif);font-size:24px;font-weight:500;letter-spacing:.08em;display:block;margin-top:5px}
#ohama-top-v4 .ot4-review-note{margin-top:25px;font-size:10px;line-height:1.9;color:#81756c}
@media(hover:hover) and (pointer:fine){
 #ohama-top-v4 .ot4-link:hover .ot4-arrow,#ohama-top-v4 .ot4-product-link:hover .ot4-arrow,#ohama-top-v4 .ot4-finale-link:hover .ot4-arrow{background:var(--ot-choco);color:#fff;border-color:var(--ot-choco)}
 #ohama-top-v4 .ot4-link:hover svg,#ohama-top-v4 .ot4-product-link:hover svg,#ohama-top-v4 .ot4-finale-link:hover svg{transform:translateX(3px)}
 #ohama-top-v4 .ot4-photo:hover img{transform:scale(1.025)}
 #ohama-top-v4 .ot4-trail a:hover::after{width:100%}
}
/* Visible by default. Only short one-time animations, never a hidden page without JS. */
@media(prefers-reduced-motion:no-preference){
 #ohama-top-v4 [data-ot4-reveal].ot4-seen{animation:ot4-enter .72s cubic-bezier(.2,.7,.2,1) both}
 @keyframes ot4-enter{from{opacity:.2;transform:translateY(16px)}to{opacity:1;transform:none}}
}
@media(min-width:1800px){
 #ohama-top-v4 .ot4-story{min-height:570px}#ohama-top-v4 .ot4-story-photo{min-height:570px}
 #ohama-top-v4 .ot4-symbol{min-height:540px}#ohama-top-v4 .ot4-symbol-photo{min-height:540px}
}
@media(max-width:1100px){
 #ohama-top-v4 .ot4-wrap{width:calc(100% - 76px)}
 #ohama-top-v4 .ot4-story-copy{padding:45px 35px 45px 38px}
 #ohama-top-v4 .ot4-symbol-copy{padding:40px 38px 40px 40px}
 #ohama-top-v4 .ot4-makers-head{gap:40px}
 #ohama-top-v4 .ot4-tour-inner{gap:45px}
 #ohama-top-v4 .ot4-trail nav{gap:18px}
}
@media(max-width:760px){
 #ohama-top-v4 .ot4-wrap{width:calc(100% - 44px)}
 #ohama-top-v4 .ot4-heading{font-size:30px}
 #ohama-top-v4 .ot4-copy{font-size:12px;line-height:2.15}
 #ohama-top-v4 .ot4-trail{padding:9px 0}
 #ohama-top-v4 .ot4-trail p{display:none}
 #ohama-top-v4 .ot4-trail nav{width:100%;justify-content:space-between;gap:8px;font-size:10px}
 #ohama-top-v4 .ot4-sweets{padding:54px 0 47px}
 #ohama-top-v4 .ot4-section-head{display:block}
 #ohama-top-v4 .ot4-section-head>.ot4-link{margin-top:12px}
 #ohama-top-v4 .ot4-product-note{font-size:10px;gap:8px}
 #ohama-top-v4 .ot4-story{grid-template-columns:1fr}
 #ohama-top-v4 .ot4-story-copy{padding:45px 24px}
 #ohama-top-v4 .ot4-story-copy .ot4-heading{font-size:31px}
 #ohama-top-v4 .ot4-story-photo{min-height:0;aspect-ratio:4/3}
 #ohama-top-v4 .ot4-story-note{right:20px;top:20px;font-size:12px}
 #ohama-top-v4 .ot4-makers{padding:55px 0}
 #ohama-top-v4 .ot4-makers-head{grid-template-columns:1fr;gap:22px;margin-bottom:26px}
 #ohama-top-v4 .ot4-maker-grid{grid-template-columns:1fr 1fr;gap:22px 12px}
 #ohama-top-v4 .ot4-maker:nth-child(2){margin-top:24px}
 #ohama-top-v4 .ot4-maker:nth-child(3){margin-top:0;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}
 #ohama-top-v4 .ot4-maker:nth-child(3) .ot4-photo{aspect-ratio:4/3}
 #ohama-top-v4 .ot4-maker:nth-child(3) .ot4-caption{font-size:7px;right:7px;bottom:7px}
 #ohama-top-v4 .ot4-maker-label{gap:10px;padding-top:12px;flex-wrap:wrap}
 #ohama-top-v4 .ot4-maker-label h3{font-size:17px}
 #ohama-top-v4 .ot4-caption{font-size:8px;bottom:8px;right:8px}
 #ohama-top-v4 .ot4-craft-link{margin-top:33px;padding:22px 0;display:block}
 #ohama-top-v4 .ot4-craft-link p{font-size:22px}
 #ohama-top-v4 .ot4-craft-link .ot4-link{margin-top:10px}
 #ohama-top-v4 .ot4-symbol{grid-template-columns:1fr}
 #ohama-top-v4 .ot4-symbol-photo{min-height:0;aspect-ratio:4/3}
 #ohama-top-v4 .ot4-symbol-copy{padding:40px 24px 44px}
 #ohama-top-v4 .ot4-visit{margin-top:52px;min-height:680px;align-items:flex-start;background:#e8f0ec}
 #ohama-top-v4 .ot4-visit .ot4-wrap{padding-top:43px}
 #ohama-top-v4 .ot4-visit .ot4-heading{font-size:30px}
 #ohama-top-v4 .ot4-visit-photo{top:42%}
 #ohama-top-v4 .ot4-visit-photo img{object-position:55% 60%}
 #ohama-top-v4 .ot4-visit::before{background:linear-gradient(180deg,#ecf1eaff 0%,#ecf1eaff 37%,#ecf1ea00 70%)}
 #ohama-top-v4 .ot4-tour{padding:43px 0 57px}
 #ohama-top-v4 .ot4-tour-inner{grid-template-columns:1fr;gap:28px}
 #ohama-top-v4 .ot4-tour .ot4-heading{font-size:33px}
 #ohama-top-v4 .ot4-tour-route{font-size:15px;padding:14px 0}
 #ohama-top-v4 .ot4-journal{padding:27px 0}
 #ohama-top-v4 .ot4-journal .ot4-wrap{display:block}
 #ohama-top-v4 .ot4-journal-head{display:block}
 #ohama-top-v4 .ot4-journal h2{font-size:21px;margin-top:9px}
 #ohama-top-v4 .ot4-journal .ot4-link{margin-top:9px}
 #ohama-top-v4 .ot4-finale{padding:40px 0 42px}
 #ohama-top-v4 .ot4-finale-title{font-size:24px;margin-bottom:24px}
 #ohama-top-v4 .ot4-finale-grid{grid-template-columns:1fr}
 #ohama-top-v4 .ot4-finale-link{padding:22px 7px}
 #ohama-top-v4 .ot4-finale-link+ .ot4-finale-link{border-left:0;border-top:1px solid var(--ot-line)}
 #ohama-top-v4 .ot4-finale-link strong{font-size:23px}
}
@media(prefers-reduced-motion:reduce){
 #ohama-top-v4 *,#ohama-top-v4 *::before,#ohama-top-v4 *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
#ohama-top-v4 .ot4-photo > picture{position:absolute;inset:0;display:block;width:100%;height:100%}
#ohama-top-v4 .ot4-story-photo > figure{position:absolute;inset:0;width:100%;height:100%}

#ohama-top-v4 .ot4-products-empty{grid-column:1/-1;padding:28px;background:var(--ot-paper);color:var(--ot-muted);font-size:13px}

/* v4.2 — a curated five-item shelf, not a second catalog. */
#ohama-top-v4 .ot4-products{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;background:none;border-top:1px solid var(--ot-line);border-bottom:1px solid var(--ot-line);margin-top:28px}
#ohama-top-v4 .ot4-product{min-width:0;position:relative;border:0;border-right:1px solid var(--ot-line);background:transparent}
#ohama-top-v4 .ot4-product:last-child{border-right:0}
#ohama-top-v4 .ot4-product-link{height:100%;display:flex;flex-direction:column;min-height:296px;padding:24px 17px 20px;transition:background .3s}
#ohama-top-v4 .ot4-product-index{font-family:Georgia,serif;font-size:9px;letter-spacing:.19em;color:var(--ot-gold)}
#ohama-top-v4 .ot4-product-media{width:100%;aspect-ratio:1.1/1;height:auto;margin:17px 0 0;overflow:hidden;background:var(--ot-paper-deep)}
#ohama-top-v4 .ot4-product-media img{object-fit:contain;width:100%;height:100%;transition:transform .6s ease}
#ohama-top-v4 .ot4-product h3{font-family:var(--ot-serif);font-size:clamp(15px,1.3vw,18px);line-height:1.75;letter-spacing:.01em;font-weight:500;margin:21px 0 7px;overflow-wrap:anywhere}
#ohama-top-v4 .ot4-product-en{font-family:Georgia,serif;font-size:8px;letter-spacing:.12em;color:var(--ot-gold);line-height:1.6}
#ohama-top-v4 .ot4-product-copy{font-size:11px;line-height:1.95;color:var(--ot-muted);margin-top:15px}
#ohama-top-v4 .ot4-product-end{display:flex;align-items:center;justify-content:space-between;gap:6px;padding-top:22px;margin-top:auto;font-size:10px;color:var(--ot-muted)}
#ohama-top-v4 .ot4-product-end .ot4-arrow{width:29px;height:29px}
#ohama-top-v4 .ot4-pickup-hint{display:none}
#ohama-top-v4 .ot4-products-empty{grid-column:1/-1;padding:28px;color:var(--ot-muted);font-size:13px}
@media(hover:hover) and (pointer:fine){
 #ohama-top-v4 .ot4-product-link:hover{background:#eee5d788}
 #ohama-top-v4 .ot4-product-link:hover .ot4-arrow{background:var(--ot-choco);color:#fff;border-color:var(--ot-choco)}
 #ohama-top-v4 .ot4-product-link:hover svg{transform:translateX(3px)}
 #ohama-top-v4 .ot4-product-link:hover img{transform:scale(1.025)}
}
@media(min-width:761px) and (max-width:1100px){
 #ohama-top-v4 .ot4-product-link{padding:20px 11px 18px}
 #ohama-top-v4 .ot4-product h3{font-size:15px}
 #ohama-top-v4 .ot4-product-copy{font-size:10px}
}
@media(max-width:760px){
 #ohama-top-v4 .ot4-products{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(76%,280px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:2px;scrollbar-width:thin;margin-top:22px}
 #ohama-top-v4 .ot4-product{scroll-snap-align:start}
 #ohama-top-v4 .ot4-product-link{padding:22px 18px 21px;min-height:280px}
 #ohama-top-v4 .ot4-product h3{font-size:18px}
 #ohama-top-v4 .ot4-product-copy{font-size:11px}
 #ohama-top-v4 .ot4-pickup-hint{display:block;text-align:right;font-size:10px;letter-spacing:.06em;color:var(--ot-muted);margin-top:10px}
}
@media(prefers-reduced-motion:reduce){
 #ohama-top-v4 .ot4-products{scroll-behavior:auto;scroll-snap-type:none}
 #ohama-top-v4 .ot4-product-link,#ohama-top-v4 .ot4-product-media img{transition:none}
 #ohama-top-v4 .ot4-product-link:hover img{transform:none}
}

@media(hover:hover) and (pointer:fine){#ohama-top-v4 .ot4-finale-link:hover{background:#eee5d788}}
