/* Shared visual refresh. Brand yellow, sky blue and a single zero-yen treatment. */
:root{--ink:#192d3e;--brand-ink:#192d3e;--muted:#5d6d7b;--brand-primary:#ffdc4a;--brand-blue:#43bde5;--brand-pale:#fff9df;--line:#e0e7ec;--zero-color:#087d9b;--radius:18px;--page-gutter:clamp(18px,3.2vw,72px)}
html{font-size:clamp(17px,1.25vw,20px)}
body{background:#fff;color:var(--ink);line-height:1.85;letter-spacing:.015em}
.wrap{width:calc(100% - var(--page-gutter)*2);max-width:1680px}
h1,h2,h3{letter-spacing:-.025em}
.price-zero{display:inline-block;color:var(--zero-color);font-size:1.3em;font-weight:850;letter-spacing:-.035em;line-height:1.1;white-space:nowrap;vertical-align:baseline}
.price-zero>span{font-size:.67em;letter-spacing:0;margin-left:.025em}
.price-zero-amount,.price-zero-amount>span,#zero-fee .fee-amount.zero-fee{color:var(--zero-color)}
mark{background:linear-gradient(transparent 76%,#ffdf59 76%,#ffdf59 96%,transparent 96%);padding:0 .06em}
.button,.reservation-link,.keyword-search button{border-radius:12px;box-shadow:none;min-height:54px;transition:background .18s,transform .18s;font-weight:750}
.button:hover{transform:translateY(-1px)}
.primary,.campaign-primary{background:var(--brand-primary);color:var(--ink);border:1px solid transparent}
.secondary,.campaign-secondary{background:#fff;color:var(--ink);border:1px solid #cbd7df}
.button:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #087d9b;outline-offset:4px}
.campaign-header{padding:16px var(--page-gutter);gap:24px;border-bottom:1px solid #e9edf0;box-shadow:none}
.campaign-header .brand img{width:70px;height:57px}
.campaign-header .brand>span{font-size:1.5rem;letter-spacing:-.025em}
.campaign-header .brand small{font-size:.7rem;font-weight:500;letter-spacing:0}
.campaign-header nav{gap:clamp(16px,2vw,30px);font-size:.85rem}
.campaign-header nav a{display:flex;flex-direction:row;gap:7px;align-items:center;min-height:44px}
.campaign-header nav .ui-icon{width:19px;height:19px;color:#718796}
.header-phone strong{font-size:1.6rem;letter-spacing:-.03em}
.header-phone small{font-size:.7rem}
.campaign-story{padding:clamp(48px,6vw,92px) 0;background:#fff}
.campaign-heading{margin-bottom:20px}
.campaign-heading h2{font-size:clamp(1.65rem,2.6vw,2.6rem);font-weight:800;line-height:1.6}
.campaign-heading h2>span{font-size:1.06em;font-weight:850;line-height:1.4}
.section-intro{max-width:900px;font-size:1.05rem;line-height:1.95;color:var(--muted)}
#zero-fee{border-bottom:0;padding-bottom:0}
#zero-fee .fee-intro{font-size:1.03rem;line-height:1.9}
#zero-fee .fee-intro .price-zero{color:var(--zero-color);font-size:1.6em;background:none}
#zero-fee .fee-diagrams{max-width:1420px;gap:28px}
#zero-fee .fee-diagram{border-radius:20px;box-shadow:0 8px 28px #192d3e05}
#zero-fee .fee-card-heading{min-height:108px;background:#f3f6f8;border-color:#e4ebef}
#zero-fee .fee-diagram-free .fee-card-heading{background:#ffdc4a}
#zero-fee .fee-card-heading h3{font-weight:800}
#zero-fee .fee-card-heading p{font-size:.8rem}
#zero-fee .fee-card-heading .price-zero{font-size:1.3em}
#zero-fee .fee-card-amount{padding:24px 0}
#zero-fee .fee-amount{font-size:3.7rem;height:5.2rem;line-height:5.2rem;font-weight:750;color:#3b4f60;letter-spacing:-.05em}
#zero-fee .fee-amount.zero-fee{font-size:5.2rem}
#zero-fee .fee-amount-note{font-size:.85rem}
#zero-fee .diagram-person img{width:140px;height:140px;object-fit:contain;mix-blend-mode:normal}
#zero-fee .diagram-person figcaption{font-size:.93rem}
#zero-fee .fee-payment-flow{gap:20px;padding-top:22px}
#zero-fee .fee-payment-label{font-size:.84rem;min-height:3.8rem;line-height:1.55;margin:8px 0;color:#435b6b}
#zero-fee .fee-payment-label>span{font-size:.76rem}
#zero-fee .fee-payment-none{background:none;padding:0;margin:8px 0;color:var(--zero-color)}
#zero-fee .fee-payment-none .price-zero{font-size:2.6rem;line-height:1.15}
#zero-fee .fee-payment-none>.fee-flow-caption{font-size:.75rem;color:#536d7c;font-weight:600}
#zero-fee .fee-flow-line{height:30px}
#zero-fee .diagram-office{min-height:76px;background:#f3f6f8;border-radius:12px}
#zero-fee .fee-diagram-free .diagram-office{background:#fff7d3}
#zero-fee .comparison-disclaimer{font-size:.75rem;max-width:1420px;margin-top:22px;line-height:1.9}
.cost-section,.benefits-section{padding-top:clamp(64px,7vw,110px)}
.cost-example{border:1px solid #dfe7ec;border-radius:20px;overflow:hidden;box-shadow:0 12px 40px #192d3e06}
.cost-caption{padding:22px 28px;border-bottom:1px solid #e6ebef;background:#fff;gap:18px}
.cost-caption>span{border-radius:6px;background:#fff3b6;font-weight:700;color:var(--ink)}
.cost-table-wrap{padding:14px 28px 0}
.cost-table th,.cost-table td{padding:16px 20px;border-color:#e5ebef}
.cost-table thead th{background:#f3f6f8;line-height:1.6;font-weight:700}
.cost-table thead th:last-child{background:#ffdc4a;color:var(--ink);font-size:1.15rem}
.cost-table tbody th{font-weight:600}
.cost-table .fee-row td:last-child{background:#edf8fc}
.cost-table .fee-row .price-zero{font-size:1.9rem;color:var(--zero-color)}
.cost-table tfoot td:last-child{background:#fff2b3;font-size:1.6rem;color:var(--ink)}
.cost-result{padding:24px 30px;background:#f7fafc;gap:28px}
.cost-result>img{width:145px;height:145px;object-fit:contain;mix-blend-mode:normal}
.cost-result strong{color:var(--zero-color);font-size:2.2rem}
.cost-result strong>span:first-child{font-size:3.5rem;font-weight:750;letter-spacing:-.05em}
.cost-result .result-suffix{font-size:1.35rem}
.benefit-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}
.benefit-card{grid-column:span 2;border:1px solid #e0e7ec;border-radius:18px;box-shadow:none}
.benefit-card:nth-child(4){grid-column:2/span 2}
.benefit-label{background:#fff;color:var(--ink);border-bottom:1px solid #edf0f2;padding:22px 18px;min-height:88px;justify-content:center}
.benefit-label h3{font-size:1.14rem;line-height:1.5;letter-spacing:-.025em}
.benefit-image{height:175px;padding:18px 28px}
.benefit-card>p{font-size:.92rem;line-height:1.9;padding:0 24px 26px}
.benefit-line .line-button{font-size:.95rem;padding:12px 18px;box-shadow:none}
.campaign-contact{margin-top:0;padding:clamp(48px,6vw,90px) 0;background:#f1f8fb;border:0}
.campaign-contact h2,.campaign-search h2{font-size:clamp(1.8rem,2.8vw,2.7rem);letter-spacing:-.04em}
.section-en{font-size:.72rem;letter-spacing:.16em;font-weight:750;color:#4c7185}
.contact-lead{font-size:1.05rem;font-weight:500;line-height:1.85}
.contact-panel{padding:clamp(24px,3vw,48px);gap:40px;border:1px solid #e0e8ec;border-radius:20px;box-shadow:0 12px 40px #193d5306}
.contact-company{gap:24px}
.contact-company>img{width:110px}
.contact-company h3{font-size:1.38rem;letter-spacing:-.04em}
.contact-company p{font-size:.92rem;line-height:1.9}
.contact-company small{font-size:.8rem}
.contact-methods{padding-left:40px;border-color:#e5eaee}
.big-phone>strong{font-size:2.35rem;letter-spacing:-.035em}
.line-button{border-radius:12px;box-shadow:none;min-height:56px;font-weight:750}
.contact-hours{background:#f7fafb;border:0;border-radius:12px;padding:16px 20px;font-size:.9rem}
.reservation-link{background:#ffdc4a;border:0;box-shadow:none;border-radius:12px;font-size:1.2rem}
.campaign-search{padding:clamp(50px,6vw,90px) 0}
.search-entry-grid{gap:20px;margin-top:34px}
.search-entry-grid>a{border:1px solid #dce6ec;border-radius:16px;box-shadow:none;background:#fff;padding:28px 20px}
.search-entry-grid .ui-icon{color:#248caf;width:36px;height:36px}
.search-entry-grid strong{font-size:1.15rem}
.search-entry-grid>a>span{font-size:.85rem}
.keyword-search input{border:1px solid #cbd8e0;border-radius:12px 0 0 12px;height:56px;padding:12px 18px}
.keyword-search button{border-radius:0 12px 12px 0;min-height:56px}
.campaign-filter{border:1px solid #e1e8ed;background:#f7fafc;border-radius:18px;padding:28px}
input[type=search],input[type=text],input[type=number],select{border-radius:10px;border-color:#cbd7df;font-size:.95rem;min-height:48px}
.preference-title{border-left:4px solid #ffdc4a;font-weight:750;font-size:1.25rem}
.preference-links>a{border:1px solid #dce6eb;background:#fff;border-radius:10px;padding:16px;font-size:.88rem}
.campaign-listings{background:#f7f9fb;padding:60px 0}
.campaign-listings h2,.campaign-blog h2{font-size:1.7rem;font-weight:800}
.property-card,.building-card{border:1px solid #dfe7ec;border-radius:18px;box-shadow:0 5px 24px #192d3e05;overflow:hidden}
.building-card{border-top:3px solid #ffdc4a}
.property-price strong,.building-rent{color:#192d3e}
.property-body{padding:24px}
.property-body h3{font-weight:750;font-size:1.08rem}
.tags>span{border-radius:5px;background:#edf7fb;color:#37677e;font-size:.75rem}
.page-heading{padding-top:40px;padding-bottom:30px}
.page-heading h1{font-size:clamp(2rem,3vw,3rem);font-weight:800;letter-spacing:-.045em}
.page-heading>p:last-child{line-height:1.9;color:#607280}
.area-heading{background:#f7fafc;border:1px solid #e2e9ee;border-top:4px solid #ffdc4a;box-shadow:none;border-radius:20px}
.area-links a{border-radius:12px;border-color:#dfe7ec;font-size:.96rem;background:#fff}
.area-story{background:#f8fafb;border-color:#e1e8ed;border-radius:18px}
.blog-card{border:1px solid #e0e7ec;border-radius:18px;overflow:hidden;background:#fff}
.blog-card>a{padding:18px;gap:24px}
.blog-card h3{font-size:1.15rem;line-height:1.65;font-weight:750}
.blog-cover{border-radius:12px;overflow:hidden}
.article-body{font-size:1.05rem;line-height:2.1}
.article-body h2{letter-spacing:-.035em;font-weight:800}
.detail-title h1{font-size:clamp(1.7rem,2.3vw,2.5rem);font-weight:800}
.detail-contact,.reservation-card{border:1px solid #dfe7ec;border-radius:18px;box-shadow:0 10px 36px #192d3e07}
.reservation-intro h1{font-size:clamp(2rem,3.5vw,3.3rem);letter-spacing:-.045em}
.reservation-guide{background:#fff9df;border-color:#ffdc4a;border-radius:0 12px 12px 0}
.booking-field input,.booking-field select,.booking-field textarea{background:#fff;border-color:#cad7df;border-radius:10px}
.data-table>div{padding:20px 0;border-color:#e5ebef}
.site-footer{background:#192d3e;padding:54px var(--page-gutter);margin-top:70px;align-items:flex-start;gap:40px}
.site-footer .footer-brand{font-size:1.55rem;letter-spacing:-.035em}
.site-footer a:hover{color:#ffdc4a}
.contact-dock{gap:10px}
.contact-dock>a{border:1px solid #e6c342;border-radius:12px;box-shadow:0 4px 16px #192d3e0a}
.contact-dock>.dock-line{border-color:#079e48}
@media(max-width:1100px){
  .campaign-header{gap:18px;flex-wrap:wrap}.campaign-header .brand{flex:1}.campaign-header nav{justify-content:center}
  .campaign-inner{min-height:560px;gap:24px;padding-top:50px;padding-bottom:50px}
  .campaign-actions{flex-wrap:wrap}.campaign-mascot{max-width:300px;padding:14px}.campaign-mascot img{width:80px}
  .contact-panel{gap:28px}.contact-methods{padding-left:28px}.big-phone>strong{font-size:2rem}
}
@media(max-width:800px){
  .campaign-header{padding:12px var(--page-gutter);gap:12px}.campaign-header nav{width:100%;justify-content:space-between;font-size:.76rem;gap:8px}.campaign-header nav a{gap:5px}
  .campaign-header .brand img{width:54px;height:44px}.campaign-header .brand>span{font-size:1.35rem}
  .campaign-inner{grid-template-columns:1fr;min-height:0;padding:36px var(--page-gutter) 28px;gap:24px}
  .campaign-photo{width:100%;height:100%;opacity:.15}.campaign-hero:before{background:linear-gradient(90deg,#f8fafbe6,#f8fafb9e)}
  .campaign-brand{font-size:2.3rem;max-width:none}.campaign-brand>span{font-size:.45em}
  .campaign-hero h1>.price-zero-amount{font-size:7.5rem}.campaign-hero h1>span{font-size:1.6rem}
  .campaign-mascot{justify-self:start;max-width:none;width:auto;background:#ffffffbd;box-shadow:none;padding:10px 18px;gap:18px}
  .campaign-mascot img{width:66px;max-height:58px}.campaign-mascot>p{display:block;font-size:.78rem}.campaign-mascot strong{font-size:.95rem}
  .campaign-note{font-size:.75rem}.campaign-message{margin:8px 0 22px;font-size:1.05rem}
  .benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.benefit-card,.benefit-card:nth-child(4){grid-column:auto}.benefit-card:last-child{grid-column:1/-1;width:calc(50% - 9px);justify-self:center}
  .benefit-label{min-height:80px;padding:18px 12px}.benefit-label h3{font-size:1.05rem}.benefit-card>p{padding:0 18px 24px}
  .contact-panel{grid-template-columns:1fr;gap:28px}.contact-company>img{display:none}.contact-methods{padding:0;border:0}.contact-company{display:block}
  .search-entry-grid{gap:12px}.search-entry-grid>a{padding:22px 14px}.search-entry-grid strong{font-size:1rem}
  .site-footer{flex-direction:column;gap:28px;padding-bottom:120px}
}
@media(max-width:580px){
  .campaign-header nav a{flex-direction:column;gap:3px;min-height:48px;font-size:.72rem;line-height:1.4}.campaign-header nav .ui-icon{width:18px;height:18px}
  .campaign-header .brand small{font-size:.67rem;margin-top:5px}.campaign-location{font-size:.78rem;margin-bottom:20px}
  .campaign-brand{font-size:2.15rem;margin-bottom:20px}.campaign-hero h1{gap:14px;margin-bottom:12px}.campaign-hero h1>span{font-size:1.4rem}
  .campaign-hero h1>.price-zero-amount{font-size:6.8rem}.campaign-message{font-size:1rem}
  .campaign-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}.campaign-actions .button{width:100%;font-size:.95rem;min-height:54px}
  .campaign-bottom{justify-content:space-between;padding:10px 18px;gap:12px;font-size:.65rem}.campaign-bottom p{max-width:none;text-align:right}.campaign-bottom small{display:none}
  .campaign-story{padding-top:44px}.campaign-heading h2{font-size:1.5rem;line-height:1.75}.campaign-heading h2>span{font-size:1.06em;white-space:normal}
  #zero-fee .fee-intro{font-size:.98rem;line-height:2;margin-bottom:28px}
  #zero-fee .fee-diagram{padding:0 20px 20px;border-radius:16px}#zero-fee .fee-card-heading{margin:0 -20px;min-height:98px;padding:18px 12px}
  #zero-fee .fee-card-heading h3{font-size:1.15rem}#zero-fee .fee-card-heading p{font-size:.76rem}
  #zero-fee .fee-amount{font-size:3.3rem;height:4.8rem;line-height:4.8rem}#zero-fee .fee-amount.zero-fee{font-size:4.8rem}
  #zero-fee .diagram-person img{width:112px;height:112px}#zero-fee .diagram-person figcaption{font-size:.88rem}
  #zero-fee .fee-payment-flow{gap:12px;padding-top:18px}#zero-fee .fee-payment-label{font-size:.8rem}#zero-fee .fee-payment-none .price-zero{font-size:2.35rem}
  #zero-fee .comparison-disclaimer{font-size:.75rem}
  .cost-section,.benefits-section{padding-top:58px}.cost-caption{padding:18px 12px}.cost-caption>strong{font-size:.86rem;line-height:1.6}
  .cost-table-wrap{padding:8px 8px 0}.cost-table{font-size:.8rem}.cost-table th,.cost-table td{padding:13px 5px}.cost-table thead th{font-size:.73rem}.cost-table thead th:last-child{font-size:.87rem}
  .cost-table .fee-row .price-zero{font-size:1.55rem}.cost-table tfoot td:last-child{font-size:1.08rem}
  .cost-result{padding:20px 14px;gap:12px}.cost-result>img{width:88px;height:110px}.cost-result strong{font-size:1.2rem}.cost-result strong>span:first-child{font-size:2.25rem}.cost-result .result-suffix{font-size:.95rem}
  .benefit-grid{display:grid;grid-template-columns:1fr;gap:16px}.benefit-card,.benefit-card:last-child{display:grid;grid-template-columns:110px minmax(0,1fr);width:100%;grid-column:auto;margin:0}
  .benefit-label{grid-column:1/-1;min-height:66px;justify-content:flex-start;padding:18px}.benefit-label h3{font-size:1.08rem}
  .benefit-image{height:130px;padding:14px 10px}.benefit-card>p{padding:16px 18px 20px 6px;font-size:.87rem}.benefit-line .line-button{font-size:.82rem;padding:10px;gap:4px}
  .contact-panel{display:flex;flex-direction:column-reverse;padding:24px 20px;gap:26px}.contact-methods{width:100%;padding-bottom:26px;border-bottom:1px solid #e0e7ec}.contact-company{width:100%}.contact-company h3{font-size:1.25rem}
  .big-phone>strong{font-size:2.25rem}.contact-company p{font-size:.86rem}.contact-hours{padding:14px;font-size:.86rem}
  .campaign-contact h2,.campaign-search h2{font-size:1.85rem}.contact-lead{font-size:1rem}
  .search-entry-grid{display:grid;grid-template-columns:1fr}.search-entry-grid>a{display:grid;grid-template-columns:38px 1fr;padding:18px 20px}.search-entry-grid .ui-icon{width:30px;height:30px}.search-entry-grid strong{font-size:1.05rem}
  .campaign-filter{padding:20px 16px}.preference-links{gap:10px}.preference-links>a{padding:14px 10px;font-size:.82rem}
  .property-body{padding:20px}.campaign-listings{padding:44px 0}.campaign-listings h2,.campaign-blog h2{font-size:1.35rem}
  .page-heading h1{font-size:1.95rem}.blog-card>a{padding:14px;gap:14px}.blog-card h3{font-size:1rem}.article-body{font-size:1rem}
  .reservation-card{padding:24px 18px}.reservation-intro h1{font-size:2.1rem}
  .contact-dock{padding:8px 9px calc(8px + env(safe-area-inset-bottom));gap:7px;background:#ffffffed;backdrop-filter:blur(14px);border-color:#e2e9ed}
  .contact-dock>a{border-radius:10px;box-shadow:none;min-height:68px;font-size:.78rem}
}
@media(max-width:360px){.campaign-hero h1{gap:10px}.campaign-hero h1>span{font-size:1.18rem}.campaign-hero h1>.price-zero-amount{font-size:5.8rem}.campaign-header .brand>span{font-size:1.25rem}.campaign-header nav{gap:4px}.campaign-header nav a{font-size:.65rem}#zero-fee .diagram-person img{width:96px;height:96px}#zero-fee .fee-payment-label{font-size:.75rem}.big-phone>strong{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}}

/* Bold yellow / bright Tiffany blue direction, approved in the design brief. */
:root{--ink:#142e35;--brand-ink:#142e35;--muted:#52656b;--brand-primary:#ffdc19;--yellow:#ffdc19;--brand-blue:#36e5d5;--cyan:#36e5d5;--cyan-light:#e2fcf7;--brand-pale:#fff8cf;--zero-color:#005e69;--accent-ink:#005e69;--line:#cbdcd9;--radius:12px;--page-gutter:clamp(20px,4.5vw,96px)}
body{letter-spacing:.01em}
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;white-space:nowrap}
.campaign-header{padding:10px var(--page-gutter);min-height:98px;border-bottom:1px solid var(--ink);gap:24px}
.campaign-header .brand{gap:12px}
.campaign-header .brand img{width:90px;height:74px}
.campaign-header .brand>span{font-size:1.4rem;font-weight:900}
.campaign-header nav a{color:var(--ink);font-weight:750}
.campaign-header nav a:hover{color:var(--zero-color)}
.campaign-header nav .ui-icon{color:var(--ink)}
.header-phone strong{font-size:1.45rem}
.button,.reservation-link,.line-button{border-radius:7px}
.primary{background:var(--yellow);color:var(--ink);border-color:var(--ink)}
.price-zero,.price-zero-amount,.price-zero-amount>span,#zero-fee .fee-amount.zero-fee{color:var(--zero-color)}
mark{background:linear-gradient(transparent 72%,var(--yellow) 72%);padding:0 .04em}

/* The three hero panels share fixed geometry so automatic rotation cannot move the page. */
.impact-hero{background:var(--yellow);overflow:hidden;isolation:isolate}
.impact-slides{position:relative}
.impact-slide{overflow:hidden;animation:impact-enter .38s ease-out}
.impact-slide-zero{background:var(--yellow)}
.impact-slide-cost{background:var(--cyan)}
.impact-slide-line{background:var(--yellow)}
.impact-slide-inner{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:36px;max-width:1680px;padding:34px var(--page-gutter) 26px;margin:auto;min-height:640px}
.impact-copy{position:relative;z-index:2}
.impact-kicker{font-size:.85rem;letter-spacing:.03em;font-weight:800;margin:0 0 22px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.impact-kicker:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--ink);flex:none}
.impact-kicker b{font-size:1.08em}
.impact-copy h1{line-height:1;margin:0;letter-spacing:-.045em;font-weight:900}
.impact-copy h1>span{display:block;font-size:clamp(2rem,3.9vw,3.9rem);letter-spacing:.045em;line-height:1.15}
.impact-copy h1>.price-zero-amount{display:block;font-family:Arial,sans-serif;font-weight:900;line-height:.93;font-size:clamp(9rem,17vw,15.5rem);letter-spacing:-.07em;margin:0 0 0 -.045em;color:var(--zero-color);white-space:nowrap}
.impact-copy h1>.price-zero-amount>span{font-size:.48em;letter-spacing:-.06em;margin-left:.035em;font-family:Arial,'Yu Gothic',sans-serif}
.impact-tagline{font-size:clamp(1.3rem,2.1vw,2rem);line-height:1.55;letter-spacing:.01em;font-weight:900;margin:12px 0 0}
.impact-note{font-size:.66rem;line-height:1.7;margin:14px 0 0;max-width:38rem;color:#344e51}
.impact-art{height:530px;position:relative;display:flex;align-items:center;justify-content:center;min-width:0}
.impact-orbit{position:absolute;width:105%;aspect-ratio:1;border-radius:50%;background:var(--cyan);transform:rotate(-10deg);max-width:590px}
.impact-orbit:after{content:"";position:absolute;inset:24px;border:1px solid #142e354a;border-radius:50%}
.impact-logo{position:relative;width:100%;max-width:530px;height:auto;object-fit:contain;z-index:1;filter:drop-shadow(0 12px 0 #0077871f)}
.impact-sticker{position:absolute;top:0;right:0;z-index:3;padding:13px 27px;background:#fff;transform:rotate(7deg);font-size:.9rem;line-height:1.55;font-weight:800;border-radius:4px;box-shadow:5px 5px 0 var(--ink);text-align:center}
.impact-sticker strong{font-size:1.3rem}
.impact-art-caption{position:absolute;bottom:2px;left:50%;transform:translateX(-50%) rotate(-4deg);z-index:2;background:var(--ink);color:var(--yellow);padding:9px 22px;white-space:nowrap;font-size:.9rem;font-weight:750;letter-spacing:.025em}
.impact-cost-title,.impact-line-title{font-size:clamp(1.8rem,3.3vw,3.2rem);font-weight:900;line-height:1.35;margin:0;letter-spacing:-.025em}
.impact-cost-title>strong{font-family:Arial,sans-serif;font-size:clamp(3.8rem,7vw,6.6rem);letter-spacing:-.065em;line-height:1.25;white-space:nowrap;color:var(--ink)}
.impact-cost-title>strong>span{font-size:.38em;letter-spacing:0;margin-left:7px}
.impact-heading-tail{background:var(--yellow);padding:0 8px}
.impact-description{font-size:1rem;font-weight:650;line-height:1.85;margin:20px 0}
.impact-text-link{font-weight:800;font-size:.85rem;border-bottom:2px solid var(--ink);padding:0 0 7px;display:inline-flex;align-items:center;gap:35px}
.impact-text-link>span{font-size:1.4em}
.impact-portrait{position:absolute;inset:10px 15px 25px;background:#fff;overflow:hidden;border-radius:48% 48% 10px 10px}
.impact-portrait>img{display:block;width:100%;height:100%;object-fit:contain}
.impact-receipt{position:absolute;left:-16px;bottom:4px;z-index:2;transform:rotate(-5deg);background:var(--yellow);border:1px solid var(--ink);padding:18px 26px;box-shadow:7px 7px 0 var(--ink)}
.impact-receipt>span{font-size:.75rem;font-weight:750}
.impact-receipt p{display:flex;align-items:center;gap:20px;margin:3px 0;font-size:1rem;font-weight:750}
.impact-receipt .price-zero{font-size:3.4rem;line-height:1}
.impact-receipt small{font-size:.6rem}
.impact-mini-logo{position:absolute;width:165px;right:-15px;bottom:0;z-index:3;height:auto}
.impact-line-title{font-size:clamp(2.2rem,4vw,3.9rem);line-height:1.35}
.impact-line-title em{font-style:normal;background:var(--cyan);padding:0 16px;margin-left:-4px;line-height:1.25;display:inline-block;font-size:1.4em;letter-spacing:-.035em}
.impact-hours{display:flex;align-items:center;gap:16px;font-size:.8rem;flex-wrap:wrap;margin-top:20px}
.impact-hours b{background:#fff;padding:7px 12px;border:1px solid var(--ink);border-radius:4px}
.impact-line-art .impact-logo{align-self:flex-end;width:82%;margin-left:auto;max-height:400px}
.impact-chat{position:absolute;top:8px;left:-10px;z-index:3;width:85%}
.impact-chat small{font-size:.62rem;display:block;margin-bottom:8px;font-weight:700}
.impact-chat p{padding:15px 24px;margin:0 0 12px;font-size:1.05rem;font-weight:750;line-height:1.6;width:max-content;max-width:100%;box-shadow:4px 5px 0 #142e351a}
.impact-chat p:nth-child(2){background:#fff;border-radius:18px 18px 18px 0}
.impact-chat p:nth-child(3){background:var(--ink);color:#fff;border-radius:18px 18px 0 18px;margin-left:70px}
.impact-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1680px;margin:auto;padding:0 var(--page-gutter) 28px}
.impact-actions{display:flex;align-items:center;gap:25px}
.impact-line-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--ink);color:#fff;border-radius:6px;padding:17px 24px;min-height:62px;font-size:1rem;font-weight:800;text-decoration:none;transition:transform .2s,background .2s}
.impact-line-button .ui-icon{color:var(--cyan);width:26px;height:26px}
.impact-line-button>b{color:var(--cyan);margin-left:35px}
.impact-line-button:hover{background:#005d61;transform:translateY(-2px)}
.impact-booking{font-size:.9rem;font-weight:800;display:flex;gap:18px;align-items:center;border-bottom:1px solid var(--ink);padding:8px 0}
.impact-controls{display:flex;align-items:center;gap:12px}
.impact-controls button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--ink);background:transparent;border:1px solid var(--ink);border-radius:50%;font-size:1.15rem;font-weight:700;cursor:pointer;padding:0}
.impact-controls button:hover{background:white}
.impact-dots{display:flex;align-items:center;gap:0}
.impact-dots button{border:0;width:30px;height:44px;border-radius:0}
.impact-dots button span{display:block;width:7px;height:7px;background:#142e3544;border-radius:50%;transition:width .2s}
.impact-dots button[aria-pressed=true] span{background:var(--ink);width:22px;border-radius:10px}
.impact-controls [data-hero-pause]{font-size:.85rem;border-color:transparent}
.impact-brand-strip{display:flex;align-items:center;gap:40px;background:var(--ink);color:var(--cyan);height:56px;white-space:nowrap;overflow:hidden;padding:0 36px;font-size:.88rem;font-weight:800;letter-spacing:.07em}
.impact-brand-strip span:nth-of-type(odd){font-size:1.2rem;letter-spacing:-.02em}
.impact-brand-strip i{font-style:normal;font-size:1.65rem;color:var(--yellow)}
@keyframes impact-enter{from{opacity:.6;transform:translateX(18px)}to{opacity:1;transform:none}}

/* Strong section hierarchy; quiet reading surfaces under the vivid campaign. */
.campaign-story{background:#fffdf3;padding:70px 0 65px}
.campaign-heading{text-align:left;margin:0 0 18px;border-top:2px solid var(--ink);padding-top:26px}
.campaign-heading h2{font-size:clamp(1.8rem,3.1vw,3rem);line-height:1.5;letter-spacing:-.035em}
.campaign-heading h2>span{color:var(--ink);font-size:1.08em}
.section-intro{text-align:left;margin-left:0;max-width:1000px;font-size:1rem;color:#3b5558;line-height:1.9}
#zero-fee .fee-intro{margin-bottom:28px}
#zero-fee .campaign-heading{justify-content:center;text-align:center}
#zero-fee .fee-intro{text-align:center;margin-left:auto;margin-right:auto}
#zero-fee .campaign-heading mark{background:none;padding:0}
#zero-fee .campaign-heading .price-zero,#zero-fee .fee-intro .price-zero,#zero-fee .fee-amount.zero-fee,#zero-fee .fee-payment-none .price-zero{border:0;padding:0 .08em .025em;background:linear-gradient(transparent 57%,var(--yellow) 57%,var(--yellow) 94%,transparent 94%)}
#zero-fee .fee-diagrams{max-width:none;gap:26px}
#zero-fee .fee-diagram{border:1px solid #b6c8c6;box-shadow:none;border-radius:10px;background:#fff;padding-bottom:24px}
#zero-fee .fee-diagram-free{border:2px solid var(--ink)}
#zero-fee .fee-card-heading{background:#e7eeeb;border-bottom:1px solid #c7d6d2;min-height:98px}
#zero-fee .fee-diagram-free .fee-card-heading{background:var(--cyan);border-color:var(--ink)}
#zero-fee .fee-card-heading h3{font-size:1.3rem}
#zero-fee .fee-card-heading .inline-brand{color:var(--ink);font-size:1.3em}
#zero-fee .fee-card-amount{padding:16px 0;border-bottom:1px solid #dce5e2}
#zero-fee .fee-amount{font-family:Arial,sans-serif;font-size:3.65rem;font-weight:800;color:#4d6568;line-height:4.9rem;height:4.9rem}
#zero-fee .fee-amount.zero-fee{display:inline-block;font-size:5rem;color:var(--zero-color);margin-left:auto;margin-right:auto}
#zero-fee .fee-flow-amount{display:block;font-family:Arial,sans-serif;font-size:2.2rem;line-height:1.35;letter-spacing:-.04em;color:var(--ink);font-weight:800;margin-top:4px;white-space:nowrap}
#zero-fee .fee-flow-amount>small{font-size:.5em;letter-spacing:0;margin-left:2px}
#zero-fee .fee-payment-party:first-child .fee-payment-label{min-height:5.2rem}
#zero-fee .fee-amount-note{font-size:.8rem}
#zero-fee .fee-payment-flow{padding-top:16px}
#zero-fee .diagram-person img{width:140px;height:140px}
#zero-fee .fee-payment-none .price-zero{font-size:2.6rem}
#zero-fee .fee-flow-line{background:var(--zero-color);height:33px}
#zero-fee .diagram-office{background:#f0f5f2;min-height:76px;border-radius:5px}
#zero-fee .fee-diagram-free .diagram-office{background:var(--yellow);padding:12px 20px}
#zero-fee .fee-diagram-free .diagram-office>img{width:clamp(160px,14vw,215px);height:auto;max-height:none}
.cost-section,.benefits-section{padding-top:70px}
.cost-example{border:1px solid var(--ink);border-radius:10px;box-shadow:none}
.cost-caption{background:var(--yellow);border-color:var(--ink)}
.cost-caption>span{background:var(--ink);color:#fff;border-radius:3px}
.cost-table thead th{background:#e7eeeb}
.cost-table thead th:last-child{background:var(--cyan)}
.cost-table .fee-row td:last-child{background:#ddfaf4}
.cost-table tfoot td:last-child{background:var(--yellow);font-size:1.6rem}
.cost-result{background:var(--cyan);justify-content:center;padding:28px}
.cost-result>img{background:#fff;border-radius:50%;width:145px;height:145px}
.cost-result strong,.cost-result strong>span:first-child{color:var(--ink)}
.cost-result strong>span:first-child{font-size:4.1rem}
.benefit-grid{gap:18px}
.benefit-card{border:1px solid #b6ceca;border-radius:10px;background:#fff}
.benefit-label{background:var(--yellow);border-bottom:1px solid #b6ceca;min-height:82px}
.benefit-card:nth-child(even) .benefit-label{background:var(--yellow)}
.benefit-card>p{font-weight:500}
.campaign-contact{background:var(--cyan);padding:65px 0;border-top:1px solid var(--ink)}
.campaign-contact .section-en{color:var(--ink)}
.campaign-contact h2,.campaign-search h2{font-size:clamp(2.1rem,3.6vw,3.4rem);font-weight:900}
.contact-lead{color:var(--ink);font-size:1.12rem;font-weight:700}
.contact-panel{border:1px solid var(--ink);border-radius:12px;box-shadow:8px 8px 0 #0da99f;padding:36px}
.contact-company>img{width:155px}
.contact-company h3{font-size:1.4rem}
.contact-hours{background:#e3fcf6;border-radius:5px}
.line-button{background:#06c755;color:#073c20;border:1px solid #079143;border-radius:6px;font-weight:850}
.line-button:hover{background:#03b84e;color:#073c20}
.reservation-link{background:var(--yellow);border:1px solid var(--ink);border-radius:6px}
.campaign-search{padding-top:65px;padding-bottom:65px}
.search-entry-grid>a{background:var(--yellow);border:1px solid var(--ink);border-radius:8px;padding:25px}
.search-entry-grid>a:nth-child(2){background:var(--yellow)}
.search-entry-grid>a:nth-child(3){background:var(--yellow)}
.search-entry-grid .ui-icon{color:var(--ink)}
.search-entry-grid>a:hover{transform:translateY(-3px);box-shadow:0 5px 0 var(--ink)}
.campaign-filter{background:#e7fbf6;border:1px solid #b6ceca;border-radius:10px}
.preference-links>a{border-radius:6px;border-color:#b6ceca}
.campaign-listings{background:#fff8d1;border-top:1px solid #e9d776}
.property-card,.building-card{border:1px solid #b6ceca;border-radius:10px;box-shadow:none}
.building-card{border-top:4px solid var(--cyan)}
.tags>span{background:#d9faf3;color:#215653}
.page-heading h1,.reservation-intro h1{font-weight:900}
.area-heading{background:var(--yellow);border:1px solid var(--ink);border-radius:12px}
.area-links a{border:1px solid #acd5ca;border-radius:7px;background:#effbf7}
.area-story{border-left:5px solid var(--cyan);background:#effbf7}
.blog-card{border-radius:10px;border-color:#b6ceca}
.blog-card>a{border-radius:10px}
.detail-contact,.reservation-card{border-color:#b6ceca;border-radius:12px;box-shadow:0 5px 0 #d9f9ef}
.reservation-guide{background:#fff5b8;border-color:var(--yellow)}
.site-footer{background:var(--ink);border-top:8px solid var(--cyan)}
.contact-dock{gap:0;bottom:20px;right:22px;border:1px solid var(--ink);border-radius:9px;overflow:hidden;box-shadow:0 6px 22px #142e3520}
.contact-dock>a{border:0;border-radius:0;box-shadow:none;min-height:65px;background:var(--yellow);color:var(--ink)}
.contact-dock>.dock-line{background:#06c755;color:#073c20;border-right:1px solid var(--ink);border-left:1px solid var(--ink)}
.contact-dock>a:hover{background:#fff}
.contact-dock>.dock-line:hover{background:#03b84e}

@media(min-width:1680px){.impact-slide-inner{min-height:690px}.impact-art{height:555px}.impact-copy h1>.price-zero-amount{font-size:16rem}}
@media(max-width:1200px){
 .campaign-header{flex-wrap:wrap;gap:10px 20px}.campaign-header .brand{flex:1}.campaign-header nav{gap:16px}.campaign-header nav a{font-size:.76rem}.header-phone{display:none}
 .impact-slide-inner{min-height:590px;gap:20px;padding-top:28px}.impact-art{height:445px}.impact-sticker{right:0;top:0;padding:10px 16px}.impact-sticker strong{font-size:1.12rem}
 .impact-kicker{font-size:.77rem}.impact-tagline{font-size:1.5rem}.impact-line-title{font-size:2.75rem}.impact-description{font-size:.92rem}.impact-mini-logo{width:140px}.impact-receipt{padding:14px 18px}
 .impact-chat p{font-size:.94rem;padding:13px 18px}.impact-chat p:nth-child(3){margin-left:30px}.impact-line-art .impact-logo{width:88%;max-height:335px}
 .impact-toolbar{gap:16px}.impact-actions{gap:18px}.impact-line-button{font-size:.9rem;padding:14px 18px}.impact-line-button>b{margin-left:16px}.impact-controls{gap:7px}
}
@media(max-width:800px){
 .campaign-header{padding:8px 20px;min-height:0}.campaign-header .brand{justify-content:center;margin:0}.campaign-header .brand img{width:73px;height:60px}.campaign-header .brand>span{font-size:1.35rem}.campaign-header nav{width:100%;padding-top:8px;justify-content:space-between;border-top:1px solid #dce7e2}.campaign-header nav a{font-size:.72rem;flex-direction:row;gap:4px}
 .impact-slide-inner{grid-template-columns:1fr 1fr;min-height:500px;padding:28px 24px;gap:16px}.impact-art{height:360px}.impact-kicker{font-size:.7rem;gap:5px;margin-bottom:15px}.impact-kicker:before{width:7px;height:7px}
 .impact-copy h1>span{font-size:2rem}.impact-copy h1>.price-zero-amount{font-size:9.5rem}.impact-tagline{font-size:1.3rem}.impact-note{font-size:.63rem}
 .impact-sticker{font-size:.7rem;padding:10px 14px}.impact-sticker strong{font-size:.95rem}.impact-art-caption{font-size:.7rem;padding:7px 12px;bottom:10px}.impact-cost-title{font-size:1.8rem}.impact-cost-title>strong{font-size:3.7rem}.impact-description{font-size:.82rem;margin:14px 0}.impact-receipt{padding:10px 14px;left:-10px}.impact-receipt p{font-size:.8rem;gap:10px}.impact-receipt .price-zero{font-size:2.6rem}.impact-mini-logo{width:115px;bottom:85px;right:-5px}
 .impact-line-title{font-size:2.1rem}.impact-line-art .impact-logo{max-height:245px;width:100%}.impact-chat{width:100%;top:-4px;left:0}.impact-chat p{font-size:.8rem;padding:10px 14px}.impact-chat p:nth-child(3){margin-left:15px}.impact-hours{gap:9px;font-size:.72rem}
 .impact-toolbar{padding:0 24px 20px;flex-wrap:wrap}.impact-actions{flex:1}.impact-line-button{font-size:.85rem}.impact-controls{margin-left:auto}.impact-controls button{width:38px;height:38px}.impact-dots button{width:25px}
 .campaign-story{padding-top:45px}.campaign-heading h2{font-size:1.85rem}.contact-panel{padding:28px}.contact-company>img{display:none}.cost-result strong>span:first-child{font-size:3.2rem}
 .contact-dock{bottom:0;left:0;right:0;border-radius:0;border-left:0;border-right:0;box-shadow:0 -3px 15px #142e350c;padding:0 0 env(safe-area-inset-bottom);background:var(--yellow)}
 .contact-dock>a{min-height:66px;font-size:.8rem;border-radius:0}.contact-dock>.dock-line{flex:1.45}
}
@media(max-width:580px){
 :root{--page-gutter:20px}
 .campaign-header{padding:6px 16px 8px}.campaign-header .brand img{width:69px;height:56px}.campaign-header .brand small{font-size:.6rem}.campaign-header .brand>span{font-size:1.28rem}.campaign-header nav{gap:5px}.campaign-header nav a{font-size:.63rem;flex-direction:column;line-height:1.4;min-height:41px}.campaign-header nav .ui-icon{width:17px;height:17px}
 .impact-slide-inner{grid-template-columns:minmax(0,1fr) minmax(0,.84fr);align-content:start;align-items:start;gap:0;min-height:485px;padding:24px 20px 12px;position:relative}
 .impact-copy{display:contents}.impact-kicker{grid-column:1/-1;font-size:.72rem;margin:0 0 20px;min-height:20px;gap:6px;z-index:2}
 .impact-copy h1{grid-column:1;z-index:2}.impact-copy h1>span{font-size:clamp(1.35rem,5.9vw,2rem);white-space:nowrap;letter-spacing:0}.impact-copy h1>.price-zero-amount{font-size:clamp(6.1rem,27vw,9rem);line-height:1.13;margin-top:0;margin-left:-.035em}.impact-copy h1>.price-zero-amount>span{font-size:.42em}
 .impact-tagline{grid-column:1/-1;font-size:1.25rem;line-height:1.6;margin:18px 0 0;z-index:2}.impact-tagline br{display:none}.impact-note{grid-column:1/-1;margin:12px 0 0;font-size:.65rem;z-index:2}
 .impact-art{position:absolute;right:5px;top:100px;width:47%;height:210px}.impact-orbit{width:125%;max-width:none;right:-18%;top:-7px}.impact-orbit:after{inset:12px}.impact-logo{width:116%;max-width:none;flex:none;top:8px;left:4px}
 .impact-sticker{font-size:.62rem;top:-32px;right:3px;padding:7px 10px;line-height:1.4;box-shadow:3px 3px 0 var(--ink)}.impact-sticker strong{font-size:.8rem}.impact-art-caption{font-size:.52rem;bottom:-5px;padding:5px 7px;letter-spacing:0}
 .impact-slide-zero .impact-tagline{margin-top:57px;max-width:320px;font-size:1.45rem}.impact-slide-zero .impact-tagline br{display:block}
 .impact-slide-cost .impact-slide-inner{display:flex;flex-direction:column;padding-top:24px}.impact-slide-cost .impact-copy{display:contents}.impact-cost-title{font-size:1.4rem;z-index:2;line-height:1.6;margin-top:0}.impact-cost-title>strong{font-size:clamp(2.8rem,12vw,3.8rem);line-height:1.3}.impact-cost-title>strong>span{font-size:.4em;margin-left:2px}.impact-heading-tail{font-size:1.27rem;padding:2px 5px}.impact-slide-cost .impact-description{font-size:.78rem;margin-top:32px;z-index:2}.impact-text-link{font-size:.76rem;padding-bottom:3px}.impact-slide-cost .impact-note{margin-top:10px;font-size:.59rem}
 .impact-cost-art{top:98px;right:10px;width:42%;height:228px}.impact-portrait{inset:0 0 30px;border-radius:44% 44% 4px 4px}.impact-receipt{left:-6px;bottom:0;padding:8px;box-shadow:3px 3px 0 var(--ink);width:150px}.impact-receipt>span{font-size:.58rem}.impact-receipt p{font-size:.61rem;gap:7px}.impact-receipt .price-zero{font-size:1.95rem}.impact-receipt small{font-size:.43rem}.impact-mini-logo{width:75px;bottom:-39px;right:0}
 .impact-line-title{grid-column:1;z-index:2;font-size:clamp(1.42rem,6vw,2rem);line-height:1.55;white-space:nowrap}.impact-line-title em{padding:0 8px;margin-left:0;line-height:1.3}.impact-slide-line .impact-kicker{font-size:.65rem}.impact-slide-line .impact-description{grid-column:1/-1;margin-top:46px;font-size:.86rem;z-index:2}.impact-hours{grid-column:1/-1;margin-top:0;font-size:.72rem;z-index:2}.impact-hours b{padding:5px 8px}
 .impact-line-art{top:140px;height:190px;width:47%;right:10px}.impact-line-art .impact-logo{width:100%;max-height:180px;margin:0;top:20px;left:10px}.impact-chat{top:-63px;left:6px;width:100%}.impact-chat small{font-size:.48rem;margin-bottom:3px}.impact-chat p{font-size:.58rem;padding:7px 10px;margin-bottom:6px;line-height:1.45}.impact-chat p:nth-child(3){margin-left:9px}.impact-line-art .impact-orbit{top:-10px}
 .impact-toolbar{padding:0 20px 16px;display:flex;flex-direction:column;gap:13px;align-items:stretch}.impact-actions{gap:14px;display:grid;grid-template-columns:minmax(0,1fr) auto}.impact-line-button{padding:13px 12px;gap:8px;font-size:.82rem;min-height:55px;border-radius:5px}.impact-line-button .ui-icon{width:21px;height:21px}.impact-line-button>b{margin-left:auto}.impact-booking{font-size:.75rem;gap:7px;white-space:nowrap}.impact-controls{margin:auto;gap:12px}.impact-controls button{width:40px;height:40px}.impact-dots button{width:28px}.impact-brand-strip{height:42px;gap:22px;font-size:.68rem;padding:0 20px}.impact-brand-strip span:nth-of-type(odd){font-size:1rem}.impact-brand-strip i{font-size:1.3rem}
 .campaign-heading{padding-top:20px}.campaign-heading h2{font-size:1.55rem;line-height:1.65}.campaign-heading h2>span{font-size:1.05em}.section-intro,#zero-fee .fee-intro{font-size:.9rem;line-height:1.9}.campaign-story{padding-bottom:44px}.cost-section,.benefits-section{padding-top:45px}
 #zero-fee .fee-diagrams{gap:20px}#zero-fee .fee-card-heading{min-height:90px}#zero-fee .fee-card-heading h3{font-size:1.07rem}#zero-fee .fee-card-heading .inline-brand{font-size:1.24em}#zero-fee .fee-amount{font-size:3.2rem;line-height:4.3rem;height:4.3rem}#zero-fee .fee-amount.zero-fee{font-size:4.4rem}#zero-fee .diagram-person img{width:113px;height:113px}#zero-fee .fee-payment-label{font-size:.8rem}#zero-fee .fee-payment-none .price-zero{font-size:2.3rem}
 .cost-caption{padding:14px 12px}.cost-caption>span{font-size:.68rem}.cost-table tfoot td:last-child{font-size:1.05rem}.cost-result{padding:18px 12px;gap:14px}.cost-result>img{width:83px;height:83px}.cost-result strong>span:first-child{font-size:2.55rem}.cost-result .result-suffix{font-size:.9rem}.cost-result strong{font-size:1rem}
 .benefit-label{min-height:65px}.benefit-card{border-radius:8px}.benefit-card>p{font-size:.86rem}.campaign-contact{padding:44px 0}.campaign-contact h2,.campaign-search h2{font-size:2rem}.contact-lead{font-size:1rem}.contact-panel{padding:24px 20px;box-shadow:5px 5px 0 #0da99f}.contact-company h3{font-size:1.25rem}.campaign-search{padding:44px 0}.search-entry-grid>a{padding:20px}.campaign-listings{padding:38px 0}
}
@media(max-width:360px){
 .impact-slide-inner{padding-left:16px;padding-right:16px;min-height:476px}.impact-kicker{font-size:.64rem;gap:4px}.impact-kicker b{font-size:1em}.impact-slide-zero .impact-tagline{font-size:1.25rem;margin-top:55px}.impact-art{top:100px;height:180px}.impact-art-caption{font-size:.44rem;bottom:-5px}.impact-sticker{right:1px;font-size:.55rem}.impact-sticker strong{font-size:.7rem}.impact-note{font-size:.6rem}
 .impact-cost-art{top:112px;right:4px;height:195px;width:40%}.impact-receipt{width:135px;left:-6px}.impact-receipt p{font-size:.53rem}.impact-receipt .price-zero{font-size:1.8rem}.impact-mini-logo{width:65px;bottom:-34px}.impact-slide-cost .impact-description{font-size:.74rem;margin-top:40px}.impact-slide-cost .impact-note{font-size:.56rem}.impact-line-art{top:150px;right:5px}.impact-slide-line .impact-description{margin-top:58px;font-size:.78rem}.impact-slide-line .impact-kicker{font-size:.59rem}.impact-hours{font-size:.65rem;gap:8px}.impact-toolbar{padding-left:16px;padding-right:16px}.impact-actions{gap:11px}.impact-line-button{font-size:.72rem;padding:12px 9px;gap:6px}.impact-booking{font-size:.69rem}.impact-line-button .ui-icon{width:18px;height:18px}
 #zero-fee .diagram-person img{width:96px;height:96px}.cost-result strong>span:first-child{font-size:2.12rem}
}
.impact-dots button:hover{background:transparent}
@media(max-width:580px){
 .impact-slide-inner,.impact-slide-cost .impact-slide-inner{display:flex;flex-direction:column;min-height:490px;align-items:stretch;padding-top:24px}
 .impact-kicker{flex:none;margin-bottom:18px;min-height:24px}.impact-copy h1,.impact-cost-title,.impact-line-title{height:240px;min-height:240px;width:56%;margin:0;flex:none}
 .impact-slide-zero .impact-tagline{margin:12px 0 0;font-size:1.4rem;max-width:none}.impact-note{margin-top:12px}
 .impact-brand-art .impact-logo{width:100%;left:0}.impact-brand-art{right:12px;width:44%;top:102px}.impact-art-caption{white-space:normal;text-align:center;width:100%;line-height:1.4}
 .impact-slide-cost .impact-description,.impact-slide-line .impact-description{margin:12px 0;font-size:.81rem}.impact-cost-title{font-size:1.25rem;line-height:1.7}.impact-cost-title>strong{font-size:2.5rem}.impact-heading-tail{font-size:1.1rem}.impact-cost-art{top:92px;height:190px}.impact-mini-logo{top:-26px;bottom:auto;width:68px}.impact-text-link{align-self:flex-start}.impact-slide-cost .impact-note{font-size:.59rem}
 .impact-line-art{top:110px;height:195px}.impact-line-art .impact-logo{left:0;top:0;max-height:170px}.impact-chat{top:-33px}.impact-hours{margin:0;font-size:.7rem}.impact-line-title{font-size:1.5rem}
}
@media(max-width:360px){.impact-cost-art{top:99px;height:180px}.impact-cost-title>strong{font-size:2.15rem}.impact-heading-tail{font-size:1rem}.impact-mini-logo{top:-22px;bottom:auto;width:60px}.impact-slide-zero .impact-tagline{font-size:1.25rem}.impact-slide-cost .impact-description,.impact-slide-line .impact-description{font-size:.72rem}.impact-slide-cost .impact-note{font-size:.54rem}.impact-hours{font-size:.63rem}}
@media(prefers-reduced-motion:reduce){.impact-slide{animation:none}.impact-line-button,.impact-dots button span{transition:none}.impact-line-button:hover{transform:none}}

/* Original photo-panel composition: curved frames, offset previews and a floating action rail. */
.depth-hero{background:linear-gradient(118deg,#dffaf2 0%,#f7fcf7 52%,#fff4bb 100%);padding-top:0}
.depth-stage{position:relative;padding:34px 0 36px;isolation:isolate}
.depth-hero .impact-slides{position:relative;width:calc(100% - 180px);max-width:1300px;margin:auto;border:7px solid #fff;border-radius:28px;overflow:hidden;box-shadow:0 22px 50px #133b3528;z-index:2;background:var(--yellow)}
.depth-hero .impact-slide-inner{min-height:580px;max-width:none;padding:38px 48px 32px;gap:28px;grid-template-columns:1.06fr 1fr}
.depth-hero .impact-slide-zero{color:#fff;background-image:linear-gradient(90deg,#09262cef 0%,#09262cd4 46%,#09262c40 100%),url('/assets/interior.jpg');background-size:cover;background-position:center}
.depth-hero .impact-slide-zero .impact-kicker{color:#e3fff8}
.depth-hero .impact-slide-zero .impact-kicker:before{background:var(--cyan)}
.depth-hero .impact-kicker{font-size:.76rem;letter-spacing:.055em;margin-bottom:20px}
.depth-hero .impact-copy h1>span{font-size:clamp(2rem,3vw,3rem);letter-spacing:.04em;margin-bottom:13px}
.depth-hero .impact-copy h1>.price-zero-amount{display:inline-block;font-size:clamp(8rem,12vw,11rem);line-height:.96;background:var(--yellow);border-radius:8px 34px 8px 8px;padding:4px 27px 11px 16px;margin:0 0 3px;letter-spacing:-.06em;color:var(--zero-color);box-shadow:8px 8px 0 #ffffff26}
.depth-hero .impact-copy h1>.price-zero-amount>span{font-size:.43em}
.depth-hero .impact-tagline{font-size:clamp(1.25rem,1.8vw,1.65rem);line-height:1.6;letter-spacing:.04em;margin-top:18px}
.depth-hero .impact-slide-zero .impact-note{color:#e3ede9;font-size:.64rem}
.depth-hero .impact-art{height:440px}
.depth-hero .impact-brand-art .impact-orbit{width:86%;height:410px;aspect-ratio:auto;background:linear-gradient(145deg,#36e5d5,#94f6d7);border-radius:48% 48% 16% 16%;transform:rotate(5deg);max-width:420px}
.depth-hero .impact-brand-art .impact-orbit:after{inset:15px;border-color:#ffffff9c;border-radius:inherit}
.depth-hero .impact-logo{max-width:460px;width:106%;filter:drop-shadow(0 12px 8px #06232430)}
.depth-hero .impact-sticker{color:var(--ink);top:-2px;right:0;transform:rotate(-5deg);border-radius:16px 16px 3px 16px;font-size:.78rem;box-shadow:0 5px 18px #09262c20;padding:13px 21px}
.depth-hero .impact-sticker strong{font-size:1.13rem}
.depth-hero .impact-art-caption{background:#fff;color:var(--ink);transform:translateX(-50%) rotate(-3deg);font-size:.73rem;padding:10px 18px;bottom:-7px;border-radius:3px}
.depth-hero .impact-slide-cost{background:linear-gradient(125deg,#36e5d5,#d9fff0)}
.depth-hero .impact-cost-title{font-size:clamp(1.65rem,2.6vw,2.5rem)}
.depth-hero .impact-cost-title>strong{font-size:clamp(3.7rem,6vw,5.6rem)}
.depth-hero .impact-description{font-size:.9rem}
.depth-hero .impact-receipt{border:0;border-radius:8px;box-shadow:5px 7px 0 #142e35;left:-5px;bottom:0;padding:15px 22px}
.depth-hero .impact-portrait{inset:0 10px 18px;border-radius:44% 44% 12px 12px;box-shadow:0 15px 30px #063c3020}
.depth-hero .impact-mini-logo{width:135px;right:-5px;bottom:-10px}
.depth-hero .impact-slide-line{background:linear-gradient(130deg,#fff7cb,var(--yellow))}
.depth-hero .impact-line-title{font-size:clamp(2rem,3.3vw,3.2rem)}
.depth-hero .impact-line-art .impact-orbit{width:98%;max-width:440px;background:var(--cyan);border-radius:24px;transform:rotate(6deg)}
.depth-hero .impact-line-art .impact-orbit:after{border-radius:16px;border-color:#ffffff85;inset:15px}
.depth-hero .impact-line-art .impact-logo{width:85%;max-height:340px}
.depth-hero .impact-chat{top:0;left:-7px}
.depth-hero .impact-chat p{font-size:.94rem}
.depth-peek{position:absolute;top:105px;width:280px;height:390px;padding:0;border:5px solid white;border-radius:20px;overflow:hidden;box-shadow:0 15px 35px #103f3524;background:#fff;cursor:pointer;text-align:left;z-index:1;transition:transform .25s,filter .25s;color:var(--ink)}
.depth-peek-prev{left:max(-75px,calc(50% - 870px));transform:rotate(-7deg)}
.depth-peek-next{right:max(-75px,calc(50% - 870px));transform:rotate(7deg)}
.depth-peek:hover{filter:brightness(1.04);transform:rotate(0) translateY(-6px)}
.depth-peek>img{display:block;width:100%;height:100%;object-fit:contain;padding:16px 12px 84px;background:var(--cyan)}
.depth-peek[data-theme=cost]>img{background:#fff}
.depth-peek[data-theme=line]>img{background:var(--yellow)}
.depth-peek>span{position:absolute;left:0;right:0;bottom:0;padding:18px 18px 20px;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 28px;gap:4px}
.depth-peek small{font-size:.6rem;letter-spacing:.16em;color:var(--cyan);grid-column:1}
.depth-peek b{font-size:.82rem;line-height:1.5;grid-column:1}
.depth-peek i{grid-column:2;grid-row:1/3;font-style:normal;align-self:center;font-size:1.4rem;color:var(--yellow)}
.depth-hero .impact-toolbar{position:relative;z-index:3;width:calc(100% - 260px);max-width:1160px;margin:-14px auto 0;padding:17px 24px;background:#fff;border:1px solid #dcebe4;border-radius:15px;box-shadow:0 10px 30px #1c433512;gap:20px}
.depth-hero .impact-line-button{background:#06c755;color:#073c20;border-radius:8px;padding:14px 22px;min-height:57px;font-size:.9rem}
.depth-hero .impact-line-button .ui-icon,.depth-hero .impact-line-button>b{color:#073c20}
.depth-hero .impact-line-button:hover{background:#03b84e}
.depth-hero .impact-booking{font-size:.85rem}
.depth-hero .impact-controls{gap:8px}
.depth-hero .impact-controls button{width:38px;height:38px;border-color:#b4ccc3}
.depth-hero .impact-dots button{width:25px;border:0}
.depth-hero .impact-controls [data-hero-pause]{border:0}
.depth-hero .impact-brand-strip{margin-top:30px;height:48px}
@media(max-width:1200px){
 .depth-hero .impact-slides{width:calc(100% - 112px);border-width:6px}.depth-stage{padding-top:25px}.depth-hero .impact-slide-inner{padding:30px;gap:20px;min-height:550px}.depth-hero .impact-art{height:390px}.depth-hero .impact-brand-art .impact-orbit{height:365px}.depth-hero .impact-copy h1>.price-zero-amount{font-size:9rem}.depth-hero .impact-cost-title>strong{font-size:4.7rem}.depth-hero .impact-kicker{font-size:.68rem}.depth-hero .impact-tagline{font-size:1.3rem}.depth-hero .impact-description{font-size:.82rem}.depth-hero .impact-sticker{right:-8px;padding:12px 16px;font-size:.7rem}.depth-hero .impact-sticker strong{font-size:1rem}.depth-hero .impact-line-title{font-size:2.55rem}.depth-hero .impact-chat p{font-size:.84rem}.depth-hero .impact-line-art .impact-logo{max-height:300px}
 .depth-hero .impact-toolbar{width:calc(100% - 150px);padding:15px 20px;flex-wrap:wrap}.depth-hero .impact-actions{flex:1;gap:18px}.depth-hero .impact-line-button{font-size:.82rem;padding:13px 16px;gap:10px}.depth-hero .impact-line-button>b{margin-left:12px}.depth-hero .impact-booking{font-size:.78rem}.depth-hero .impact-controls{margin-left:auto}.depth-peek{width:235px;height:350px;top:100px}.depth-peek-prev{left:-115px}.depth-peek-next{right:-115px}
}
@media(max-width:800px){
 .depth-stage{padding:20px 0 24px}.depth-hero .impact-slides{width:calc(100% - 52px);border:5px solid #fff;border-radius:20px}.depth-hero .impact-slide-inner{padding:26px 24px;min-height:505px;gap:16px}.depth-hero .impact-art{height:330px}.depth-hero .impact-brand-art .impact-orbit{height:315px;width:94%}.depth-hero .impact-copy h1>span{font-size:1.85rem}.depth-hero .impact-copy h1>.price-zero-amount{font-size:7.5rem;padding:3px 17px 8px 10px;border-radius:5px 22px 5px 5px}.depth-hero .impact-tagline{font-size:1.15rem}.depth-hero .impact-art-caption{font-size:.6rem;padding:8px 12px}.depth-hero .impact-cost-title{font-size:1.65rem}.depth-hero .impact-cost-title>strong{font-size:3.5rem}.depth-hero .impact-description{font-size:.75rem}.depth-hero .impact-receipt{padding:10px 14px}.depth-hero .impact-mini-logo{width:105px;bottom:85px}.depth-hero .impact-line-title{font-size:2rem}.depth-hero .impact-chat p{font-size:.74rem}.depth-hero .impact-line-art .impact-logo{max-height:235px}
 .depth-peek{width:160px;height:290px;top:100px;pointer-events:none}.depth-peek-prev{left:-100px}.depth-peek-next{right:-100px}.depth-peek>span{display:none}.depth-hero .impact-toolbar{width:calc(100% - 80px);margin:-7px auto 0;padding:16px;gap:12px}.depth-hero .impact-brand-strip{margin-top:24px}
}
@media(max-width:580px){
 .depth-stage{padding:16px 0 20px}.depth-hero .impact-slides{width:calc(100% - 24px);border:4px solid #fff;border-radius:18px}.depth-peek{display:none}
 .depth-hero .impact-slide-inner,.depth-hero .impact-slide-cost .impact-slide-inner{display:flex;min-height:500px;padding:22px 16px 16px;gap:0}
 .depth-hero .impact-kicker{min-height:24px;font-size:.62rem;margin-bottom:18px;letter-spacing:0;gap:4px}.depth-hero .impact-copy h1,.depth-hero .impact-cost-title,.depth-hero .impact-line-title{width:57%;height:240px;min-height:240px}
 .depth-hero .impact-copy h1>span{font-size:1.33rem;margin-bottom:12px;letter-spacing:0}.depth-hero .impact-copy h1>.price-zero-amount{font-size:5.45rem;padding:4px 13px 8px 6px;border-radius:5px 20px 5px 5px;box-shadow:4px 5px 0 #ffffff26;margin:0;line-height:1.03}
 .depth-hero .impact-slide-zero .impact-tagline{font-size:1.2rem;line-height:1.65;letter-spacing:.015em;margin-top:12px}.depth-hero .impact-slide-zero .impact-note{font-size:.57rem;margin-top:12px;max-width:100%}
 .depth-hero .impact-brand-art{top:103px;right:9px;width:44%;height:200px}.depth-hero .impact-brand-art .impact-orbit{height:190px;width:94%;right:0;top:4px;border-radius:48% 48% 15% 15%}.depth-hero .impact-brand-art .impact-orbit:after{inset:8px}.depth-hero .impact-brand-art .impact-logo{width:110%;max-width:none;left:0;top:4px}.depth-hero .impact-sticker{top:-34px;right:2px;padding:8px 10px;font-size:.53rem;border-radius:8px 8px 2px 8px}.depth-hero .impact-sticker strong{font-size:.71rem}.depth-hero .impact-art-caption{font-size:.48rem;padding:5px 7px;bottom:-7px;line-height:1.4;max-width:100%}
 .depth-hero .impact-cost-title{font-size:1.16rem;line-height:1.7}.depth-hero .impact-cost-title>strong{font-size:2.25rem}.depth-hero .impact-heading-tail{font-size:1rem}.depth-hero .impact-description,.depth-hero .impact-slide-cost .impact-description,.depth-hero .impact-slide-line .impact-description{font-size:.75rem;margin:12px 0;line-height:1.85}.depth-hero .impact-cost-art{height:190px;top:96px;right:8px;width:42%}.depth-hero .impact-portrait{inset:0 0 28px}.depth-hero .impact-receipt{width:135px;left:-5px;bottom:0;padding:8px;box-shadow:3px 4px 0 var(--ink);border-radius:5px}.depth-hero .impact-mini-logo{width:60px;top:-24px;bottom:auto;right:0}.depth-hero .impact-slide-cost .impact-note{font-size:.55rem}.depth-hero .impact-text-link{font-size:.72rem}
 .depth-hero .impact-line-title{font-size:1.35rem}.depth-hero .impact-line-art{top:120px;right:8px;width:44%;height:180px}.depth-hero .impact-line-art .impact-orbit{top:5px;right:-9%;width:108%;height:170px;border-radius:17px}.depth-hero .impact-line-art .impact-orbit:after{inset:8px;border-radius:12px}.depth-hero .impact-line-art .impact-logo{width:106%;max-height:155px;left:0;top:0}.depth-hero .impact-chat{top:-40px;left:0;width:100%}.depth-hero .impact-chat p{font-size:.52rem;padding:7px 8px}.depth-hero .impact-chat p:nth-child(3){margin-left:4px}.depth-hero .impact-chat small{font-size:.45rem}.depth-hero .impact-hours{font-size:.63rem;gap:7px}
 .depth-hero .impact-toolbar{width:calc(100% - 42px);padding:13px 12px;margin:-4px auto 0;gap:10px;border-radius:12px}.depth-hero .impact-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;width:100%}.depth-hero .impact-line-button{font-size:.71rem;padding:12px 10px;min-height:52px;gap:7px}.depth-hero .impact-line-button .ui-icon{width:18px;height:18px}.depth-hero .impact-line-button>b{margin-left:0}.depth-hero .impact-booking{font-size:.67rem;gap:5px}.depth-hero .impact-controls{margin:0 auto;gap:12px}.depth-hero .impact-controls button{width:38px;height:38px}.depth-hero .impact-dots button{width:26px}.depth-hero .impact-brand-strip{margin-top:20px;height:42px}
}
@media(max-width:360px){
 .depth-hero .impact-slide-inner,.depth-hero .impact-slide-cost .impact-slide-inner{padding-left:12px;padding-right:12px;min-height:500px}.depth-hero .impact-kicker{font-size:.55rem}.depth-hero .impact-copy h1>span{font-size:1.18rem}.depth-hero .impact-copy h1>.price-zero-amount{font-size:4.65rem;padding-right:10px}.depth-hero .impact-slide-zero .impact-tagline{font-size:1.05rem}.depth-hero .impact-slide-zero .impact-note{font-size:.54rem}.depth-hero .impact-brand-art{top:112px;right:7px;height:185px}.depth-hero .impact-brand-art .impact-orbit{height:175px}.depth-hero .impact-sticker{right:0;font-size:.49rem;padding:7px}.depth-hero .impact-sticker strong{font-size:.63rem}.depth-hero .impact-art-caption{font-size:.42rem}
 .depth-hero .impact-cost-title{font-size:1.05rem}.depth-hero .impact-cost-title>strong{font-size:1.94rem}.depth-hero .impact-heading-tail{font-size:.88rem}.depth-hero .impact-cost-art{height:176px;top:104px;right:4px}.depth-hero .impact-receipt{width:119px;padding:6px;left:-5px}.depth-hero .impact-receipt .price-zero{font-size:1.7rem}.depth-hero .impact-receipt>span{font-size:.5rem}.depth-hero .impact-mini-logo{width:55px}.depth-hero .impact-slide-cost .impact-description,.depth-hero .impact-slide-line .impact-description{font-size:.68rem}.depth-hero .impact-slide-cost .impact-note{font-size:.5rem}.depth-hero .impact-line-title{font-size:1.18rem}.depth-hero .impact-chat p{font-size:.46rem}.depth-hero .impact-hours{font-size:.56rem}
 .depth-hero .impact-toolbar{width:calc(100% - 34px);padding:12px 9px}.depth-hero .impact-actions{gap:8px}.depth-hero .impact-line-button{font-size:.64rem;padding:11px 7px;gap:5px}.depth-hero .impact-booking{font-size:.59rem}.depth-hero .impact-line-button .ui-icon{width:16px;height:16px}
}
@media(prefers-reduced-motion:reduce){.depth-peek{transition:none}.depth-peek:hover{transform:none}}

/* First slide: architectural editorial composition; copy remains editable HTML. */
.depth-hero .editorial-slide{background:#182d32 url('/assets/hero-editorial-daylight.webp') center/cover no-repeat}
.editorial-inner{position:relative;isolation:isolate;min-height:590px;display:grid;place-items:center;padding:38px 23%;text-align:center;color:#fff}
.editorial-inner:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent,rgba(9,24,29,.35) 35%,rgba(9,24,29,.35) 65%,transparent)}
.editorial-copy{width:100%;text-shadow:0 2px 18px #0008}
.editorial-eyebrow{font-size:.65rem;letter-spacing:.28em;color:#bffbf0;margin:0 0 22px;font-weight:700}
.editorial-copy h1{font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;font-size:clamp(2rem,3.1vw,3rem);font-weight:600;line-height:1.65;letter-spacing:.12em;color:#fff;margin:0}
.editorial-subtitle{font-size:.78rem;letter-spacing:.12em;margin:18px 0 23px;color:#fff}
.editorial-fee{display:inline-flex;align-items:center;gap:17px;padding:10px 26px 12px;background:var(--yellow);color:var(--zero-color);border-radius:60px;text-shadow:none;box-shadow:0 8px 24px #0003}
.editorial-fee>span{font-size:.8rem;font-weight:800;writing-mode:vertical-rl;letter-spacing:.08em}
.editorial-fee>.price-zero{font-size:5.1rem;line-height:1;font-weight:900;letter-spacing:-.06em;color:var(--zero-color)}
.editorial-fee>.price-zero>span{font-size:.38em;letter-spacing:0}
.editorial-note{font-size:.52rem;color:#fff;margin:18px -40px 0;line-height:1.7}
.editorial-brand{position:absolute;right:20px;bottom:22px;width:115px;height:auto;filter:drop-shadow(0 2px 6px #fff9)}
.editorial-image-note{position:absolute;left:18px;bottom:14px;font-size:.5rem;color:#fff;text-shadow:0 1px 3px #000}
@media(max-width:1200px){.editorial-inner{min-height:550px;padding:30px 22%}.editorial-copy h1{font-size:2.15rem;letter-spacing:.07em}.editorial-subtitle{font-size:.67rem}.editorial-fee>.price-zero{font-size:4.5rem}}
@media(max-width:800px){.editorial-inner{min-height:505px;padding:30px 16%}.editorial-copy h1{font-size:1.9rem}.editorial-eyebrow{font-size:.53rem}.editorial-brand{width:85px;right:12px;bottom:18px}}
@media(max-width:580px){.depth-hero .editorial-slide{background-position:center}.editorial-inner{min-height:500px;padding:38px 16px 70px}.editorial-inner:before{background:#0b222755}.editorial-eyebrow{font-size:.55rem;letter-spacing:.2em;margin-bottom:22px}.editorial-copy h1{font-size:1.8rem;letter-spacing:.1em;line-height:1.7}.editorial-subtitle{font-size:.61rem;letter-spacing:.03em;margin:16px 0 24px}.editorial-fee{padding:10px 23px;gap:13px}.editorial-fee>.price-zero{font-size:4.5rem}.editorial-fee>span{font-size:.65rem}.editorial-note{font-size:.46rem;margin:18px 0 0}.editorial-brand{width:74px;bottom:12px;right:12px}.editorial-image-note{font-size:.43rem;left:12px}}
@media(max-width:360px){.editorial-copy h1{font-size:1.55rem}.editorial-subtitle{font-size:.54rem}}

/* Daylight version: approachable rental lifestyle. */
.editorial-inner:before{background:linear-gradient(90deg,transparent 15%,#fffaf0bd 38%,#fffaf0bd 62%,transparent 85%)}
.editorial-copy{text-shadow:0 1px 12px #fff9}.editorial-copy h1,.editorial-subtitle,.editorial-note{color:#153a3c}.editorial-eyebrow{color:#005e69}.editorial-fee{box-shadow:0 5px 22px #52694526}
@media(max-width:580px){.editorial-inner:before{background:#fffaf0b8}}

/* Clear savings comparison and readable next-slide invitation. */
.depth-hero .savings-slide{background:#f5fcf9}
.savings-inner{min-height:590px;padding:35px 48px 25px;text-align:center;background:radial-gradient(ellipse at 100% 0,#36e5d536,transparent 55%);color:var(--ink)}
.savings-eyebrow{font-size:.6rem;letter-spacing:.23em;color:#005e69;margin:0 0 12px;font-weight:800}
.savings-inner h2{font-size:clamp(1.65rem,2.5vw,2.5rem);line-height:1.4;letter-spacing:.04em;margin:0}.savings-inner h2 br{display:none}.savings-inner h2 span{background:linear-gradient(transparent 65%,var(--yellow) 65%)}
.savings-context{font-size:.8rem;margin:18px 0;color:#426268}
.savings-comparison{display:grid;grid-template-columns:1fr 46px 1fr;align-items:center;max-width:950px;margin:0 auto}
.savings-before,.savings-after{padding:23px 15px 18px;border-radius:14px;background:#e9eeec}.savings-after{background:#fff;border:2px solid #0d716e;box-shadow:0 7px 0 #36e5d525}
.savings-comparison>div>span{font-size:.85rem;font-weight:800}.savings-comparison strong{display:block;font-size:clamp(2.5rem,4.1vw,4.25rem);letter-spacing:-.045em;line-height:1.3;margin:10px 0;color:#5c6d70}.savings-comparison strong small{font-size:.35em;letter-spacing:0}.savings-after strong{color:#005e69}.savings-comparison p{font-size:.62rem;margin:6px 0 0}.savings-arrow{font-size:1.7rem;color:#007b75}
.savings-result{margin:22px 0 12px;font-size:1rem;font-weight:800}.savings-result>strong{font-size:3.1rem;letter-spacing:-.04em;background:linear-gradient(transparent 58%,var(--yellow) 58%);margin:0 9px;color:#005e69}.savings-result>strong>span{font-size:.42em}
.savings-detail{display:inline-flex;gap:30px;align-items:center;font-size:.78rem;font-weight:800;border-bottom:1px solid;padding:4px 0;color:var(--ink)}.savings-note{font-size:.53rem;line-height:1.7;color:#527074;margin:16px auto 0;max-width:730px}
.depth-peek-next{transform:rotate(4deg);width:240px;right:20px}.depth-peek-next>span{padding:20px 16px;grid-template-columns:1fr 20px}.depth-peek-next b{font-size:1.15rem;line-height:1.8;letter-spacing:.02em}.depth-peek-next small{font-size:.55rem;letter-spacing:.06em}.depth-peek-next[data-theme=cost]>img{object-fit:cover;padding:0;filter:brightness(.8)}.depth-peek-next[data-theme=cost]>span{background:var(--yellow);color:var(--ink)}.depth-peek-next[data-theme=cost] small,.depth-peek-next[data-theme=cost] i{color:#005e69}
@media(max-width:1800px){.depth-peek-next{position:relative;display:block!important;top:auto;right:auto;width:calc(100% - 112px);max-width:1000px;height:auto;transform:none;margin:16px auto 0;border:0;border-radius:10px;pointer-events:auto;box-shadow:none}.depth-peek-next>img{display:none}.depth-peek-next>span{position:static;display:grid;grid-template-columns:auto 1fr 24px;align-items:center;padding:12px 20px;gap:16px}.depth-peek-next small{grid-column:1;grid-row:1;font-size:.55rem}.depth-peek-next b{grid-column:2;grid-row:1;font-size:.85rem}.depth-peek-next i{grid-column:3;grid-row:1}.depth-peek-next:hover{transform:none}.depth-peek-next[hidden]{display:none!important}}
@media(max-width:800px){.savings-inner{min-height:505px;padding:28px 20px}.savings-inner h2{font-size:1.7rem}.savings-inner h2 br{display:block}.savings-comparison{grid-template-columns:1fr 28px 1fr}.savings-comparison strong{font-size:2.6rem}.savings-comparison>div>span{font-size:.66rem}.savings-before,.savings-after{padding:16px 10px}.savings-result>strong{font-size:2.6rem}.depth-peek-next{width:calc(100% - 52px)}}
@media(max-width:580px){.savings-inner{min-height:500px;padding:28px 12px 22px}.savings-inner h2{font-size:1.4rem;line-height:1.6}.savings-eyebrow{font-size:.48rem}.savings-context{font-size:.64rem;margin:18px 0}.savings-comparison{grid-template-columns:1fr 19px 1fr}.savings-comparison strong{font-size:1.8rem}.savings-comparison>div>span{font-size:.54rem}.savings-comparison p{font-size:.47rem;line-height:1.7}.savings-before,.savings-after{padding:18px 5px;border-radius:9px}.savings-arrow{font-size:1rem}.savings-result{font-size:.68rem;margin-top:23px}.savings-result>strong{font-size:2.4rem;margin:0 5px}.savings-detail{font-size:.68rem}.savings-note{font-size:.47rem;margin-top:20px}.depth-peek-next{width:calc(100% - 24px);margin-top:10px}.depth-peek-next>span{padding:10px 12px;grid-template-columns:1fr 20px;gap:2px 10px}.depth-peek-next small{grid-column:1;grid-row:1;font-size:.48rem}.depth-peek-next b{grid-column:1;grid-row:2;font-size:.8rem}.depth-peek-next i{grid-column:2;grid-row:1/3}}
@media(max-width:360px){.savings-inner h2{font-size:1.18rem}.savings-comparison strong{font-size:1.5rem}.savings-result>strong{font-size:2rem}.savings-comparison>div>span{font-size:.46rem}}

@media(max-width:580px){.savings-inner h2 span{display:table;margin:0 auto;white-space:nowrap}.savings-inner h2{font-size:1.2rem}}

/* Bold red brush headline: user review version. */
@font-face{font-family:RentBrush;src:url('/assets/YujiBoku-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.depth-hero .savings-slide{background:#fffbea}
.savings-inner{padding:24px 42px 20px;background:linear-gradient(120deg,#fffdf3 65%,#fff0a2)}
.savings-claim{font-size:clamp(.9rem,1.55vw,1.3rem);font-weight:900;line-height:1.55;letter-spacing:.025em;margin:0 0 7px;color:#9f1c18}.savings-claim br{display:none}
.savings-inner h2.brush-headline{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0 18px;font-family:RentBrush,'Yu Mincho',serif;font-size:clamp(3rem,6vw,6.1rem);font-weight:400;line-height:1.22;letter-spacing:-.065em;color:#c51f20;transform:rotate(-2deg);margin:7px -12px 12px;text-shadow:1px 1px 0 #c51f20}
.savings-inner h2.brush-headline span{display:inline;background:none;white-space:nowrap;margin:0}.savings-inner h2.brush-headline strong{font:inherit;font-size:1.12em;white-space:nowrap;border-bottom:8px solid var(--yellow);line-height:1.06;padding:0 8px 5px}
.savings-context{margin:14px 0 12px}.savings-comparison{max-width:850px}.savings-before,.savings-after{padding:13px 10px}.savings-comparison strong{font-size:clamp(2.2rem,3.5vw,3.4rem);margin:6px 0}.savings-result{margin:13px 0 6px}.savings-result>strong{font-size:2.7rem}.savings-note{margin-top:10px}
@media(max-width:1200px){.savings-inner h2.brush-headline{font-size:4rem}.savings-claim br{display:block}}
@media(max-width:800px){.savings-inner{padding:25px 18px}.savings-inner h2.brush-headline{font-size:3.2rem;gap:0 12px}.savings-claim{font-size:.9rem}.savings-comparison strong{font-size:2.3rem}}
@media(max-width:580px){.savings-inner{padding:22px 12px}.savings-claim{font-size:.77rem;line-height:1.6;margin-bottom:12px}.savings-inner h2.brush-headline{display:block;font-size:2.65rem;letter-spacing:-.085em;line-height:1.25;margin:0 -3px 16px}.savings-inner h2.brush-headline span{display:block}.savings-inner h2.brush-headline strong{display:inline-block;font-size:1.48em;border-bottom-width:7px;padding-bottom:0}.savings-context{font-size:.57rem;margin:12px 0}.savings-comparison strong{font-size:1.75rem}.savings-result>strong{font-size:2.2rem}.savings-note{font-size:.44rem}}
@media(max-width:360px){.savings-claim{font-size:.64rem}.savings-inner h2.brush-headline{font-size:2.2rem}.savings-comparison strong{font-size:1.45rem}.savings-result>strong{font-size:1.9rem}}
/* High-impact room-photo campaign. */
.depth-hero .savings-slide{background:#28e5d1 url('/assets/hero-editorial-daylight.webp') center/cover no-repeat}
.savings-inner{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(112deg,#36e5d5cf 0%,#36e5d56e 40%,#ffdc199e 70%,#ffdc19c9 100%);padding:24px 38px 22px}
.savings-watermark{position:absolute;z-index:-1;right:-5%;top:8%;width:65%;height:84%;object-fit:contain;opacity:.19;pointer-events:none}
.savings-claim{color:#831411;text-shadow:0 1px 0 #fff9;font-weight:900;font-size:1.15rem}
.savings-inner h2.brush-headline{font-size:clamp(4rem,7.2vw,7.1rem);line-height:1.08;letter-spacing:-.08em;gap:0 12px;transform:rotate(-3deg);color:#c4151c;-webkit-text-stroke:1.1px #c4151c;text-shadow:2px 3px 0 #fff9;margin:10px -15px 16px}
.savings-inner h2.brush-headline strong{border-bottom:10px solid #ffe019;font-size:1.12em;line-height:1;padding-bottom:6px}
.savings-context{color:#123d40;font-weight:800;margin-top:12px;text-shadow:0 1px 0 #fff8}
.savings-before{background:#f2f4f1e8}.savings-after{background:#ffffffed;border-color:#005e69}.savings-comparison{max-width:820px}
.savings-result{color:#193b3d;font-size:1.05rem;margin:15px 0 8px}.savings-result>strong{color:#c4151c;font-size:4.2rem;font-weight:950;background:linear-gradient(transparent 60%,#ffe019 60%);text-shadow:1px 2px 0 #fff9;line-height:1.2}.savings-before p{color:#8c1916;font-weight:800}
.savings-note{display:table;margin:10px auto 0;background:#fffdf1db;padding:6px 12px;border-radius:5px;color:#304849}.savings-detail{color:#123537;font-weight:900}
@media(max-width:1200px){.savings-inner h2.brush-headline{font-size:5rem}.savings-claim{font-size:1rem}.savings-result>strong{font-size:3.5rem}}
@media(max-width:800px){.savings-inner{padding:24px 20px}.savings-inner h2.brush-headline{font-size:3.9rem;display:block}.savings-inner h2.brush-headline span{display:block}.savings-inner h2.brush-headline strong{display:inline-block}.savings-watermark{width:90%;right:-15%;top:10%}.savings-result>strong{font-size:3rem}.savings-claim{font-size:.85rem}}
@media(max-width:580px){.savings-inner{padding:23px 12px}.savings-inner h2.brush-headline{font-size:2.9rem;letter-spacing:-.09em;margin:15px -6px 18px;-webkit-text-stroke:.6px #c4151c}.savings-inner h2.brush-headline strong{font-size:1.57em;border-bottom-width:8px}.savings-claim{font-size:.74rem}.savings-result{font-size:.69rem}.savings-result>strong{font-size:2.8rem;margin:0 3px}.savings-watermark{width:115%;height:65%;right:-28%;top:15%;opacity:.2}.savings-note{padding:6px;font-size:.43rem}.savings-comparison strong{font-size:1.7rem}}
@media(max-width:360px){.savings-inner h2.brush-headline{font-size:2.45rem}.savings-claim{font-size:.63rem}.savings-result>strong{font-size:2.2rem}.savings-comparison strong{font-size:1.4rem}}

/* Third slide: portal-property enquiries. */
.depth-hero .portal-slide{background:#fff6bf}
.portal-inner{position:relative;isolation:isolate;overflow:hidden;min-height:590px;padding:30px 38px 46px;text-align:center;color:#183a3d;background:repeating-conic-gradient(from 5deg at 50% 46%,#ffe57099 0deg 12deg,#fff4caa6 12deg 24deg)}
.portal-inner:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at center,#fffef199,transparent 68%)}
.portal-license{font-size:1.02rem;font-weight:900;color:#c51f20;line-height:1.8;margin:0 0 12px}.portal-license strong{background:#c51f20;color:#fff61b;border-radius:7px;padding:5px 13px;white-space:nowrap}
.portal-inner h2{font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.45;margin:0;font-weight:950;letter-spacing:-.03em}.portal-inner h2>span{color:#c51f20;text-decoration:underline;text-decoration-style:wavy;text-underline-offset:8px;text-decoration-thickness:3px}.portal-mobile{display:none}
.portal-center{display:grid;grid-template-columns:1fr 1.1fr 1fr;align-items:center;gap:20px;max-width:1000px;margin:12px auto 10px}
.portal-zero{position:relative;display:grid;justify-items:center;align-content:center;min-height:265px;transform:rotate(-4deg)}
.portal-zero:before{content:"";position:absolute;inset:12px -10px;z-index:-1;background:#fffefa;border:3px solid #ffdc19;border-radius:45% 52% 44% 48%;transform:rotate(9deg);box-shadow:7px 8px 0 #ffdc1955}
.portal-zero-label{font-size:1rem;font-weight:900;letter-spacing:.13em}.portal-zero>.price-zero{font-size:9rem;line-height:1.03;font-weight:950;letter-spacing:-.07em;color:var(--zero-color)}.portal-zero>.price-zero>span{font-size:.34em;letter-spacing:0}.portal-zero-condition{font-size:.64rem;font-weight:800}
.portal-sites{display:flex;flex-direction:column;align-items:center;gap:20px}.portal-sites>span{display:block;padding:10px 18px;min-width:150px;background:#fff;border:1px solid #ecd78d;border-radius:8px;box-shadow:4px 5px 0 #b9a95433;font-size:1.1rem;font-weight:900;letter-spacing:-.035em;color:#17494e;transform:rotate(-5deg)}
.portal-sites>span:nth-child(2){transform:rotate(4deg) translateX(-15px);font-size:.9rem}.portal-sites>span:nth-child(3){transform:rotate(-2deg) translateX(20px)}.portal-sites-right>span{transform:rotate(5deg)}.portal-sites-right>span:nth-child(2){transform:rotate(-4deg) translateX(10px)}.portal-sites-right>span:nth-child(3){transform:rotate(3deg) translateX(-15px);font-size:.82rem}
.portal-invite{font-weight:800;font-size:.84rem;margin:15px 0 12px}.portal-line-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:14px 26px;background:#06c755;color:#06391c;border:2px solid #06391c;border-radius:9px;font-size:.86rem;font-weight:900;box-shadow:0 4px 0 #06391c;text-decoration:none}.portal-line-button .ui-icon{width:24px;height:24px}.portal-line-button:hover{background:#00b94c}
.portal-note{font-size:.5rem;line-height:1.7;margin:13px auto 0;max-width:760px}.portal-brand{position:absolute;right:18px;bottom:24px;width:105px;height:auto}.portal-license-number{position:absolute;bottom:12px;left:20px;font-size:.46rem;color:#3d5a54}
@media(max-width:1200px){.portal-inner{padding:26px 28px 42px}.portal-license{font-size:.85rem}.portal-inner h2{font-size:2rem}.portal-sites>span{font-size:.9rem;min-width:125px}.portal-center{gap:12px}.portal-zero>.price-zero{font-size:7.5rem}}
@media(max-width:800px){.portal-inner{padding:24px 20px 48px}.portal-license{font-size:.74rem}.portal-inner h2{font-size:1.7rem}.portal-mobile{display:block}.portal-center{gap:8px}.portal-sites>span{padding:9px 10px;min-width:95px;font-size:.75rem}.portal-sites>span:nth-child(2){font-size:.65rem;transform:rotate(3deg)}.portal-sites>span:nth-child(3){transform:rotate(-3deg);font-size:.7rem}.portal-zero{min-height:220px}.portal-zero>.price-zero{font-size:6rem}.portal-zero-label{font-size:.72rem}.portal-zero-condition{font-size:.53rem}.portal-brand{width:73px;bottom:22px}.portal-invite{font-size:.7rem}}
@media(max-width:580px){.portal-inner{padding:24px 12px 66px;min-height:500px}.portal-license{font-size:.68rem;line-height:2.25;margin-bottom:8px}.portal-license strong{display:table;margin:auto;padding:1px 10px}.portal-inner h2{font-size:1.3rem;line-height:1.65}.portal-inner h2>span{text-underline-offset:5px;text-decoration-thickness:2px}.portal-center{grid-template-columns:1fr 1.25fr 1fr;gap:4px;margin-top:14px}.portal-zero{min-height:182px}.portal-zero:before{inset:12px -9px}.portal-zero>.price-zero{font-size:5.2rem}.portal-zero-label{font-size:.56rem;letter-spacing:0}.portal-zero-condition{font-size:.39rem}.portal-sites{gap:20px}.portal-sites>span{min-width:0;padding:8px 5px;font-size:.65rem;max-width:100%;border-radius:5px}.portal-sites>span:nth-child(2){font-size:.47rem}.portal-sites>span:nth-child(3){font-size:.57rem}.portal-sites-right>span:nth-child(3){font-size:.5rem;transform:rotate(3deg)}.portal-sites-right>span:nth-child(2){transform:rotate(-3deg)}.portal-invite{font-size:.62rem;line-height:1.8;margin:14px 10px 12px}.portal-line-button{font-size:.63rem;padding:12px 10px;gap:7px;max-width:100%}.portal-line-button .ui-icon{width:20px;height:20px}.portal-note{font-size:.43rem;margin:14px 5px 0}.portal-brand{width:58px;bottom:17px;right:10px}.portal-license-number{font-size:.34rem;left:10px;bottom:12px;max-width:75%;text-align:left}}
@media(max-width:360px){.portal-inner h2{font-size:1.1rem}.portal-license{font-size:.6rem}.portal-zero>.price-zero{font-size:4.4rem}.portal-zero{min-height:164px}.portal-sites>span{font-size:.54rem}.portal-sites>span:nth-child(2){font-size:.4rem}.portal-line-button{font-size:.55rem}.portal-invite{font-size:.55rem}}

/* Official portal artwork; preserve native colour and aspect ratio. */
.portal-sites>.portal-logo-card{width:205px;min-width:0;padding:12px 15px;transform:none!important;display:flex;align-items:center;justify-content:center}
.portal-logo-window{position:relative;display:block;width:100%;height:48px;overflow:hidden}
.portal-logo-window>img{display:block;width:100%;height:100%;object-fit:contain}
.portal-logo-homes .portal-logo-window>img{position:absolute;width:230%;max-width:none;height:auto;left:-65%;bottom:-20%}
.portal-sites-left>.portal-logo-card:nth-child(2){align-self:flex-start}.portal-sites-right>.portal-logo-card:nth-child(2){align-self:flex-end}
.portal-inner h2{font-size:clamp(1.65rem,2.65vw,2.35rem)}
@media(max-width:1200px){.portal-sites>.portal-logo-card{width:166px;padding:10px 12px}.portal-logo-window{height:39px}.portal-inner h2{font-size:1.9rem}}
@media(max-width:800px){.portal-sites>.portal-logo-card{width:130px;padding:9px}.portal-logo-window{height:30px}.portal-inner h2{font-size:1.6rem}}
@media(max-width:580px){.portal-sites>.portal-logo-card{width:100%;padding:8px 5px}.portal-logo-window{height:23px}.portal-inner h2{font-size:1.18rem;line-height:1.75}.portal-inner h2>span{display:inline-block}}
@media(max-width:360px){.portal-logo-window{height:19px}.portal-inner h2{font-size:1.04rem}}

@media(max-width:580px){.portal-inner h2>span{display:block}}

/* Equal logo cards; viewBox excludes source-image outer margins only. */
.portal-sites>.portal-logo-card{width:210px;height:82px;padding:11px 14px;box-sizing:border-box;align-self:center!important}
.portal-logo-window{width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}
.portal-logo-art{display:block;width:100%;height:100%;overflow:hidden}
@media(max-width:1200px){.portal-sites>.portal-logo-card{width:166px;height:68px;padding:10px}}
@media(max-width:800px){.portal-sites>.portal-logo-card{width:130px;height:57px;padding:8px}}
@media(max-width:580px){.portal-sites>.portal-logo-card{width:100%;height:47px;padding:7px 5px}.portal-logo-window{height:100%}}
@media(max-width:360px){.portal-sites>.portal-logo-card{height:41px;padding:6px 4px}}

/* Actual neighbouring slides + invariant frame height. */
.depth-stage{--stage-top:34px;--slide-gap:20px;padding-top:var(--stage-top);overflow:hidden}
.depth-hero .impact-slides{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}
.depth-hero .impact-slides>[data-hero-slide]{display:block!important;grid-area:1/1;min-width:0;align-self:stretch;animation:none}
.depth-hero .impact-slides>[data-hero-slide][hidden]{visibility:hidden;pointer-events:none}
.depth-hero .impact-slides>[data-hero-slide]>div{height:100%;box-sizing:border-box}
.real-peek{position:absolute;top:var(--stage-top);width:var(--slide-width);height:var(--slide-height);padding:0;border:7px solid #fff;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 15px 40px #143c3525;z-index:1;cursor:pointer;opacity:.68;transition:opacity .2s;text-align:initial;color:inherit;font:inherit}
.real-peek:hover,.real-peek:focus-visible{opacity:1}
.real-peek-prev{right:calc(50% + var(--slide-width)/2 + var(--slide-gap));transform:scale(.94);transform-origin:right center}
.real-peek-next{left:calc(50% + var(--slide-width)/2 + var(--slide-gap));transform:scale(.94);transform-origin:left center}
.real-peek-content{display:block;width:100%;height:100%;pointer-events:none;user-select:none}
.real-peek-content>.impact-slide{display:block;height:100%;animation:none;pointer-events:none}
.real-peek-content>.impact-slide>div{height:100%;box-sizing:border-box}
.stage-arrow{position:absolute;z-index:5;top:calc(var(--stage-top) + var(--slide-height)/2);transform:translateY(-50%);display:grid;place-items:center;width:52px;height:80px;padding:0;border:1px solid #ffffff94;border-radius:12px;background:#fff9;color:#21484c9e;font-family:Arial,sans-serif;font-size:3.5rem;line-height:1;cursor:pointer;box-shadow:0 4px 15px #193c3212;transition:background .2s,color .2s}
.stage-arrow:hover,.stage-arrow:focus-visible{background:#fff;color:#005e69;outline:2px solid #005e69;outline-offset:2px}
.stage-arrow-prev{left:calc(50% - var(--slide-width)/2 - 16px)}.stage-arrow-next{right:calc(50% - var(--slide-width)/2 - 16px)}
@media(max-width:1200px){.depth-stage{--stage-top:25px;--slide-gap:14px}.real-peek{border-width:6px}.stage-arrow{width:42px;height:68px;font-size:3rem}.stage-arrow-prev{left:calc(50% - var(--slide-width)/2 - 12px)}.stage-arrow-next{right:calc(50% - var(--slide-width)/2 - 12px)}}
@media(max-width:800px){.depth-stage{--stage-top:20px;--slide-gap:9px}.real-peek{border-width:5px;border-radius:20px}.stage-arrow{width:34px;height:58px;font-size:2.6rem}}
@media(max-width:580px){.depth-stage{--stage-top:16px;--slide-gap:7px}.depth-hero .impact-slides{width:calc(100% - 52px)}.real-peek{border-width:4px;border-radius:18px}.stage-arrow{width:32px;height:52px;font-size:2.4rem}.stage-arrow-prev{left:calc(50% - var(--slide-width)/2 - 19px)}.stage-arrow-next{right:calc(50% - var(--slide-width)/2 - 19px)}}
@media(prefers-reduced-motion:reduce){.real-peek,.stage-arrow{transition:none}}

/* Shared search stays in place while every campaign slides horizontally. */
.depth-hero .hero-search-panel{position:relative;z-index:3;width:calc(100% - 260px);max-width:1160px;box-sizing:border-box;margin:-20px auto 0;padding:26px 30px;background:#153b40;border:1px solid #275057;border-top:5px solid var(--yellow);border-radius:18px;box-shadow:0 16px 35px #12383b25}
.hero-search-entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hero-search-entries a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:18px 22px;background:#fff;border:2px solid var(--yellow);border-radius:9px;color:#153b40;text-decoration:none;box-shadow:0 4px 0 #d8b717;transition:background .18s,transform .18s}
.hero-search-entries a>.ui-icon{grid-column:1/-1;width:30px;height:30px;color:#007c85;margin:0 auto}
.hero-search-entries strong{font-size:clamp(1rem,1.35vw,1.35rem);text-align:center;line-height:1.4}
.hero-search-entries a>span{color:#00818c;font-size:1.3rem}
.hero-search-entries a:hover{background:#fff8c8;transform:translateY(-2px)}
.hero-search-entries a:focus-visible,.hero-keyword-search :focus-visible{outline:3px solid #36e5d5;outline-offset:4px}
.hero-keyword-search{display:flex;gap:14px;margin-top:22px}
.hero-keyword-search input{min-width:0;flex:1;min-height:54px;padding:13px 18px;border:1px solid #d6e1df;border-radius:7px;background:#fff;color:#153b40;font:inherit;font-size:1rem}
.hero-keyword-search button{display:flex;align-items:center;justify-content:center;gap:12px;min-width:150px;border:0;border-radius:7px;background:var(--yellow);color:#153b40;font:inherit;font-size:1.15rem;font-weight:800;cursor:pointer}
.hero-keyword-search button>.ui-icon{width:24px;height:24px}
.depth-hero .hero-search-toolbar{width:calc(100% - 260px);max-width:1160px;margin:0 auto;padding:14px 8px 0;background:transparent;border:0;border-radius:0;box-shadow:none;justify-content:space-between}
.hero-slide-caption{margin:0;color:#355d61;font-size:.9rem;font-weight:700}
@media(max-width:1200px){.depth-hero .hero-search-panel,.depth-hero .hero-search-toolbar{width:calc(100% - 150px)}.hero-search-entries{gap:12px}.hero-search-entries a{padding:16px 12px}}
@media(max-width:800px){.depth-hero .hero-search-panel,.depth-hero .hero-search-toolbar{width:calc(100% - 60px)}.depth-hero .hero-search-panel{padding:20px;margin-top:-25px}.hero-search-entries{gap:10px}.hero-search-entries a{padding:13px 6px;grid-template-columns:1fr}.hero-search-entries a>span{display:none}.hero-search-entries strong{font-size:.85rem}.hero-keyword-search button{min-width:105px}}
@media(max-width:580px){.depth-hero .hero-search-panel,.depth-hero .hero-search-toolbar{width:calc(100% - 26px)}.depth-hero .hero-search-panel{padding:17px 12px;margin-top:-23px;border-radius:12px}.hero-search-entries{gap:7px}.hero-search-entries a{gap:9px;padding:12px 3px;border-width:1px;border-radius:6px}.hero-search-entries a>.ui-icon{width:25px;height:25px}.hero-search-entries strong{font-size:.73rem;white-space:nowrap}.hero-keyword-search{gap:7px;margin-top:17px}.hero-keyword-search input{padding:11px 9px;font-size:16px;min-height:48px;width:0}.hero-keyword-search button{min-width:70px;gap:5px;font-size:.88rem}.hero-keyword-search button>.ui-icon{width:18px;height:18px}.depth-hero .hero-search-toolbar{padding-top:12px;gap:6px}.hero-slide-caption{display:none}}
@media(prefers-reduced-motion:reduce){.hero-search-entries a{transition:none}}

/* Search overlaps the carousel; the fee explanation follows immediately. */
.depth-hero .depth-stage{padding-bottom:0}
.depth-hero .hero-search-panel{margin-top:-32px}
.depth-hero .stage-playback{position:absolute;z-index:5;top:calc(var(--stage-top) + 13px);right:calc(50% - var(--slide-width)/2 + 14px);margin:0}
.depth-hero .stage-playback button{width:32px;height:32px;background:#ffffffbf;color:#153b40;border:1px solid #ffffffa6;border-radius:50%;font-size:.85rem;cursor:pointer}
.depth-hero .stage-playback button:focus-visible{outline:3px solid #007c85;outline-offset:3px}
.depth-hero .editorial-brand,.depth-hero .portal-brand{bottom:44px}
.depth-hero .editorial-image-note,.depth-hero .portal-license-number{bottom:42px}
.depth-hero .savings-inner{padding-bottom:46px}
.depth-hero + .campaign-story{padding-top:30px}
#zero-fee .campaign-heading{border-top:0;padding-top:0}
@media(max-width:580px){.depth-hero .hero-search-panel{margin-top:-18px}.depth-hero .editorial-brand,.depth-hero .portal-brand{bottom:32px}.depth-hero .editorial-image-note,.depth-hero .portal-license-number{bottom:29px}.depth-hero .savings-inner{padding-bottom:36px}.depth-hero .stage-playback{top:calc(var(--stage-top) + 9px);right:calc(50% - var(--slide-width)/2 + 9px)}.depth-hero .stage-playback button{width:29px;height:29px}.depth-hero + .campaign-story{padding-top:25px}}

/* Approved option 1: bold Gothic emphasis for the fee and cost comparison. */
#zero-fee .price-zero,#zero-fee .fee-amount,#zero-fee .fee-flow-amount,
.cost-section .campaign-heading mark,.cost-table .fee-row td,.cost-table .fee-row .price-zero,
.cost-table tfoot th,.cost-table tfoot td,.cost-result strong,.cost-result strong>span:first-child{
 font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;color:#c4151c;font-weight:900;-webkit-text-stroke:.02em currentColor;paint-order:stroke fill;letter-spacing:-.045em
}
#zero-fee .fee-amount.zero-fee{color:#c4151c}
#zero-fee .fee-amount>small,#zero-fee .fee-flow-amount>small{font-family:inherit}
.cost-section .campaign-heading mark{font-size:1.12em;line-height:1.5}
.cost-table tfoot th,.cost-table tfoot td{font-size:clamp(1.3rem,2vw,2rem);line-height:1.5}
.cost-table .fee-row td:first-of-type{font-size:1.65rem}
.cost-result strong{font-size:2.1rem}
.cost-result .result-suffix{font-family:inherit;font-weight:900}
#zero-fee .fee-diagram{display:grid;grid-template-rows:112px 205px 1fr 156px;border-width:1px}
#zero-fee .fee-card-heading{min-height:0;height:112px;box-sizing:border-box;padding:16px}
#zero-fee .fee-card-amount{height:205px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}
#zero-fee .fee-amount{height:100px;line-height:100px;margin:6px 0;font-size:3.85rem}
#zero-fee .fee-amount.zero-fee{font-size:5rem}
#zero-fee .fee-payment-flow{padding-bottom:12px;align-items:stretch}
#zero-fee .diagram-person img{width:158px;height:158px;object-fit:contain;mix-blend-mode:normal}
#zero-fee .fee-payment-party .fee-payment-label{height:110px;min-height:110px;box-sizing:border-box;margin:8px 0}
#zero-fee .fee-flow-line{margin-top:auto}
#zero-fee .diagram-office,#zero-fee .fee-diagram-free .diagram-office{height:156px;min-height:156px;padding:10px 20px;box-sizing:border-box;margin:0}
#zero-fee .fee-diagram-free .diagram-office>img{width:190px;height:136px;object-fit:contain;max-height:136px}
#zero-fee .diagram-office>.ui-icon{width:66px;height:66px}
#zero-fee .diagram-office>strong{font-size:1.35rem}
@media(max-width:580px){
 #zero-fee .fee-diagram{grid-template-rows:104px 180px 1fr 130px}
 #zero-fee .fee-card-heading{height:104px}#zero-fee .fee-card-amount{height:180px}
 #zero-fee .fee-amount{height:88px;line-height:88px;font-size:3.1rem}#zero-fee .fee-amount.zero-fee{font-size:4.6rem}
 #zero-fee .diagram-person img{width:120px;height:120px}
 #zero-fee .fee-payment-party .fee-payment-label{height:96px;min-height:96px}
 #zero-fee .fee-flow-amount{font-size:1.8rem}
 #zero-fee .diagram-office,#zero-fee .fee-diagram-free .diagram-office{height:130px;min-height:130px;padding:8px 12px}
 #zero-fee .fee-diagram-free .diagram-office>img{width:160px;height:114px;max-height:114px}
 .cost-table tfoot th,.cost-table tfoot td{font-size:1.05rem;padding-left:3px;padding-right:3px}
 .cost-table .fee-row td:first-of-type{font-size:1.15rem}
 .cost-result strong{font-size:1.2rem}.cost-result strong>span:first-child{font-size:2.65rem}.cost-result .result-suffix{font-size:.9rem}
}
.cost-table tfoot td:last-child{color:#c4151c;font-size:clamp(1.3rem,2vw,2rem)}
@media(max-width:580px){.cost-table tfoot td:last-child{font-size:1.05rem}}
@media(max-width:580px){
 .cost-table tfoot td,.cost-table tfoot td:last-child,.cost-table .fee-row td:first-of-type{font-size:.95rem;white-space:nowrap;letter-spacing:-.055em;padding-left:2px;padding-right:2px}
 .cost-result{flex-direction:column;gap:10px;padding:22px 12px;text-align:center}
 .cost-result>img{width:90px;height:90px}
 .cost-result>div{width:100%;min-width:0}
 .cost-result strong{display:block;white-space:normal;line-height:1.5;font-size:1.15rem}
 .cost-result strong>span:first-child{font-size:2.65rem}
 .cost-result .result-suffix{display:inline-block;font-size:1rem}
 .cost-result p{font-size:.78rem}
}
.cost-table tfoot th{word-break:keep-all;overflow-wrap:normal}

/* The fee-charging comparison remains in the standard text color. */
#zero-fee .fee-diagram:not(.fee-diagram-free) .fee-amount,
#zero-fee .fee-diagram:not(.fee-diagram-free) .fee-flow-amount,
.cost-table .fee-row td:first-of-type,.cost-table tfoot td:first-of-type{color:var(--ink)}
/* Three services, with LINE and blog links below the cards. */
.service-benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.service-benefit-grid .benefit-card,.service-benefit-grid .benefit-card:last-child{grid-column:auto;display:flex;flex-direction:column;width:100%;min-width:0}
.service-benefit-grid .benefit-label{width:100%;min-height:82px;padding:16px 12px;justify-content:center;text-align:center}
.service-benefit-grid .benefit-label h3{font-size:clamp(1.05rem,1.45vw,1.4rem)}
.service-benefit-grid .benefit-image{height:215px;width:100%;padding:20px 24px 4px;flex-shrink:0}
.service-benefit-grid .benefit-image img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;mix-blend-mode:normal;border-radius:0}
.benefit-copy{padding:16px 24px 26px;flex:1;display:flex;flex-direction:column}
.benefit-copy h4{font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.65;color:#153b40;margin:0 0 14px;font-weight:900}
.benefit-copy>p{font-size:.88rem;line-height:1.95;margin:0 0 18px;color:#29484d}
.benefit-copy ul{list-style:none;padding:14px 0 0;margin:0 0 14px;border-top:1px solid #d7e3de}
.benefit-copy li{position:relative;padding-left:22px;margin:9px 0;font-size:.82rem;line-height:1.75;font-weight:700}
.benefit-copy li:before{content:'✓';position:absolute;left:0;color:#00818b;font-weight:900}
.benefit-copy .benefit-note{margin:auto 0 0;font-size:.65rem;line-height:1.7;color:#607074}
.benefit-links{display:flex;justify-content:center;gap:20px;margin:30px auto 0;max-width:850px}
.benefit-links>a{flex:1;min-height:70px;margin:0}
.benefit-blog-link{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:2px solid #153b40;border-radius:6px;padding:18px 22px;color:#153b40;font-size:.9rem;font-weight:800;text-decoration:none}
.benefit-blog-link span{white-space:nowrap;font-size:.78rem}
.benefit-blog-link:hover{background:#fff6b1}
.benefit-blog-link:focus-visible{outline:3px solid #00818b;outline-offset:4px}
@media(max-width:1000px){.service-benefit-grid{gap:14px}.benefit-copy{padding:15px 17px 22px}.service-benefit-grid .benefit-image{height:175px;padding:14px 14px 0}.benefit-copy>p{font-size:.82rem}.benefit-copy li{font-size:.76rem}}
@media(max-width:800px){.service-benefit-grid{grid-template-columns:1fr}.service-benefit-grid .benefit-image{height:220px;padding:20px 25px 0}.benefit-copy{padding:18px 24px 26px}.benefit-copy h4{font-size:1.15rem}.benefit-copy>p{font-size:.9rem}.benefit-copy li{font-size:.85rem}.benefit-copy .benefit-note{font-size:.7rem}.benefit-links{flex-direction:column;gap:12px}.benefit-links>a{min-height:62px;flex:auto}.benefit-blog-link{font-size:.85rem;padding:16px}}

/* Cost figures use natural bold numerals without artificial outlines. */
.cost-section .cost-table td,.cost-section .cost-table td .price-zero,
.cost-section .cost-result strong,.cost-section .cost-result strong>span:first-child{
 font-family:Arial,'Helvetica Neue','Yu Gothic',sans-serif;font-variant-numeric:lining-nums tabular-nums;
 -webkit-text-stroke:0;paint-order:normal;letter-spacing:0;text-shadow:none
}
.cost-section .cost-table .fee-row td,.cost-section .cost-table .fee-row .price-zero,
.cost-section .cost-table tfoot td,.cost-section .cost-result strong,.cost-section .cost-result strong>span:first-child{font-weight:700}
.cost-section .cost-result .result-suffix{font-family:'Yu Gothic',sans-serif;font-weight:700;-webkit-text-stroke:0}

/* Six preference categories: photo-led entrances to the live search filters. */
.preference-photo-section{margin-top:64px}
.preference-photo-heading{text-align:center;margin-bottom:30px}
.preference-photo-heading>p{font:900 clamp(24px,3.2vw,54px)/1.05 Arial,sans-serif;letter-spacing:.015em;color:#153b40;margin:0 0 14px}
.preference-photo-heading h3{display:inline-block;font-size:clamp(23px,2.2vw,34px);line-height:1.4;margin:0 0 14px;box-shadow:inset 0 -.3em #ffdc19}
.preference-photo-heading>span{display:block;color:#506b70;font-size:17px}
.preference-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.preference-photo-card{position:relative;isolation:isolate;display:grid;place-items:center;aspect-ratio:1.48;overflow:hidden;border-radius:5px;background:#153b40;color:#fff;text-decoration:none}
.preference-photo-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .35s ease}
.preference-photo-card:before{content:"";position:absolute;inset:0;background:#072e3330;z-index:-1}
.preference-photo-content{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;width:90%;height:96%;padding:20px 10px;box-sizing:border-box}
.preference-photo-content:before{content:"";position:absolute;inset:0;border-radius:48% 48% 40% 40%;background:rgba(9,37,42,.76);z-index:-1;transition:background .25s}
.preference-photo-content>strong{font:900 clamp(24px,2.7vw,46px)/1.08 Arial,sans-serif;letter-spacing:-.025em;color:#fff;white-space:nowrap}
.preference-photo-content>b{margin:13px 0 7px;font-size:clamp(16px,1.35vw,23px);line-height:1.5;color:#fff}
.preference-photo-content>small{font-size:clamp(12px,1vw,16px);line-height:1.5;color:#eaf8f8}
.preference-photo-action{margin-top:22px;font-size:15px;font-weight:700;display:flex;align-items:center;gap:20px;border-bottom:1px solid #ffffff8c;padding-bottom:5px;color:#fff}
.preference-photo-action>span{color:#ffdc19;font-size:27px;line-height:1}
.preference-photo-card:hover>img{transform:scale(1.045)}
.preference-photo-card:hover .preference-photo-content:before{background:rgba(9,37,42,.85)}
.preference-photo-card:focus-visible{outline:4px solid #007d83;outline-offset:5px}
.preference-photo-note{text-align:center;color:#52696c;font-size:13px;line-height:1.8;margin:20px 0 0}
@media(max-width:1050px){.preference-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preference-photo-content>strong{font-size:34px}.preference-photo-content>b{font-size:20px}.preference-photo-content>small{font-size:14px}}
@media(max-width:600px){.preference-photo-section{margin-top:42px}.preference-photo-grid{grid-template-columns:1fr;gap:16px}.preference-photo-heading{margin-bottom:24px}.preference-photo-heading>span{font-size:14px}.preference-photo-content>strong{font-size:clamp(26px,8vw,40px)}.preference-photo-content>b{font-size:19px;margin-top:10px}.preference-photo-content>small{font-size:13px}.preference-photo-action{margin-top:17px}.preference-photo-note{text-align:left;font-size:12px}}
@media(prefers-reduced-motion:reduce){.preference-photo-card>img,.preference-photo-content:before{transition:none}}

/* Approved option 3: LINE brand icon and a friendly speech-bubble contact dock. */
.contact-dock.contact-dock-bubble{display:flex;flex-direction:column;position:fixed;top:auto;left:auto;right:22px;bottom:18px;width:430px;max-width:calc(100% - 32px);gap:16px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;backdrop-filter:none;z-index:20}
.contact-dock-bubble>.dock-line{position:relative;isolation:isolate;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:18px;width:100%;min-height:104px;flex:none;padding:20px 22px;border:1px solid #b4e6c6;border-radius:22px 22px 22px 4px;background:#e1f8e9;color:#006c36;box-shadow:0 5px 18px #173c401c;line-height:1.4;text-decoration:none}
.contact-dock-bubble>.dock-line:after{content:"";position:absolute;bottom:-13px;left:36px;width:22px;height:14px;background:#e1f8e9;clip-path:polygon(0 0,100% 0,0 100%)}
.contact-dock-bubble>.dock-line>span{display:contents}
.contact-dock-bubble .dock-line-brand{display:block;width:48px;height:48px;flex:0 0 48px;object-fit:contain}
.contact-dock-bubble .dock-line-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.contact-dock-bubble .dock-line-copy small{display:block;font-size:11px;line-height:1.5;color:#315c46;font-weight:500;white-space:nowrap}
.contact-dock-bubble .dock-line-copy strong{font-size:22px;line-height:1.4;font-weight:800;letter-spacing:.015em;white-space:nowrap}
.contact-dock-bubble>.dock-line>b{display:block;margin-left:auto;color:#007f3f;font-size:24px;line-height:1.3;border-bottom:2px solid #008744}
.contact-dock-bubble>.dock-line:hover{background:#d4f3df;color:#006c36}
.contact-dock-bubble>.dock-line:hover:after{background:#d4f3df}
.contact-dock-bubble .dock-secondary{display:flex;align-items:center;justify-content:center;gap:0;align-self:stretch;background:#fffffffa;border:1px solid #e1e9e3;border-radius:12px;box-shadow:0 3px 12px #173c4010}
.contact-dock-bubble .dock-secondary>a{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:9px 12px;color:#28484c;font-size:13px;font-weight:700;text-decoration:none;line-height:1.5;border-radius:10px}
.contact-dock-bubble .dock-secondary>a+a{position:relative}
.contact-dock-bubble .dock-secondary>a+a:before{content:"";position:absolute;left:0;height:16px;width:1px;background:#b6c6c5}
.contact-dock-bubble .dock-secondary>a:hover{background:#f0f6f1}
.contact-dock-bubble .dock-secondary .ui-icon{width:18px;height:18px;flex-shrink:0}

@media(max-width:600px){
 .contact-dock.contact-dock-bubble{right:12px;left:12px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;max-width:none;gap:14px}
 .contact-dock-bubble>.dock-line{min-height:84px;padding:14px 18px;gap:16px;flex:none}
 .contact-dock-bubble .dock-line-brand{width:40px;height:40px;flex-basis:40px}
 .contact-dock-bubble .dock-line-copy{gap:4px}
 .contact-dock-bubble .dock-line-copy strong{font-size:20px}
 .contact-dock-bubble .dock-line-copy small{font-size:11px}
 .contact-dock-bubble>.dock-line>b{font-size:22px}
 .contact-dock-bubble .dock-secondary>a{font-size:12px;min-height:44px}

}
@media(max-width:360px){.contact-dock-bubble>.dock-line{gap:13px;padding:14px}.contact-dock-bubble .dock-line-copy strong{font-size:18px}.contact-dock-bubble .dock-line-copy small{font-size:11px}.contact-dock-bubble>.dock-line>b{display:none}}

/* User revision: keep the contact controls on the right side, clear of the page bottom. */
.contact-dock.contact-dock-bubble{top:50%;bottom:auto;right:12px;left:auto;transform:translateY(-50%);width:326px;max-width:calc(100% - 24px)}
.contact-dock-bubble>.dock-line{min-height:92px;padding:17px 18px;gap:16px}
.contact-dock-bubble .dock-line-brand{width:40px;height:40px;flex-basis:40px}
.contact-dock-bubble .dock-line-copy strong{font-size:20px}
.contact-dock-bubble>.dock-line>b{display:none}
@media(max-width:800px){
 .contact-dock.contact-dock-bubble{top:50%;right:6px;left:auto;bottom:auto;width:84px;gap:12px;max-width:none}
 .contact-dock-bubble>.dock-line{min-height:126px;flex-direction:column;justify-content:center;gap:13px;padding:12px 7px;border-radius:18px 18px 18px 4px;text-align:center}
 .contact-dock-bubble>.dock-line:after{left:18px;bottom:-9px;width:16px;height:10px}
 .contact-dock-bubble .dock-line-copy small{display:none}
 .contact-dock-bubble .dock-line-copy strong{font-size:13px;white-space:normal;line-height:1.55;letter-spacing:0}
 .contact-dock-bubble .dock-secondary{flex-direction:column;width:100%;border-radius:12px}
 .contact-dock-bubble .dock-secondary>a{flex:none;flex-direction:column;width:100%;min-height:60px;gap:4px;font-size:11px;padding:8px 4px}
 .contact-dock-bubble .dock-secondary>a+a:before{top:0;left:18px;height:1px;width:46px}
}
@media(max-height:480px){.contact-dock.contact-dock-bubble{top:12px;transform:none}}
/* Final approved placement: desktop right / mobile compact bottom row. */
@media(max-width:800px){
 .contact-dock.contact-dock-bubble{display:grid;grid-template-columns:64px minmax(0,1fr)64px;align-items:stretch;gap:6px;top:auto;bottom:0;left:0;right:0;transform:none;width:auto;max-width:none;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #dfe9e1;box-shadow:0 -3px 16px #173c4012;backdrop-filter:blur(12px)}
 .contact-dock-bubble>.dock-line{grid-column:2;grid-row:1;display:flex;flex-direction:row;align-items:center;justify-content:center;min-height:60px;padding:9px 10px;gap:10px;border-radius:14px 14px 14px 4px;box-shadow:none;text-align:left}
 .contact-dock-bubble>.dock-line:after{display:none}
 .contact-dock-bubble .dock-line-copy strong{font-size:15px;line-height:1.4;white-space:normal}
 .contact-dock-bubble .dock-line-copy small{display:none}
 .contact-dock-bubble .dock-secondary{display:contents}
 .contact-dock-bubble .dock-secondary>a{grid-column:1;grid-row:1;min-height:60px;padding:6px 2px;gap:5px;background:transparent;flex-direction:column;box-shadow:none;font-size:11px;line-height:1.4}
 .contact-dock-bubble .dock-secondary>.dock-reservation{grid-column:3}
 .contact-dock-bubble .dock-secondary>a+a:before{display:none}
 .contact-dock-bubble .dock-secondary .ui-icon{width:20px;height:20px}
}
@media(max-width:360px){.contact-dock.contact-dock-bubble{grid-template-columns:55px minmax(0,1fr)55px;gap:4px;padding-left:6px;padding-right:6px}.contact-dock-bubble>.dock-line{padding:8px;gap:8px}.contact-dock-bubble .dock-line-copy strong{font-size:14px}}
/* Desktop refinement: slim vertical rail, leaving the main content visible. */
@media(min-width:801px){
 .contact-dock.contact-dock-bubble{width:100px;right:10px;gap:12px}
 .contact-dock-bubble>.dock-line{min-height:136px;flex-direction:column;justify-content:center;gap:14px;padding:14px 9px;text-align:center;border-radius:18px 18px 18px 4px}
 .contact-dock-bubble>.dock-line:after{left:22px;bottom:-9px;width:16px;height:10px}
 .contact-dock-bubble .dock-line-brand{width:44px;height:44px;flex-basis:44px}
 .contact-dock-bubble .dock-line-copy small{display:none}
 .contact-dock-bubble .dock-line-copy strong{font-size:14px;line-height:1.6;white-space:normal;letter-spacing:0;text-wrap:balance}
 .contact-dock-bubble .dock-secondary{flex-direction:column;width:100%;border-radius:12px}
 .contact-dock-bubble .dock-secondary>a{flex:none;flex-direction:column;width:100%;min-height:61px;gap:5px;font-size:12px;padding:9px 4px}
 .contact-dock-bubble .dock-secondary>a+a:before{top:0;left:21px;height:1px;width:56px}
 .contact-dock-bubble .dock-secondary .ui-icon{width:20px;height:20px}
}@media(min-width:801px){.contact-dock-bubble .dock-line-phrase{display:block}}

/* PC only: directly below the header, with intentional two-line LINE wording. */
@media(min-width:801px){
 .contact-dock.contact-dock-bubble{top:112px;bottom:auto;transform:none}
 .contact-dock-bubble .dock-line-copy strong{display:block;font-size:14px;line-height:1.6;letter-spacing:0;text-wrap:wrap}
 .contact-dock-bubble .dock-line-lead,.contact-dock-bubble .dock-line-phrase{display:block;white-space:nowrap}
}
/* Quiet companion cards for the PC contact rail: brand yellow and light blue. */
@media(min-width:801px){
 .contact-dock-bubble .dock-secondary{gap:9px;border:0;border-radius:0;background:transparent;box-shadow:none}
 .contact-dock-bubble .dock-secondary>a{min-height:72px;padding:12px 5px;gap:7px;border:1px solid #eee2b5;border-radius:15px;background:#fff8df;color:#4d4936;font-size:12px;font-weight:700;box-shadow:none}
 .contact-dock-bubble .dock-secondary>a:first-child .ui-icon{color:#8c773b}
 .contact-dock-bubble .dock-secondary>.dock-reservation{border-color:#cce7eb;background:#eaf8fa;color:#305963}
 .contact-dock-bubble .dock-secondary>.dock-reservation .ui-icon{color:#4f8390}
 .contact-dock-bubble .dock-secondary>a+a:before{display:none}
 .contact-dock-bubble .dock-secondary>a:first-child:hover{background:#fff1c6}
 .contact-dock-bubble .dock-secondary>.dock-reservation:hover{background:#ddf2f6}
}
/* Match the explanatory copy beneath the three campaign headings. */
#initial-cost>.story-intro,#services>.story-intro{max-width:950px;margin-left:auto;margin-right:auto;margin-bottom:28px;text-align:center;font-size:1.03rem;line-height:1.9;color:#526174}
#initial-cost>.story-intro strong,#services>.story-intro strong{color:#176c8a;font-weight:800}
@media(max-width:580px){#initial-cost>.story-intro,#services>.story-intro{font-size:.9rem;line-height:1.9}}

/* One LINE action design throughout the site; the fixed dock retains its compact layout. */
a.line-bubble-action,button.line-bubble-action,.listing-detail a.line-bubble-action{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:18px;min-width:0;max-width:100%;min-height:88px;padding:18px 22px;border:1px solid #b4e6c6;border-radius:22px 22px 22px 4px;background:#e1f8e9;color:#006c36;box-shadow:0 3px 12px #173c400c;text-decoration:none;text-align:left;line-height:1.4;transform:none;font-family:inherit}
.line-bubble-action:after{content:"";position:absolute;bottom:-10px;left:30px;width:19px;height:11px;background:#e1f8e9;clip-path:polygon(0 0,100% 0,0 100%)}
.line-bubble-action .line-bubble-icon{width:48px;height:48px;max-width:none;object-fit:contain;flex:0 0 48px;margin:0}
.line-bubble-action .line-bubble-copy{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}
.line-bubble-action .line-bubble-copy small{display:block;font-size:12px;line-height:1.6;font-weight:500;color:#315c46}
.line-bubble-action .line-bubble-copy strong{display:block;font-size:22px;line-height:1.5;font-weight:800;letter-spacing:0;color:#006c36;word-break:normal}
.line-bubble-action .line-bubble-arrow{flex:0 0 auto;color:#007f3f;font-size:25px;line-height:1.2;border-bottom:2px solid #008744;margin-left:auto}
a.line-bubble-action:hover,button.line-bubble-action:hover,.listing-detail a.line-bubble-action:hover{background:#d4f3df;color:#006c36;transform:none;box-shadow:0 3px 12px #173c400c}
.line-bubble-action:hover:after{background:#d4f3df}
.portal-action{padding-bottom:10px}
.portal-action .line-bubble-action{display:inline-flex;min-height:78px;padding:14px 20px}
.portal-action .line-bubble-copy strong{font-size:20px}
.portal-action .line-bubble-copy small{font-size:11px}
.listing-detail .line-bubble-action{gap:14px;padding:16px;min-height:88px;margin-bottom:9px}
.listing-detail .line-bubble-copy strong{font-size:19px}
.listing-detail .line-bubble-copy small{font-size:11px}
.contact-methods .line-help{margin-top:20px}
@media(max-width:580px){
 a.line-bubble-action,button.line-bubble-action,.listing-detail a.line-bubble-action{gap:14px;padding:15px 16px;min-height:82px}
 .line-bubble-action .line-bubble-icon{width:40px;height:40px;flex-basis:40px}
 .line-bubble-action .line-bubble-copy strong{font-size:18px}
 .line-bubble-action .line-bubble-copy small{font-size:11px}
 .line-bubble-action .line-bubble-arrow{font-size:21px}
 .portal-action .line-bubble-action{padding:12px 14px;min-height:76px}
 .portal-action .line-bubble-copy strong{font-size:17px}
 .portal-action .line-bubble-copy small{font-size:10px}
}
@media(max-width:360px){.line-bubble-action .line-bubble-arrow{display:none}.line-bubble-action .line-bubble-copy strong{font-size:17px}}

/* Center the LINE icon and copy together inside every frame, including preview clones. */
.line-bubble-action.line-bubble-action,.listing-detail .line-bubble-action.line-bubble-action{display:grid;grid-template-columns:48px minmax(0,1fr)48px;align-items:center;justify-content:center;text-align:center;background:#e1f8e9;color:#006c36;border:1px solid #b4e6c6;border-radius:22px 22px 22px 4px;box-shadow:0 3px 12px #173c400c}
.line-bubble-action .line-bubble-copy{text-align:center;align-items:center;width:100%}
.line-bubble-action .line-bubble-copy strong>span{display:inline-block;white-space:nowrap}
.line-bubble-action .line-bubble-arrow{justify-self:center;margin:0}
.line-bubble-action.line-bubble-action:hover{background:#d4f3df;color:#006c36}
@media(max-width:580px){.line-bubble-action.line-bubble-action,.listing-detail .line-bubble-action.line-bubble-action{grid-template-columns:40px minmax(0,1fr)40px}}

.line-bubble-action.line-bubble-action,.listing-detail .line-bubble-action.line-bubble-action{grid-template-columns:48px minmax(0,max-content);padding-left:48px;padding-right:48px}
.line-bubble-action .line-bubble-copy{flex:none;max-width:30ch}
.line-bubble-action .line-bubble-arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%)}
@media(max-width:580px){.line-bubble-action.line-bubble-action,.listing-detail .line-bubble-action.line-bubble-action{grid-template-columns:40px minmax(0,max-content);padding-left:32px;padding-right:32px;gap:12px}.line-bubble-action .line-bubble-arrow{right:10px}}

/* Short, one-time homepage accents. Content is visible even if motion JS fails. */
@media(prefers-reduced-motion:no-preference){
 .campaign-story .campaign-heading .home-motion-marker{background-repeat:no-repeat;animation:home-marker-sweep 520ms cubic-bezier(.22,.7,.25,1) both}
 @keyframes home-marker-sweep{from{background-size:0% 100%}to{background-size:100% 100%}}
 @media(max-width:800px){.campaign-heading .home-motion-marker{animation-duration:360ms}}
 @media(hover:hover) and (pointer:fine){
  .line-bubble-action .line-bubble-arrow,.reservation-link>b{transition:translate 160ms ease}
  .line-bubble-action:hover .line-bubble-arrow,.reservation-link:hover>b{translate:3px 0}
 }
 .line-bubble-action:active,.reservation-link:active{opacity:.9}
}
@media(prefers-reduced-motion:reduce){.preference-photo-card:hover>img{transform:none}.campaign-heading .home-motion-marker{animation:none}}

/* All visit-reservation entrances share the quiet light-blue palette and centered copy. */
a[href^="/reservation/"]{text-align:center;background:#eaf8fa;color:#305963;border:1px solid #cce7eb;border-radius:14px;box-shadow:none}
a[href^="/reservation/"]:hover{background:#ddf2f6;color:#305963}
a.reservation-link,.listing-detail a.listing-booking{position:relative;display:flex;justify-content:center;align-items:center;padding:18px 44px;text-align:center;background:#eaf8fa;color:#305963;border:1px solid #cce7eb;border-radius:18px 18px 18px 4px;box-shadow:none}
a.reservation-link>span{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
a.reservation-link>b,.listing-detail a.listing-booking>span[aria-hidden]{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:#4f8390}
a.reservation-link small{text-align:center;line-height:1.6;margin-top:5px}
.site-header nav a[href^="/reservation/"]{padding-left:10px;padding-right:10px;border-radius:9px}
.site-footer nav a[href^="/reservation/"]{display:inline-block;padding:4px 12px;border-radius:9px}
.contact-dock-bubble .dock-secondary>.dock-reservation{background:#eaf8fa;color:#305963;border:1px solid #cce7eb}
@media(max-width:580px){a.reservation-link,.listing-detail a.listing-booking{padding:16px 32px}a.reservation-link>b,.listing-detail a.listing-booking>span[aria-hidden]{right:12px}.site-header nav a[href^="/reservation/"]{padding-left:5px;padding-right:5px}}
