/* Okinawa postcard palette, shared by all languages and booking pages. */
:root{--ink:#173f42;--blue:#176b70;--accent:#f2c349;--paper:#fff9e9;--soft:#e4f1e9;--red:#ba402d;--line:#214b4b}body{background:var(--paper);font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--ink)}h1,h2,h3{font-family:inherit;font-weight:800;letter-spacing:.025em}h1{line-height:1.45}h2{line-height:1.5}.eyebrow{color:var(--red);font-weight:800;letter-spacing:.12em}.language-switcher{background:var(--ink);color:var(--paper);border-bottom:3px solid var(--accent)}.language-switcher a[aria-current=page]{border-color:var(--accent);color:#ffe183}header{background:var(--paper);padding-top:22px;padding-bottom:22px}.mark{color:var(--red);font-weight:900}.brand small{letter-spacing:.06em}header nav a{font-weight:700}header nav .monthly-quote-nav{border-color:var(--red)}.button,.catalog-quote-cta a,.quote-section .button{border:2px solid var(--line);border-radius:8px;box-shadow:4px 4px 0 var(--line);background:var(--red);color:#fff9e9;font-weight:800;transition:transform .15s,box-shadow .15s}.button:hover,.catalog-quote-cta a:hover,.quote-section .button:hover{background:#a43525;transform:translate(1px,1px);box-shadow:2px 2px 0 var(--line)}.stay-booking-buttons .long-stay-booking{background:var(--accent);color:var(--ink)}
.hero,html:not([lang=ja]) .hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px;background:#f4c64f;border:3px solid var(--line);border-radius:18px;min-height:590px;padding:46px 5% 54px;margin:0 3%;overflow:hidden;box-shadow:7px 7px 0 var(--line)}.hero-copy,html:not([lang=ja]) .hero-copy{padding:0;max-width:none;order:0}.hero-copy .eyebrow{display:inline-block;color:var(--paper);background:var(--red);border:2px solid var(--line);padding:7px 13px;transform:rotate(-3deg);margin-bottom:25px}.hero-copy h1{font-size:clamp(32px,3.8vw,54px);font-weight:900;text-shadow:2px 2px 0 #fff8e6}.hero-copy>p:not(.eyebrow){font-size:16px;font-weight:600}.hero-copy .text-link{background:var(--paper);border:2px solid var(--line);border-radius:7px;padding:12px 18px;box-shadow:3px 3px 0 var(--line);gap:24px}.hero-image{position:relative;inset:auto;width:100%;height:430px;padding:12px 12px 36px;background:var(--paper);border:2px solid var(--line);box-shadow:6px 7px 0 #173f4233;transform:rotate(3deg);order:1}.hero-image img{height:100%;border:1px solid var(--line);object-position:center}.hero-image:after{display:none}.hero-note{background:var(--ink);color:var(--paper);border-radius:3px;bottom:12px;right:20px;letter-spacing:.08em}
.intro h2{color:var(--red)}.section-heading .eyebrow{color:var(--red)}.facilities{background:#d8eae4;border-block:3px solid var(--line)}.facility-grid figure{background:var(--paper);padding:10px;border:2px solid var(--line);box-shadow:4px 4px 0 var(--line);border-radius:6px}.facility-grid figcaption{padding:8px}.facility-grid figcaption h3{font-weight:800}.access>img{border:10px solid var(--paper);outline:2px solid var(--line);box-shadow:6px 6px 0 #edbe49;transform:rotate(1deg)}.parking-map{background:#ffedb4;border:2px solid var(--line);border-radius:12px}.parking-maintenance{background:#ffe5bf;border-left-color:var(--red)}.reservation{background:var(--blue);border-top:3px solid var(--line);background-image:repeating-linear-gradient(135deg,transparent 0,transparent 20px,#ffffff05 20px,#ffffff05 22px)}.reservation h2{font-weight:800}.reservation .light{background:var(--paper);color:var(--ink)}footer{border-top:3px solid var(--line);background:#f4c64f}.time-card,.pet-policy,.long-stay,.monthly-terms{border:2px solid var(--line);border-radius:12px;background:#fffdf4}.time-card{border-top:8px solid var(--blue)}.pet-rooms>div{border-radius:8px}.monthly-rates thead{background:#f4c64f}.monthly-rates th,.monthly-rates td{border-color:#bbceca}
.room-catalog>.eyebrow{color:var(--red)}.room-catalog>h2{font-weight:900}.catalog-links a{border:2px solid var(--line);background:#fffdf4;box-shadow:3px 3px 0 var(--line);border-radius:8px}.catalog-links a:hover{background:#ffedb4}.catalog-search{background:#dceee8;border:2px solid var(--line);border-radius:14px;box-shadow:5px 5px 0 var(--line)}.catalog-search h3{color:var(--ink)}.catalog-search select,.quote-section input:not([type=checkbox]),.quote-section select,.quote-section textarea{border:2px solid #628988;border-radius:7px;background:#fffdf7}.catalog-included span{background:#fff9e9;border:1px solid #71918a;border-radius:5px;padding:4px 8px}.catalog-fee-notes{border-color:#9ebbb3}.catalog-table{border:2px solid var(--line);border-radius:10px;background:#fffdf7}.catalog-table thead,.catalog-table thead th:first-child{background:#f4c64f}.catalog-table caption{background:var(--blue);color:white;font-weight:700}.catalog-table th:first-child{background:#f1f3e9}.catalog-card{border:2px solid var(--line);border-radius:10px;box-shadow:4px 4px 0 var(--line);background:#fffdf7}.catalog-photo{padding:10px 10px 0}.catalog-photo img{border:1px solid var(--line);border-radius:3px}.catalog-photo span{background:#f4c64f;border:1px solid var(--line);border-radius:4px;font-weight:700}.catalog-body h3{font-size:24px;font-weight:900}.catalog-price{color:var(--red)}.catalog-body summary{border-top:2px dashed #aac2bc;margin-top:16px}.catalog-pet{background:#ffedc3;border-radius:6px}.catalog-gallery a{border:1px solid var(--line)}
.quote-room-preview,.quote-section #quote-result,.quote-section #application-form{background:#e4f0e8;border:2px solid var(--line);border-radius:12px}.quote-room-preview #quote-room-photo{background:#fff9e9;border:6px solid #fff9e9;outline:1px solid #9ab1a6}.quote-total{color:var(--red)}.quote-section #quote-result{border-top:8px solid var(--accent)}.quote-policy-details{border-block:1px dashed #71918a}.quote-room-thumbnails button[aria-pressed=true]{border-color:var(--red)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}
@media(max-width:800px){.hero,html:not([lang=ja]) .hero{grid-template-columns:1fr;gap:28px;padding:28px 22px 42px;min-height:0;margin:0 16px;border-radius:12px;box-shadow:5px 5px 0 var(--line)}.hero-copy,html:not([lang=ja]) .hero-copy{padding:0}.hero-copy h1,html:not([lang=ja]) .hero-copy h1{font-size:34px;line-height:1.45}.hero-image{height:300px;padding:8px 8px 24px;transform:rotate(2deg)}.hero-note{font-size:10px;right:10px;bottom:8px}.hero-copy .eyebrow{margin-bottom:20px}.intro h2{font-size:27px}.section{padding-top:48px;padding-bottom:48px}.catalog-search{padding:20px 16px}.catalog-card{margin-right:4px}.catalog-quote-cta{margin-right:4px}.catalog-links{padding-right:3px}.quote-section .button{box-shadow:3px 3px 0 var(--line)}.access>img{transform:none}.reservation h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.button:hover,.catalog-quote-cta a:hover,.quote-section .button:hover{transform:none}}
@media(max-width:600px){.hero-copy h1{font-size:clamp(25px,7.6vw,32px);letter-spacing:0}.hero-copy,.hero-image{min-width:0}html:not([lang=ja]) .hero-copy h1{font-size:30px;overflow-wrap:anywhere}}
