/* Ushigome02: one rounded, two/three-color icon vocabulary.
   Text labels name every action; adjacent SVGs are decorative. */
.icon{stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.global-nav .icon{stroke-width:2.2}
.section-heading>.icon,.tide-heading>.icon,.reasons-heading>.icon{stroke-width:2.2}
.news-main .section-heading>.icon{--icon-tint:#fff0f5;--icon-accent:#f66309}
.reason>.icon{width:62px;height:62px;padding:8px;stroke-width:2.2;justify-self:center}
.reason-green>.icon{color:#418b17;background:#f0f9eb;--icon-tint:#e0efcc;--icon-accent:#f66309}
.reason-blue>.icon{color:#0087da;background:#e5f6ff;--icon-tint:#cbeeff;--icon-accent:#f66309}
.reason-pink>.icon{color:#ef5280;background:#fff0f5;--icon-tint:#ffdae6}
.reason-orange>.icon{color:#f66309;background:#fff2e8;--icon-tint:#fff0bc;--icon-accent:#008ce5}
.visit-link>.icon:first-child{width:43px;height:43px;padding:5px;border-radius:50%;background:#f0f9eb;--icon-tint:#e0efcc;--icon-accent:#f66309;stroke-width:2.2}
.access-link>.icon:first-child{background:#fff2e8;--icon-tint:#fff0bc;--icon-accent:#008ce5}
.ticket-heading .section-heading>.icon,.advance-tickets h3>.icon{--icon-tint:#fff0bc;--icon-accent:#008ce5;stroke-width:2.2}
.payment-info h3>.icon{stroke-width:2.2}
.paper-calendar>.icon{stroke-width:1.9}
.peach-shell{color:#f66309;--icon-tint:#fff0bc}
/* Interface arrows remain simple and follow the button's foreground color. */
.ticket-button .icon{width:18px;height:18px;stroke-width:2.4}
.shore-detail{stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.sand-star,.sand-small-star,.enjoy-star{color:#d4a650}
.sand-star path:first-child,.sand-small-star path:first-child,.enjoy-star path:first-child{fill:#f2c65c;fill-opacity:.32}
.sand-shell path:first-child,.enjoy-shell path:first-child{fill:#ffbd99;fill-opacity:.3}
.ticket-sketch,.phone-sketch{stroke-width:2.2;color:#0087da;--icon-tint:#e5f6ff;--icon-accent:#f66309}
/* Functional icons use one outline color and a quiet surface. */
.global-nav .icon,.tide-heading>.icon,.visit-link>.icon:first-child{
 --icon-tint:#f4faff;--icon-accent:currentColor;stroke-width:2;
}
.visit-link>.icon:first-child{background:none;border-radius:0}
.guide-link>.icon:first-child{--icon-tint:#f0f9eb}
.access-link>.icon:first-child{--icon-tint:#fff2e8;--icon-accent:currentColor;background:none}
.tide-heading>.icon{width:28px;height:28px;color:var(--blue);align-self:center}
/* Keep heading slots stable while reducing the artwork by 15%. */
.section-heading>.icon,.reasons-heading>.icon{
 scale:.85;--icon-tint:#f4faff;--icon-accent:currentColor;stroke-width:2;
}
.ticket-heading .section-heading>.icon,.news-main .section-heading>.icon,
.advance-tickets h3>.icon,.payment-info h3>.icon{
 --icon-tint:#f4faff;--icon-accent:currentColor;stroke-width:2;
}
.advance-tickets h3>.icon,.payment-info h3>.icon{scale:.85}
/* Supporting illustration: half-size calendar with deliberate spacing. */
.tide-decoration{gap:16px;align-items:center}
.paper-calendar{margin-top:0;transform:rotate(-2deg);box-shadow:1px 2px 0 #d4effb66;background:#f4faff;flex:none}
.paper-calendar>.icon{width:50px;height:50px;stroke-width:1.8;--icon-tint:#f4faff;--icon-accent:currentColor}
.paper-calendar span{display:block;font-size:9px}
.tide-decoration .handwritten{font-size:15px;transform:rotate(-3deg)}
.tide-decoration .peach-shell{position:static;width:25px;height:25px;align-self:center;transform:rotate(-8deg);color:#efb28b;--icon-tint:#fff2e8;--icon-accent:currentColor}
@media(max-width:1190px){
 .tide-decoration{gap:10px}
 .tide-decoration .handwritten{font-size:12px}
 .tide-decoration .peach-shell{display:none}
}
@media(max-width:1000px){
 .paper-calendar>.icon{width:36px;height:36px}
 .paper-calendar span{font-size:8px}
 .tide-decoration .handwritten{font-size:11px}
}
@media(max-width:1000px){.reason>.icon{width:62px;height:62px}}
@media(max-width:600px){
 .reason>.icon{width:53px;height:53px;padding:6px}
 .visit-link>.icon:first-child{width:34px;height:34px;padding:3px}
 .ticket-button .icon{width:15px;height:15px;right:5px}
 .tide-decoration{display:none}
 .tide-heading>.icon{width:26px;height:26px;align-self:flex-start}
}
