:root{--forest:#3f5a4a;--sage:#a8b89f;--paper:#f7f3ea;--clay:#c97a4a;--ink:#3b342f;--muted:#675f55;--line:#d7d9cb;--serif:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Noto Sans JP','Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;--english:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.95 var(--sans);overflow-wrap:anywhere}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}p+p{margin-top:18px}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:.06em;line-height:1.65}h2{font-size:clamp(27px,3vw,37px);margin-bottom:28px}h3{font-size:19px;line-height:1.65;font-weight:600}a,button,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #a85229;outline-offset:5px}.container{max-width:1200px;margin:auto;padding-inline:40px}.section{padding-block:104px}.eyebrow{color:var(--forest);font-size:12px;letter-spacing:.17em;font-weight:600;margin-bottom:22px}.preview-note{background:var(--forest);color:white;text-align:center;font-size:12px;line-height:1.6;padding:7px 16px}.site-header{position:sticky;top:0;z-index:10;background:rgba(247,243,234,.97);border-bottom:1px solid rgba(63,90,74,.12)}.header-inner{min-height:95px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;flex-direction:column;line-height:1;flex-shrink:0;padding-block:9px}.wordmark{font-family:var(--english);font-size:37px;letter-spacing:.09em;color:var(--forest)}.brand-dot{color:var(--clay)}.brand-sub{font-size:9px;letter-spacing:.2em;margin-top:10px}.site-header nav{display:flex;align-items:center;gap:23px;font-size:12px}.site-header nav a{min-height:44px;display:flex;align-items:center}.site-header nav a:hover,.text-link:hover{color:#8c482e}.site-header nav .nav-contact{background:var(--forest);color:white;padding:10px 18px;gap:18px;border-radius:3px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;padding-block:60px 66px;align-items:center}.hero h1{font-size:clamp(40px,4.7vw,59px);line-height:1.6;letter-spacing:.055em;margin-bottom:24px}.accent{color:var(--clay)}.hero .eyebrow{display:flex;align-items:center;gap:12px;font-size:11px}.little-line{width:28px;height:1px;background:var(--clay)}.hero-lead{font-size:18px;font-weight:500}.hero-copy>p:not(.eyebrow):not(.hero-foot){line-height:2.1}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--forest);color:white;border-radius:3px;padding:15px 23px;font-size:14px;min-height:52px;transition:background .2s}.button:hover{background:#2e4537}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:13px;min-height:44px;border-bottom:1px solid var(--sage)}.hero-foot{font-size:9px;letter-spacing:.09em;color:var(--muted);margin-top:40px}.hero-foot span{margin-inline:9px}.hero-visual{position:relative;padding:0 0 25px}.hero-visual>img{width:100%;height:525px;object-fit:cover;border-radius:46% 46% 4px 4px}.visual-caption{position:absolute;left:30px;bottom:72px;font:36px/1.12 var(--english);color:#fffaf0;text-shadow:0 1px 8px #2c4e46}.visual-caption em{font-size:32px;font-weight:400}.hero-visual figcaption{font-size:10px;color:var(--muted);text-align:right;margin-top:8px}.orbit{position:absolute;width:108%;height:66%;border:1px solid #899783;border-radius:50%;top:20%;left:-4%;transform:rotate(-24deg);pointer-events:none;opacity:.6}.audience-strip{border-block:1px solid var(--line)}.audience-strip>.container{display:flex;align-items:center;justify-content:space-between;padding-block:24px;gap:20px}.audience-strip span{font-family:var(--serif);font-size:17px}.audience-strip p{font-size:12px;color:var(--forest)}.audience-strip i{margin-inline:16px;color:#a69e8d;font-style:normal}.split{display:grid;grid-template-columns:1fr 1.1fr;gap:85px;align-items:center}.concerns{list-style:none;padding:0;margin:0 0 15px}.concerns li{padding:14px 0 14px 29px;border-bottom:1px solid var(--line);position:relative;font-size:15px}.concerns li:before{content:'✓';position:absolute;left:0;color:var(--forest)}.concept-section{background:#e8ecdf;padding-block:80px}.concept-art{position:relative;min-height:330px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--forest)}.ring{position:absolute;border:1px solid #8c9f86;border-radius:50%;width:245px;height:265px;transform:rotate(-25deg)}.ring-one{left:9%}.ring-two{right:9%;transform:rotate(25deg)}.concept-word{font:52px var(--serif);letter-spacing:.2em;z-index:1}.concept-small{font-size:9px;letter-spacing:.13em;margin-top:24px;z-index:1}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px}.section-heading>p{font-size:14px}.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.industry-art{height:180px;position:relative;background:#dce3cf;overflow:hidden;color:var(--forest);padding:12px 15px}.industry-art>span{font:18px var(--english)}.industry-art svg{display:block;width:100%;height:118px;fill:none;stroke:currentColor;stroke-width:1.4}.industry-art small{font-size:8px;letter-spacing:.15em;position:absolute;bottom:10px}.studio{background:#e9dcc7}.startup{background:#d7e3e5}.shop{background:#e8d5c7}.industry h3{font-size:17px;margin-block:16px 10px}.industry>p:not(.image-note){font-size:14px;line-height:1.95}.image-note{font-size:10px;color:var(--muted);margin-top:6px}.section-note{font-size:13px;color:var(--muted);margin-top:30px}.services-section{background:#eaece3}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:44px}.service-grid article{border-top:1px solid #aab4a0;padding-top:20px}.number{font:40px var(--english);color:var(--forest)}.service-grid h3{margin-block:22px 16px}.service-grid p{font-size:15px}.service-en{display:block;margin-top:28px;letter-spacing:.15em;font-size:10px;color:var(--forest)}.works-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:58px;align-items:center;margin-top:40px}.work-placeholder{min-height:310px;background:#e4e5dc;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;color:var(--forest)}.work-placeholder>span:not(.browser-dots){font:19px/1.6 var(--english);letter-spacing:.1em;text-align:center}.work-placeholder em{font-size:36px;letter-spacing:0}.work-placeholder p{font-size:11px;margin:25px 15px 0;text-align:center}.browser-dots{position:absolute;top:10px;left:15px;font-size:8px;color:#8c9a84}.status{display:inline-block;font-size:12px;border:1px solid #9aa88f;padding:2px 12px;margin-bottom:20px}.works-layout h3{margin-bottom:20px}.muted{color:var(--muted);font-size:14px}.price-section{background:#ede8dd}.price-list{padding:0;list-style:none;margin:0 0 24px}.price-list li{padding-block:15px;border-bottom:1px solid #cfcbbd}.price-list li:first-child{border-top:1px solid #cfcbbd}.flow-list{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;list-style:none;padding:0;margin:42px 0 0}.flow-list li{padding:15px 0 0 20px;border-left:1px solid var(--sage)}.flow-list span{font:26px var(--english);color:var(--forest)}.flow-list h3{font-size:17px;margin-block:12px}.flow-list p{font-size:14px}.about-section{background:#e9edE3}.profile-art{height:310px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:50% 50% 2px 2px;background:linear-gradient(150deg,#cddac7,#f5f0df);color:var(--forest)}.profile-art>span{font:64px var(--english);letter-spacing:.12em}.profile-art small{font-size:9px;letter-spacing:.2em;margin-top:15px}.faq-section{display:grid;grid-template-columns:1fr 1.65fr;gap:60px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{padding:22px 36px 22px 28px;cursor:pointer;list-style:none;position:relative;font-size:15px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:before{content:'Q';position:absolute;left:0;color:var(--forest);font-family:var(--english)}.faq-list summary:after{content:'+';position:absolute;right:4px;color:var(--forest);font-size:22px;top:15px}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:14px;padding:0 28px 24px}.contact-section{background:var(--forest);color:var(--paper);text-align:center;padding-block:80px}.contact-section .eyebrow{color:#d5dfcd}.contact-section h2{font-size:40px}.contact-section>div>p:not(.eyebrow){font-size:15px}.contact-pending{border-top:1px solid #7c9081;max-width:580px;margin:32px auto 0;padding-top:25px}.contact-pending>span{font-size:17px}.contact-pending p{font-size:12px;color:#e0e6da;margin-top:12px}.site-footer{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-block:42px}.site-footer p{font-size:12px;margin-top:18px}.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:22px}.footer-right small{font-size:10px;color:var(--muted)}.skip-link{position:fixed;z-index:50;top:8px;left:8px;background:white;padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.menu-toggle{background:transparent;border:1px solid var(--sage);color:var(--forest);padding:8px 12px;min-height:44px;cursor:pointer;font-size:12px}.menu-icon{display:inline-block;width:16px;height:10px;border-block:1px solid currentColor;margin-right:8px}.menu-toggle[hidden]{display:none}
@media(min-width:1024px){.menu-toggle{display:none}}
@media(max-width:1023px){.container{padding-inline:32px}.header-inner{min-height:80px;flex-wrap:wrap;gap:0}.menu-toggle:not([hidden]){display:block}.site-header nav{flex-basis:100%;flex-wrap:wrap;padding:10px 0 20px;gap:10px 24px}.js .site-header nav:not(.is-open){display:none}.hero{grid-template-columns:1fr;gap:40px;max-width:800px}.hero h1{font-size:54px}.hero-visual>img{height:410px;border-radius:160px 160px 3px 3px}.orbit{width:95%;left:2%}.hero-foot{margin-top:28px}.audience-strip>.container{align-items:flex-start;flex-direction:column;gap:5px}.split{gap:40px}.industry-grid{grid-template-columns:repeat(2,1fr);gap:32px}.industry-art{height:200px}.industry-art svg{height:140px}.section{padding-block:76px}.service-grid{gap:22px}.faq-section{grid-template-columns:1fr;gap:20px}.section-heading{align-items:flex-start}.concept-art .ring{width:200px;height:245px}.works-layout{gap:30px}}
@media(max-width:767px){html{scroll-padding-top:90px}.container{padding-inline:24px}.preview-note{font-size:10px}.preview-note span{display:block}.wordmark{font-size:30px}.brand-sub{font-size:8px}.header-inner{min-height:76px}.site-header nav{flex-direction:column;align-items:stretch;gap:0}.site-header nav a{padding:9px 4px;border-bottom:1px solid var(--line);font-size:14px}.site-header nav .nav-contact{margin-top:10px}.hero{padding-top:38px;padding-bottom:35px;gap:30px}.hero h1{font-size:clamp(34px,9vw,48px)}.hero .eyebrow{font-size:10px;letter-spacing:.1em}.hero-lead{font-size:17px}.hero-copy>p:not(.eyebrow):not(.hero-foot){font-size:16px}.hero-actions{gap:16px;align-items:flex-start;flex-direction:column}.button{width:100%;font-size:15px;min-height:56px}.hero-foot{font-size:8px;line-height:1.8;max-width:290px}.hero-visual>img{height:370px;border-radius:150px 150px 3px 3px}.visual-caption{font-size:32px;left:22px}.visual-caption em{font-size:28px}.audience-strip>.container{padding-block:20px}.audience-strip p{font-size:12px}.audience-strip i{margin-inline:5px}.section{padding-block:64px}.split,.works-layout,.service-grid,.flow-list{grid-template-columns:1fr;gap:32px}.section-heading{display:block}.section-heading>p{font-size:16px;margin-bottom:30px}.industry-grid{grid-template-columns:1fr;gap:34px}.industry-art{height:210px}.industry-art svg{height:150px}.industry>p:not(.image-note),.service-grid p,.concerns li,.flow-list p,.faq-list summary,.faq-list details p,.muted{font-size:16px}.industry h3{font-size:20px}.concept-section{padding-block:50px}.concept-section .split{gap:25px}.concept-art{min-height:260px}.ring-one{left:14%}.ring-two{right:14%}.concept-art .ring{width:60%;height:230px}.section-note{font-size:14px}.service-grid{gap:30px}.service-grid article{padding-top:16px}.service-grid h3{margin-block:10px}.service-en{margin-top:18px}.work-placeholder{min-height:250px}.flow-list{gap:22px}.flow-list li{padding-top:0}.profile-art{height:240px}.faq-section{gap:16px}.faq-list summary{padding-block:22px}.contact-section{padding-block:62px}.contact-section h2{font-size:32px}.contact-section>div>p:not(.eyebrow){font-size:16px}.contact-pending p{font-size:14px}.site-footer{align-items:flex-start;flex-direction:column;padding-block:32px}.footer-right{align-items:flex-start}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Keep the decorative orbit inside the visual at narrow widths. */
.hero-visual{overflow:hidden}

/* Service-first hero copy. These rules only affect the hero. */
.hero-copy{min-width:0}
.hero .hero-service{font-size:14px;letter-spacing:.06em}
.hero h1{font-size:clamp(22px,2.2vw,27px);line-height:1.7;letter-spacing:.025em}
.hero-title-intro,.hero-title-main{display:block}
.hero-title-main{color:var(--forest);font-size:clamp(30px,3.1vw,39px);font-weight:600;line-height:1.6;margin-top:8px}
.hero-title-main>span{display:inline-block}
.hero .hero-lead{font-size:16px;font-weight:500}
.hero-description{max-width:34em}
.hero .hero-copy>.hero-reassurance{font-size:14px;color:var(--muted);border-left:2px solid var(--sage);padding-left:14px;margin-top:20px;line-height:1.9}
.hero .hero-copy>.hero-region{font-size:14px;color:var(--forest);margin-top:20px}
.hero .hero-copy>.hero-brand-message{font:18px/1.8 var(--serif);color:var(--forest);letter-spacing:.06em;margin-top:28px}
@media(max-width:1023px){.hero-title-main{font-size:40px}}
@media(max-width:767px){
  .hero .hero-service{font-size:13px;letter-spacing:.025em}
  .hero h1{font-size:clamp(20px,5.3vw,25px)}
  .hero-title-main{font-size:clamp(26px,7vw,34px);letter-spacing:0}
  .hero .hero-copy>.hero-region{font-size:14px}
  .hero .hero-copy>.hero-brand-message{font-size:17px;margin-top:24px}
  .hero .button{gap:12px;padding-inline:18px}
}

/* For You: photo-ready cards, with the existing 4 / 2 / 1 column grid. */
#for-you .industry-grid{gap:24px;align-items:stretch}
#for-you .industry{min-width:0;padding:12px 12px 22px;background:#fbf8f1;border:1px solid var(--line);border-radius:10px}
#for-you .industry-photo{position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:7px;background:#e8ecdf}
#for-you .industry-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
#for-you .photo-pending{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;text-align:center;color:var(--forest)}
#for-you .photo-pending>span{font-family:var(--serif);font-size:17px;letter-spacing:.06em}
#for-you .photo-pending small{font-size:11px;line-height:1.8;color:var(--muted)}
#for-you .industry-photo:not(.is-placeholder) .photo-pending{display:none}
#for-you .industry-category{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.08em;line-height:1.5;color:var(--forest);margin-top:20px}
#for-you .industry-category>span{font:20px/1 var(--english);color:var(--forest)}
#for-you .industry h3{font-size:17px;letter-spacing:0;margin-block:13px 10px}
#for-you .industry>p:not(.industry-category){font-size:14px;line-height:1.95}
@media(min-width:768px) and (max-width:1023px){#for-you .industry-grid{gap:28px}#for-you .industry{padding:14px 14px 24px}}
@media(max-width:767px){#for-you .industry-grid{gap:24px}#for-you .industry{padding:14px 14px 24px}#for-you .industry h3{font-size:20px}#for-you .industry>p:not(.industry-category){font-size:16px}#for-you .photo-pending small{font-size:12px}}

/* Concept: background -> clear information -> ongoing care. */
.hero .hero-copy>.hero-region{margin:0 0 22px;font-size:13px}
.hero .hero-service{margin-bottom:8px}
.hero-studio-visual{min-width:0;padding-bottom:12px}
.studio-photo{position:relative;overflow:hidden;border-radius:150px 150px 8px 8px;height:450px;background:#e8ecdf}
.studio-photo>img{width:100%;height:100%;object-fit:cover}
.studio-photo-pending{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px 24px 100px;gap:22px;color:var(--forest)}
.studio-photo-pending>span{font:28px/1.8 var(--serif);letter-spacing:.07em}
.studio-photo-pending small{font-size:12px;line-height:1.8;color:var(--muted)}
.studio-photo:not(.is-placeholder) .studio-photo-pending{display:none}
.hero-work-preview{position:relative;width:76%;margin:-84px 0 0 auto;padding:12px;background:#fbf8f1;border:1px solid var(--line);border-radius:7px}
.hero-work-frame{position:relative;aspect-ratio:16/10;background:#e9ede4;border:1px solid #c6cebd;overflow:hidden;border-radius:3px}
.preview-window-bar{display:flex;gap:5px;padding:8px 10px;background:#f5f5ed;border-bottom:1px solid #c6cebd}
.preview-window-bar i{width:5px;height:5px;border-radius:50%;background:#9aa990}
.work-preview-pending{position:absolute;inset:24px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--forest)}
.work-preview-pending>span{font:21px var(--serif)}
.work-preview-pending small{font-size:11px;color:var(--muted)}
.hero-work-preview>figcaption{font-size:11px;line-height:1.7;color:var(--muted);margin-top:8px}
.hero-work-frame>img{width:100%;height:100%;object-fit:contain}
.concept-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:54px;padding-top:30px;border-top:1px solid #b4c1a9}
.value-motif{display:flex;align-items:center;gap:18px;font:32px var(--serif);color:var(--forest);margin-bottom:22px}
.value-motif small{font:13px var(--sans)}
.concept-values h3{font-size:17px;margin-bottom:12px}
.concept-values p{font-size:14px}
#for-you .industry-example{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}
#for-you .industry-example>span{font-size:11px;color:var(--forest)}
#for-you .industry-example>p{font-size:13px;line-height:1.9;margin-top:6px}
.section-intro{font-size:16px;max-width:42em}
.service-tasks{padding-left:20px;font-size:14px;margin:18px 0 0}
.service-boundary{margin-top:36px;padding:24px;background:#f7f3ea;border-left:2px solid var(--sage)}
.service-boundary h3{font-size:17px;margin-bottom:10px}
.service-boundary p{font-size:14px}
.work-story-items{padding-left:20px;font-size:14px;margin-block:20px}
.price-clarity{margin-top:40px;padding-top:28px;border-top:1px solid #cfcbbd}
.price-clarity>h3{margin-bottom:18px}
.price-clarity dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 40px;margin:0 0 30px}
.price-clarity dt{font-weight:600;font-size:15px;color:var(--forest);margin-bottom:8px}
.price-clarity dd{font-size:14px;margin:0}
.flow-list .your-step{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.your-step b{font-weight:500;color:var(--forest)}
.contact-guidance{max-width:650px;margin:30px auto 0;text-align:left;border:1px solid #7c9081;border-radius:4px;padding:22px 26px}
.contact-guidance h3{font-size:16px;margin-bottom:12px}
.contact-guidance p{font-size:14px}
@media(max-width:1023px){.studio-photo{height:430px}.hero-work-preview{width:65%}.concept-values{gap:24px}.concept-values h3{font-size:16px}}
@media(max-width:767px){
  .hero .hero-copy>.hero-region{font-size:13px;margin-bottom:20px}
  .hero .hero-copy>.hero-reassurance{font-size:14px}
  .studio-photo{height:340px;border-radius:120px 120px 6px 6px}
  .studio-photo-pending{padding-bottom:80px}
  .studio-photo-pending>span{font-size:24px}
  .hero-work-preview{width:85%;margin-top:-64px;padding:10px}
  .concept-values{grid-template-columns:1fr;margin-top:36px;gap:28px}
  .concept-values p,.service-tasks,.service-boundary p,.price-clarity dd,.work-story-items{font-size:16px}
  .value-motif{margin-bottom:14px}
  #for-you .industry-example>p{font-size:15px}
  .service-boundary{padding:20px}
  .price-clarity dl{grid-template-columns:1fr;gap:24px}
  .price-clarity .button{font-size:14px;gap:12px}
  .flow-list .your-step{font-size:15px}
  .contact-guidance{padding:20px}
  .contact-guidance p{font-size:16px}
}

/* Each section has its own tone; shared text and button colors retain the brand. */
main>section{position:relative;isolation:isolate;background:transparent}
main>section::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--section-bg);box-shadow:0 0 0 100vmax var(--section-bg);clip-path:inset(0 -100vmax);pointer-events:none}
#top{--section-bg:#eef1e9}       /* Hero: soft sage */
#problems{--section-bg:#fbf9f3}  /* 01: warm ivory */
#for-you{--section-bg:#f0ece3}   /* 02: linen */
#works{--section-bg:#e8eef0}     /* 03: misty sky */
#concept{--section-bg:#e8ecdf}   /* 04: leaf green */
#about{--section-bg:#eee3d8}     /* 05: pale clay */
#services{--section-bg:#e2e9e4}  /* 06: muted forest */
#price{--section-bg:#ede8dd}     /* 07: sand */
#flow{--section-bg:#f3eee5}      /* 08: light parchment */
#faq{--section-bg:#f8f7ef}       /* 09: pearl ivory */
#contact{--section-bg:#3f5a4a}   /* 10: forest green */
.hero-studio-visual{padding-bottom:0}
.hero-studio-visual .studio-photo{height:auto;aspect-ratio:1161/1354}
@media(min-width:768px) and (max-width:1023px){.hero-studio-visual{width:100%;max-width:560px;margin-inline:auto}}
.profile-photo{width:100%;max-width:360px;justify-self:center;padding:14px;background:#f7f3ea;border:1px solid #d9d0c5;border-radius:10px}
.profile-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:5px}
.profile-photo figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;color:var(--forest);font:24px/1.5 var(--english)}
.profile-photo figcaption span{font:9px/1.5 var(--sans);letter-spacing:.12em}
@media(max-width:767px){.profile-photo{max-width:300px;padding:12px}}
/* Keep all menu links reachable on short landscape screens. */
@media(max-width:1023px){
  .js .site-header nav{max-height:calc(100vh - 160px);max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain}
  html:not(.js) .site-header{position:static}
}
@media(max-width:767px){
  #for-you .industry-example>p,.flow-list .your-step,.contact-pending p{font-size:16px}
}
.contact-form{max-width:650px;margin:40px auto 0;text-align:left;padding:28px;background:var(--paper);color:var(--ink);border-radius:8px}
.contact-fields{border:0;padding:0;margin:0;min-width:0}
.contact-fields legend{font:22px var(--serif);color:var(--forest);margin-bottom:24px}
.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-field{margin-bottom:22px;min-width:0}
.contact-field label{display:block;font-weight:500;margin-bottom:8px}
.contact-field label span,.contact-consent b{font-size:12px;margin-left:8px;color:#844628;font-weight:500}
.contact-field label .optional{color:var(--muted)}
.contact-field input,.contact-field textarea{display:block;width:100%;border:1px solid #899783;background:white;color:var(--ink);border-radius:3px;font:16px/1.7 var(--sans);padding:12px;min-height:48px}
.contact-field textarea{resize:vertical;min-height:170px}
.field-help{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:10px}
.contact-privacy{border-block:1px solid var(--line);padding-block:14px;margin-bottom:20px}
.contact-privacy summary{cursor:pointer;min-height:44px;display:list-item;padding:8px 0;margin-left:20px}
.contact-privacy p{font-size:14px;line-height:1.9}
.contact-privacy a{text-decoration:underline;text-underline-offset:3px}
.contact-consent{display:flex;align-items:flex-start;gap:12px;padding-block:8px;cursor:pointer;font-size:14px;margin-bottom:20px}
.contact-consent input{flex-shrink:0;width:22px;height:22px;margin:3px 0 0;accent-color:var(--forest)}
.contact-submit{border:0;cursor:pointer;width:100%;justify-content:center}
.contact-fields:disabled{opacity:.7}
.contact-status{margin-top:18px;font-size:16px;line-height:1.9;color:var(--forest)}
.contact-status:empty{margin:0}
.contact-status.is-error{color:#873620}
@media(max-width:767px){.contact-form{padding:22px 18px}.contact-row{grid-template-columns:1fr;gap:0}.field-help,.contact-privacy p,.contact-consent{font-size:16px}}

/* Published client work */
.work-screen{margin:0;min-width:0;align-self:start;padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:6px}
.work-screen a{display:block}
.work-screen img{display:block;width:100%;height:auto;border-radius:2px}
.work-screen figcaption{margin-top:10px;font-size:13px;color:var(--muted)}
.work-description{min-width:0}
.work-description h3{margin-block:16px;font:28px var(--serif);color:var(--forest)}
.work-scope{border-top:1px solid var(--line);padding-top:18px;margin-top:24px}
.work-link-note{font-size:12px}
@media(max-width:767px){.work-screen{padding:8px}.work-description h3{font-size:25px}.work-link-note{display:block;margin-top:4px}}


.price-draft{margin-top:18px}
.price-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:32px}
.price-plan{background:var(--paper);border:1px solid #b9bbaa;border-radius:6px;padding:28px 24px;display:flex;flex-direction:column;min-width:0}
.plan-label{font-size:12px;color:var(--forest);letter-spacing:.1em}
.price-plan h3{font:25px var(--serif);color:var(--forest);margin-top:14px}
.price-plan .plan-price{font:36px var(--english);color:var(--forest);margin-block:22px 16px;white-space:nowrap}
.plan-price span{font:16px var(--sans);margin-left:6px}
.price-plan ul{padding-left:20px;font-size:15px;margin-block:20px 26px}
.plan-for{margin-top:auto;border-top:1px solid var(--line);padding-top:20px}
.plan-for h4{font-size:15px;margin:0 0 10px;color:var(--forest)}
.plan-for p{font-size:15px}
.price-common{margin-top:30px;padding:26px;background:var(--paper);border-left:3px solid var(--sage)}
.price-common h3{margin-bottom:14px;color:var(--forest)}
@media(max-width:1023px){.price-plans{grid-template-columns:1fr}.price-plan{padding:26px}.price-plan ul,.plan-for p{font-size:16px}}
@media(max-width:767px){.price-common{padding:22px 18px}.price-plan{padding:24px 20px}}

/* Home summaries and separate detail pages */
.page-intro{padding-top:42px;padding-bottom:48px}
.breadcrumbs{font-size:13px;color:var(--muted);margin-bottom:22px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.page-intro h1{font-size:clamp(30px,4vw,44px);margin-bottom:18px}
.page-intro>p:last-child{max-width:760px}
.home-detail-link{margin-top:28px}
.home-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-block:30px}
.home-plan-grid>div{border-top:1px solid #a6ad9a;padding-top:22px}
.home-plan-grid h3{color:var(--forest);margin-bottom:14px}
.home-plan-grid p{font-size:15px}
.home-contact-action{margin-top:30px;display:flex;justify-content:center}
.home-contact-action .button{background:var(--paper);color:var(--forest)}
.footer-pages{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}
.plan-duration{font-size:14px;border-block:1px solid var(--line);padding-block:12px;margin-bottom:16px}
.site-header nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
@media(max-width:767px){.page-intro{padding-top:28px;padding-bottom:32px}.home-plan-grid{grid-template-columns:1fr;gap:28px}.home-plan-grid p{font-size:16px}.footer-pages{gap:14px}}

/* Details that help first-time clients choose and prepare */
.detail-section+.detail-section{border-top:1px solid var(--line)}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:30px}
.detail-card{border-top:2px solid var(--sage);padding-top:20px;min-width:0}
.detail-card h3{color:var(--forest);margin-bottom:14px;font-size:19px}
.detail-card p{font-size:16px}
.detail-facts{margin:30px 0 0}
.detail-facts>div{display:grid;grid-template-columns:190px 1fr;gap:24px;border-bottom:1px solid var(--line);padding-block:20px}
.detail-facts>div:first-child{border-top:1px solid var(--line)}
.detail-facts dt{font-weight:500;color:var(--forest)}
.detail-facts dd{margin:0;min-width:0}
.detail-checklist{padding-left:24px;margin-block:24px}
.detail-checklist li{margin-block:12px}
.detail-cta{padding-block:64px;background:#e9ede3}
.detail-cta .hero-actions{margin-top:24px}
.contact-guidance h3:not(:first-child){margin-top:24px}
@media(max-width:1023px){.detail-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:767px){.detail-facts>div{grid-template-columns:1fr;gap:8px;padding-block:18px}.detail-cta{padding-block:48px}.detail-card h3{font-size:18px}}

.common-plan-list{padding-left:24px;margin-block:18px}.common-plan-list li{margin-block:8px}

/* Plan samples: text descriptions and page structures. */
.sample-sites-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}
.sample-site-card{display:flex;flex-direction:column;min-width:0;background:#fffdf8;border:1px solid var(--line);border-radius:6px;overflow:hidden;scroll-margin-top:125px;transition:border-color .2s,box-shadow .2s}
.sample-site-card:hover{border-color:var(--forest);box-shadow:0 8px 24px #3f5a4a12}

.sample-site-body{display:flex;flex-direction:column;flex:1;padding:24px}
.sample-site-plan{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.13em;color:var(--forest);font-weight:600;margin-bottom:18px}
.sample-site-plan>span{font-size:12px;letter-spacing:0;border:1px solid var(--line);border-radius:20px;padding:2px 12px;white-space:nowrap}
.sample-site-body h3{font-size:20px;color:var(--forest);line-height:1.8}
.sample-site-name{font-size:12px;color:var(--muted);margin-top:12px}
.sample-site-description{font-size:15px;line-height:1.95;margin-top:20px}
.sample-site-pages{font-size:13px;margin-top:24px;margin-bottom:28px;border-top:1px solid var(--line);padding-top:18px}
.sample-site-pages b{font-weight:500;color:var(--forest)}
.sample-site-pages p{margin-top:8px}
.sample-site-pages ol{margin:10px 0 0;padding-left:20px}
.sample-site-pages li{padding-left:3px;margin-block:3px}
.sample-site-open{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:500;color:var(--forest);border-top:1px solid var(--line);padding-top:17px;margin-top:auto}
.sample-sites-note{font-size:13px;line-height:1.9;color:var(--muted);margin-top:24px}
.sample-sites-note+.sample-sites-note{margin-top:12px}
@media(max-width:1023px){.sample-sites-grid{grid-template-columns:1fr;gap:30px}.sample-site-card{display:flex}.sample-site-body{height:100%}.sample-site-body h3{font-size:21px}}
@media(max-width:767px){.sample-site-card{display:flex}.sample-site-body{padding:24px 20px}.sample-site-body h3{font-size:20px}.sample-site-description{font-size:16px}.sample-site-pages,.sample-site-open{font-size:14px}.sample-sites-note{font-size:13px}}

.consultation-note{font-size:14px;line-height:1.85;margin-top:18px}.contact-section .consultation-note{color:var(--paper)}

/* Clearly labelled illustrative page structures and writing process */
.plan-example-grid h3{margin-top:12px}
.page-map{margin:22px 0;padding:18px;background:#e9ede3;border:1px solid var(--line);border-radius:4px}
.page-map-title{font-weight:500;color:var(--forest)}
.page-map ul{margin-bottom:0;padding-left:20px}
.page-map li{margin-block:10px;font-size:15px}
.page-map-pages{list-style:none}
.page-map-pages li{border-bottom:1px solid #cbd3c1;padding-bottom:12px}
.page-map-pages li:last-child{border-bottom:0;padding-bottom:0}
.page-map-pages b,.page-map-pages span{display:block}
.page-map-pages b{color:var(--forest)}
.map-note{font-size:15px!important;color:var(--muted)}
.writing-example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}
.writing-example-step{background:#f0ede3;padding:24px;min-width:0;border-radius:4px}
.writing-example-step h3{color:var(--forest);margin-block:16px}
.writing-example-step blockquote{margin:0;border-left:2px solid var(--sage);padding-left:16px}
.writing-keywords{padding-left:20px;margin-block:20px}
.writing-draft{background:var(--paper);padding:18px;margin-bottom:20px}
.writing-draft-title{font:20px/1.7 var(--serif);color:var(--forest)}
@media(max-width:1023px){.writing-example-grid{grid-template-columns:1fr}}
@media(max-width:767px){.writing-example-step{padding:22px 18px}.page-map li,.map-note{font-size:16px!important}}

/* Cross-page editorial review: shared rhythm, readable headings and aligned cards. */
:root{--surface:#fbf8f1;--mist:#eef1e9;--leaf:#e8ecdf}
h1,h2,h3{text-wrap:balance}
#works{--section-bg:var(--mist)}
.detail-cta{--section-bg:#e9ede3}
.site-header nav{font-size:13px;gap:20px}
.page-intro>p:not(.breadcrumbs){max-width:760px}
.page-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:26px;font-size:14px;color:var(--forest)}
.page-links a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid var(--sage)}
.page-links a:hover,.faq-navigation a:hover{color:#8c482e}
.value-motif{min-height:48px;line-height:1.5}
.concept-art .ring{width:min(58%,245px);height:auto;aspect-ratio:245/265}
.concept-art .ring-one{left:12%}
.concept-art .ring-two{right:12%}
.service-grid h3,.industry h3,.concept-values h3,.flow-list h3{color:var(--forest)}
.service-grid article{display:flex;flex-direction:column;min-width:0}
.service-en{margin-top:auto;padding-top:28px;font-size:11px}
.flow-list li{display:flex;flex-direction:column;min-width:0}
.flow-list .your-step{margin-top:auto;padding-top:18px}
.flow-list li>p:not(.your-step):last-of-type{margin-bottom:18px}
.plan-duration{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.plan-duration b{font-weight:500}
.plan-price{font:36px/1.25 var(--english);color:var(--forest);margin-block:22px 16px}
.price-plan .plan-price{line-height:1.25}
.price-common>p{max-width:54em}
.plan-for{display:flex;flex-direction:column}
.plan-for>p:last-child{margin-top:auto;padding-top:18px}
.price-plan li+li{margin-top:5px}
.sample-site-card{background:var(--surface);scroll-margin-top:0}
.sample-site-plan{font-size:12px}
.faq-groups{min-width:0}
.faq-group+.faq-group{margin-top:48px}
.faq-group>h3{color:var(--forest);font-size:20px;margin-bottom:18px}
.faq-navigation{display:flex;flex-direction:column;margin-top:28px;font-size:14px;color:var(--forest)}
.faq-navigation a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;padding-block:10px;border-bottom:1px solid var(--line)}
.faq-list summary:before{top:22px;font-size:20px;line-height:1.5}
.faq-list summary:after{top:50%;transform:translateY(-50%);line-height:1}
.faq-list details[open] summary{color:var(--forest);font-weight:500}
.faq-list details p a{text-decoration:underline;text-underline-offset:3px}
.contact-response{max-width:650px;margin:26px auto 0;text-align:left;font-size:14px;line-height:1.9}
.contact-response p+p{margin-top:12px}
.contact-guidance .text-link{color:var(--paper);border-color:#a8b89f}
.contact-guidance .text-link:hover{color:white}
.contact-section :focus-visible{outline-color:var(--paper)}
.contact-form :focus-visible{outline-color:#a85229}
.home-contact-action .button:hover{background:var(--leaf)}
.contact-submit:disabled{cursor:wait}
.button>span[aria-hidden],.text-link>span[aria-hidden]{flex:none}
@media(min-width:768px){
  #for-you .industry{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0}
  .concept-values>article{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0}
  .home-plan-grid>div{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0}
  .flow-list li{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0}
  .flow-list .your-step{margin-top:18px}
}
@media(min-width:1024px){
  .price-plans,.sample-sites-grid,.detail-grid,.concept-values{row-gap:0}
  .price-plan{display:grid;grid-template-rows:subgrid;grid-row:span 7;row-gap:0}
  .price-plan .plan-for{margin-top:0}
  .sample-site-card,.sample-site-body{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0}
  .sample-site-open{margin-top:0}
  .detail-grid:not(.plan-example-grid)>.detail-card{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:0}
  .plan-example-grid>.detail-card{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0}
  .writing-example-step{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0}
}
@media(min-width:1024px) and (min-height:720px){.faq-section>div:first-child{position:sticky;top:125px;align-self:start}}
@media(max-width:1023px){.faq-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-bottom:16px}}
@media(max-width:767px){
  h2{font-size:clamp(21px,6.4vw,27px);letter-spacing:.035em}
  .contact-section h2{font-size:clamp(26px,8vw,32px);letter-spacing:.035em}
  .page-intro h1{font-size:clamp(26px,7.4vw,32px);letter-spacing:.035em}
  .detail-cta h2{font-size:clamp(21px,6vw,27px);letter-spacing:.025em}
  .page-links{gap:4px 20px;margin-top:20px}
  .value-motif{min-height:0}
  .service-en{padding-top:20px}
  .flow-list .your-step{margin-top:14px}
  .plan-price,.price-plan .plan-price{font-size:34px}
  .plan-price span{font-size:14px}
  .faq-navigation{grid-template-columns:1fr;margin-top:18px}
  .faq-group+.faq-group{margin-top:36px}
  .contact-response{font-size:15px}
}

/* Keep the industry introduction together beneath its heading. */
#for-you .section-heading{display:block;margin-bottom:36px}
#for-you .section-heading h2{margin-bottom:18px}
#for-you .section-heading>p{font-size:16px;max-width:40em;margin:0}
@media(max-width:767px){#for-you .section-heading{margin-bottom:28px}}

/* Pricing keeps comparison visible and sends detailed conditions to the FAQ. */
.price-compact-note{margin-top:28px;font-size:14px;line-height:1.9}
.price-cost-grid>.detail-card>.text-link{justify-self:start;align-self:start}
#monthly-support .price-common>.detail-facts+p{margin-top:22px;font-size:14px}
.price-compact-note .text-link{margin-left:12px}
@media(min-width:1024px){.detail-grid.price-cost-grid>.detail-card{grid-row:span 3}}
@media(max-width:767px){.price-compact-note .text-link{display:flex;width:fit-content;margin:10px 0 0}}

/* FAQ answers share one inset and use lists for counts and conditions. */
.faq-list .faq-answer{padding:0 28px 24px;font-size:14px;line-height:1.95}
.faq-list .faq-answer p{padding:0;font-size:inherit}
.faq-answer p+p{margin-top:12px}
.faq-answer ul{padding-left:1.3em;margin:0}
.faq-answer p+ul,.faq-answer ul+p{margin-top:12px}
.faq-answer li+li{margin-top:8px}
@media(max-width:767px){.faq-list .faq-answer{font-size:16px}}

/* A compact homepage entry leads to the full case study. */
.home-works{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;align-items:center;padding-block:72px}
.home-works-heading h2{margin:0}
.home-work-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:6px;transition:border-color .2s}
.home-work-card:hover{border-color:var(--forest)}
.home-work-thumb{display:block;min-width:0;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:3px}
.home-work-thumb img{width:100%;height:auto}
.home-work-category{display:flex;flex-wrap:wrap;gap:0 14px;font-size:12px;color:var(--muted);line-height:1.8}
.home-work-body{min-width:0}
.home-work-body h3{font:24px/1.6 var(--serif);color:var(--forest);margin:6px 0 8px}
.home-work-body .home-work-scope{display:flex;flex-wrap:wrap;gap:0 12px;font-size:14px;line-height:1.8;margin:0}
.home-work-scope span{white-space:nowrap}
.home-work-open{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:13px;color:var(--forest);margin-top:8px;border-bottom:1px solid var(--sage)}
@media(max-width:1023px){.home-works{grid-template-columns:1fr;gap:24px;padding-block:64px}.home-work-card{grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:767px){.home-work-card{grid-template-columns:80px minmax(0,1fr);gap:16px;padding:16px;align-items:start}.home-work-category{display:block;font-size:11px}.home-work-category span{display:block}.home-work-body h3{font-size:19px;margin-block:6px}.home-work-body .home-work-scope{font-size:13px}.home-work-open{margin-top:6px}}

/* Services introduce the work briefly; pricing and FAQ hold the conditions. */
.service-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:18px}
.service-audience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.service-audience-grid article{min-width:0;border-top:2px solid var(--sage);padding-top:18px}
.service-audience-grid h3{font-size:17px;color:var(--forest);margin-bottom:10px}
.service-audience-grid p{font-size:15px;line-height:1.9}
@media(min-width:768px){.services-detail-grid{row-gap:0}.services-detail-grid>article{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0}}
@media(max-width:1023px){.service-audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.service-audience-grid{gap:24px 20px}.service-audience-grid h3{font-size:16px}.service-audience-grid p{font-size:16px}}

/* 2026-10-20: concise content and a consistent reading rhythm. */
:root{--leaf:#e8ecdf;--mist:#eef1e9;--sand:#ede8dd}
#services{--section-bg:var(--leaf)}
#for-you,#flow{--section-bg:var(--sand)}
#faq{--section-bg:var(--paper)}
.compact-guidance{padding-block:48px}
.compact-guidance h2{font-size:clamp(22px,2.3vw,29px);margin-bottom:18px}
.compact-guidance .hero-actions{margin-top:18px}
.text-link,.home-work-open{font-size:14px}
#for-you .industry-category{font-size:11px}
.flow-detail-links{margin-top:30px;border-top:1px solid var(--line);padding-top:20px}
.price-plan{padding:26px}
.price-plan h3{margin-top:10px}
.price-plan .plan-price{margin-block:18px 14px}
.price-plan .plan-duration{display:block;line-height:1.8;margin-bottom:0}
.plan-duration b,.plan-duration span{display:block}
.price-plan ul{margin-block:18px}
.plan-for{padding-top:16px}
.plan-for>p:last-child{padding-top:12px}
.sample-site-body{padding:24px}
.sample-site-description{margin-bottom:18px}
.sample-site-open{font-size:14px}
.contact-intro-copy{max-width:650px;margin:0 auto;text-align:left}
.contact-response{margin-top:20px}
.contact-form{margin-top:24px}
@media(min-width:768px){#for-you .industry{grid-row:span 4}}
@media(min-width:1024px){
 .price-plan{grid-row:span 6}
 .sample-site-card,.sample-site-body{grid-row:span 5}
}
@media(max-width:767px){
 .compact-guidance{padding-block:36px}
 #for-you .industry-photo{aspect-ratio:16/9}
 #for-you .industry-grid{gap:24px}
 .home-work-category{font-size:12px}
 .price-plan{padding:22px 20px}
 .sample-site-body{padding:22px 20px}
 .sample-sites-grid{gap:20px}
 .contact-section .contact-intro-copy{font-size:16px}
 .contact-intro-copy br{display:none}
 .contact-section h2{margin-bottom:22px}
 .faq-navigation{margin-top:12px}
}
@media(max-width:359px){.service-audience-grid{grid-template-columns:1fr}}

/* The homepage gives a short introduction; About develops the same values. */
#services{--section-bg:var(--mist)}
.keep-name{white-space:nowrap}
@media(min-width:768px){.home-concept .concept-values>article{grid-row:span 2}}
