/* urikata.net v1.0.3 - visual system and block layout stabilization.
   Design intent: gray-scale UI only; readable Noto Sans JP; same data/URLs. */
:root {
  --u-width: 1120px;
  --u-font: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  --u-text: #323232;
  --u-heading: #282828;
  --u-border: #dedede;
  --u-section: #f6f6f6;
  --wp--preset--font-size--small: 14px;
  --wp--preset--font-size--medium: 16px;
  --wp--preset--font-size--large: 26px;
  --wp--preset--font-size--x-large: 34px;
}
html {scroll-padding-top: 88px;}
body {font-family: var(--u-font);font-size:16px;line-height:1.85;color:var(--u-text);letter-spacing:.005em;}
:where(button,input,select,textarea,summary) {font-family:var(--u-font);font-size:inherit;}
:where(h1,h2,h3,h4,h5,h6) {font-family:var(--u-font);color:var(--u-heading);font-weight:700;letter-spacing:0;overflow-wrap:break-word;}
:where(.entry-content,.site-header,.site-footer,.article-layout) :is(h1,h2,h3,h4,h5,h6,p,li,a,summary,button,input,textarea,select,label,small,strong,td,th) {font-family:var(--u-font) !important;}
.entry-content,.article-content {font-size:16px;line-height:1.85;}
.entry-content :is(p,li){font-size:16px;line-height:1.85;}
.entry-content :is(h2.wp-block-heading){font-size:28px !important;line-height:1.5 !important;margin:30px 0 13px;}
.entry-content :is(h3.wp-block-heading){font-size:21px !important;line-height:1.55 !important;margin:24px 0 10px;}
.entry-content :is(h4.wp-block-heading){font-size:18px !important;line-height:1.65 !important;margin:20px 0 10px;}
.entry-content :is(.wp-block-group,.wp-block-column)>:last-child {margin-bottom:0;}
.entry-content p {margin:0 0 17px;}
.entry-content .wp-block-image img{max-width:100%;height:auto;}
.entry-content .wp-block-buttons{gap:12px;}
.entry-content .wp-block-button__link{font-size:15px !important;line-height:1.4;padding:12px 22px;border-radius:28px;background:#444;color:#fff !important;}
.entry-content .wp-block-button__link:hover{background:#292929;}
/* Navigation. Live site has six non-CTA desktop links and a CTA (seven total). */
.site-header{box-shadow:none;background:#fff;border-bottom:1px solid #e6e6e6;}
.site-header__inner{width:min(calc(100% - 40px),1200px);min-height:74px;gap:18px;}
.site-brand__logo{display:block;width:148px;max-height:45px;height:auto;object-fit:contain;}
.site-nav{display:block;margin-left:auto;min-width:0;}
.site-nav .nav-links{display:flex;flex-wrap:nowrap;gap:clamp(10px,1.1vw,18px);align-items:center;}
.site-nav .nav-links li {min-width:0;}
.site-nav .nav-links a{font-size:13px;line-height:1.35;font-weight:700;color:#303030;white-space:nowrap;text-align:center;display:block;}
.site-nav .nav-links__item--featured a{font-size:13px;font-weight:800;letter-spacing:-.025em;line-height:1.2;}
.site-nav .nav-links__item--featured a::after{content:"urikata.net";display:block;margin-top:3px;font-size:9px;line-height:1;font-weight:600;letter-spacing:.02em;color:#666;}
.site-nav .nav-links__item--featured a:hover{text-decoration:underline;}
.header-contact{flex:none;margin:0;color:#fff !important;background:#444;border:1px solid #444;border-radius:999px;font-size:14px;font-weight:700;padding:11px 20px;line-height:1.45;text-align:center;text-decoration:none;white-space:nowrap;}
.header-contact:hover,.header-contact:focus-visible{background:#222;color:#fff !important;text-decoration:none;}
.mobile-nav{display:none;}
.mobile-nav summary{color:#343434;}
/* Stable max width: align all homepage sections on one centered vertical axis. */
.front-content .content-shell{width:min(calc(100% - 40px),1120px);margin-inline:auto;min-height:0;}
.front-content .content-shell> .wp-block-media-text{width:100%;min-height:270px;padding:25px 0 30px;margin:0 auto;max-width:1120px;}
.front-content .content-shell> .wp-block-media-text>.wp-block-media-text__media{align-self:center;}
.front-content .content-shell> .wp-block-media-text>.wp-block-media-text__content{padding:12px 24px 12px 28px;}
.front-content .content-shell> .wp-block-media-text h1{font-size:clamp(34px,3.2vw,46px) !important;line-height:1.35;margin:0 0 8px;}
.front-content .content-shell> .wp-block-media-text h2{font-size:clamp(20px,2vw,27px) !important;line-height:1.45;margin:0 0 18px;}
.front-content .content-shell> .wp-block-media-text .wp-block-group{margin:0 !important;}
.front-content .content-shell> .wp-block-media-text .wp-block-buttons{margin-top:14px;}
/* Full-bleed section background with centered content; no competing inline gaps. */
.front-content .content-shell> .wp-block-group.alignfull{
  width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  box-sizing:border-box;padding:30px max(20px, calc((100vw - 1120px) / 2));
}
.front-content .content-shell> .wp-block-group.alignfull> :is(.wp-block-columns,.wp-block-group){width:100%;max-width:1120px;margin-inline:auto;}
.front-content .content-shell> .urikata-section--videos{background:#fff !important;padding-top:8px;padding-bottom:32px;}
.urikata-section--videos>.wp-block-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:30px !important;margin:0 auto !important;}
.urikata-section--videos .wp-block-column{min-width:0;width:100%;flex:none;}
.urikata-section--videos .wp-block-column> .wp-block-group {margin:0 0 10px;}
.urikata-section--videos .wp-block-group:has(> .wp-block-image){display:flex;align-items:center;flex-wrap:nowrap;gap:9px;margin:0 0 9px;min-height:36px;}
.urikata-section--videos .wp-block-group:has(> .wp-block-image)>.wp-block-image {flex:0 0 auto;margin:0;}
.urikata-section--videos .wp-block-group:has(> .wp-block-image)>.wp-block-heading {font-size:18px !important;line-height:1.5;margin:0;}
.urikata-section--videos .wp-block-column>p{font-size:15px;line-height:1.8;margin:9px 0 0;}
.urikata-section--videos .urikata-video{margin:0 0 12px;max-width:100%;}
.urikata-section--videos .urikata-video__ratio{aspect-ratio:16/9;}
.urikata-section--reviews{padding-top:18px !important;padding-bottom:35px !important;background:#fff !important;}
.urikata-section--reviews>.wp-block-group{max-width:1120px;}
.urikata-section--reviews :is(h2.wp-block-heading){font-size:28px !important;margin:6px 0 22px;}
.urikata-section--reviews :is(h3.wp-block-heading){font-size:19px !important;margin:23px 0 7px;}
.urikata-section--reviews p{font-size:16px;line-height:1.85;margin:0 0 15px;}
.urikata-section--reviews .wp-block-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:32px auto 0;}
.urikata-section--reviews .wp-block-column{min-width:0;}
.urikata-section--results{padding-top:28px !important;padding-bottom:30px !important;background:#f2f2f2 !important;}
.urikata-section--results>:is(h3,h4,p){max-width:1120px;margin-inline:auto;}
.urikata-section--features{background:#fff !important;padding-top:32px !important;padding-bottom:25px !important;}
.urikata-section--features>.wp-block-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}
.urikata-section--features .wp-block-column{min-width:0;}
.urikata-section--features .wp-block-group:has(> .wp-block-image){display:flex;align-items:center;gap:8px;flex-wrap:nowrap;}
.urikata-section--features .wp-block-group:has(> .wp-block-image)>.wp-block-image{flex:none;margin:0;}
.urikata-section--features h3{font-size:19px !important;}
.urikata-section--services{width:100%;max-width:1120px;margin:0 auto !important;padding:32px 0 12px !important;}
.urikata-section--services > h2:first-child {text-align:center;font-size:29px !important;margin:0 0 22px;}
.urikata-section--services>h3{font-size:23px !important;margin-top:24px;}
.urikata-section--services>h4{font-size:19px !important;}
.urikata-section--services>p{max-width:1120px;}
.urikata-section--services .wp-block-media-text{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.84fr) !important;align-items:center;column-gap:30px;margin:20px auto 30px;}
/* WordPress 'media on right': fix v1.0.x regression (media was shown on the left). */
.wp-block-media-text.has-media-on-the-right>.wp-block-media-text__media{grid-column:2 !important;grid-row:1 !important;}
.wp-block-media-text.has-media-on-the-right>.wp-block-media-text__content{grid-column:1 !important;grid-row:1 !important;}
.urikata-section--services .wp-block-media-text__media{width:100%;align-self:center;}
.urikata-section--services .wp-block-media-text__media img{display:block;width:100%;height:auto;max-height:340px;object-fit:contain;}
.urikata-section--services .wp-block-media-text__content{padding:0 !important;}
.urikata-section--services .wp-block-media-text__content :is(p,li){font-size:16px;line-height:1.85;}
.front-content .content-shell> :is(h4,p){max-width:1120px;}
.front-content .hs-form-frame{width:min(100%,800px);margin:18px auto;}
/* Consistent section rhythm on informational pages and articles. */
.page-shell{padding-top:36px;padding-bottom:65px;}
.page-shell .entry-content{max-width:1120px;margin-inline:auto;}
.page-shell .entry-content :is(h2.wp-block-heading,h3.wp-block-heading){margin-top:25px;}
.article-title{font-size:clamp(26px,2.65vw,36px);line-height:1.45;}
.article-content{font-size:16px;line-height:1.9;}
.article-content p{font-size:16px;line-height:1.9;}
.article-content h2{font-size:25px;}
.article-content h3{font-size:20px;}
/* The global nav/contact CTA and content buttons remain monochrome. */
.site-footer{background:#eee;color:#303030;}
.site-footer .footer-title{font-size:16px !important;color:#303030;}
.site-footer p,.site-footer a{font-size:14px;}
.site-footer .copyright{font-size:12px;}
@media (max-width:1300px){
  .desktop-nav{display:none !important;}
  .header-contact{display:none !important;}
  .mobile-nav{display:block;margin-left:auto;position:relative;}
  .mobile-nav summary{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700;line-height:1.4;min-height:40px;padding:8px 12px;list-style:none;cursor:pointer;border:1px solid #cfcfcf;border-radius:6px;background:#fff;}
  .mobile-nav summary::-webkit-details-marker{display:none;}
  .mobile-nav[open]>nav{position:absolute;z-index:1002;right:0;top:calc(100% + 8px);width:min(350px,90vw);max-height:75vh;overflow:auto;padding:10px 18px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 14px 35px #0002;}
  .mobile-nav .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;}
  .mobile-nav .nav-links a{display:block;padding:13px 3px;font-size:15px;font-weight:700;color:#303030;text-decoration:none;white-space:normal;}
  .mobile-nav .nav-links__item--contact a{background:#444;color:#fff;padding:12px 16px;margin:10px 0;border-radius:6px;text-align:center;}
}
@media (min-width:1301px){.desktop-nav{display:block !important}.mobile-nav{display:none !important}.header-contact{display:inline-flex !important}}
@media (max-width:900px){
  .front-content .content-shell{width:min(calc(100% - 32px),1120px);}
  .front-content .content-shell> .wp-block-media-text{min-height:0;padding:28px 0;}
  .front-content .content-shell>.wp-block-group.alignfull{padding:28px 20px;}
  .urikata-section--videos>.wp-block-columns{grid-template-columns:1fr;gap:28px !important;}
  .urikata-section--reviews .wp-block-columns,.urikata-section--features>.wp-block-columns{grid-template-columns:1fr;gap:21px;}
  .urikata-section--services .wp-block-media-text{grid-template-columns:1fr !important;gap:16px;}
  .urikata-section--services .wp-block-media-text.has-media-on-the-right>.wp-block-media-text__content{grid-column:1 !important;grid-row:1 !important;}
  .urikata-section--services .wp-block-media-text.has-media-on-the-right>.wp-block-media-text__media{grid-column:1 !important;grid-row:2 !important;}
}
@media (max-width:700px){
  body{font-size:16px;line-height:1.8;}
  .site-header__inner{min-height:64px;width:calc(100% - 28px);}
  .site-brand__logo{width:140px;max-height:40px;}
  .front-content .content-shell{width:calc(100% - 32px);}
  .front-content .content-shell>.wp-block-media-text{display:grid;grid-template-columns:1fr !important;gap:0;padding:24px 0 26px;}
  .front-content .content-shell>.wp-block-media-text>.wp-block-media-text__media{display:none !important;}
  .front-content .content-shell>.wp-block-media-text>.wp-block-media-text__content{grid-column:1 !important;grid-row:1 !important;padding:0 4px;}
  .front-content .content-shell>.wp-block-media-text h1{font-size:32px !important;}
  .front-content .content-shell>.wp-block-media-text h2{font-size:20px !important;}
  .front-content .content-shell>.wp-block-group.alignfull{padding:25px 16px;}
  .entry-content :is(h2.wp-block-heading){font-size:24px !important;}
  .entry-content :is(h3.wp-block-heading){font-size:20px !important;}
  .entry-content :is(h4.wp-block-heading){font-size:18px !important;}
  .urikata-section--videos .wp-block-columns{display:grid;grid-template-columns:1fr;}
  .urikata-section--videos .wp-block-column>p{font-size:16px;}
  .urikata-section--services>.wp-block-media-text.is-stacked-on-mobile{display:grid;grid-template-columns:1fr !important;gap:12px;}
  .urikata-section--services>.wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__media{grid-column:1 !important;grid-row:2 !important;}
  .urikata-section--services>.wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__content{grid-column:1 !important;grid-row:1 !important;}
  .urikata-section--services{padding-top:24px !important;}
  .urikata-section--services>h2:first-child{font-size:25px !important;}
  .urikata-section--services .wp-block-media-text__content{padding:0 !important;}
  .page-shell{padding-top:25px;padding-bottom:40px;}
  .site-footer{padding-top:30px;}
}
