
/* Proposal only. Existing implementation files are unchanged. */
.has-thread{position:relative}
.brand-thread{position:absolute;width:430px;height:78px;max-width:46%;pointer-events:none;z-index:1;overflow:visible}
.brand-thread path{stroke-width:1.5;stroke-linecap:round;vector-effect:non-scaling-stroke}
.thread-left{left:2%;top:8px;transform:rotate(-5deg)}
.thread-right{right:2%;top:12px;transform:rotate(4deg)}
.thread-green path{stroke:#8c9b6b}.thread-yellow path{stroke:#e4bd55;stroke-width:2}
.service-hero>.brand-thread{top:auto;bottom:0;width:480px;right:0;left:auto}
.portfolio-hero>.brand-thread{top:auto;bottom:-10px;left:1%;right:auto;width:350px}
.home-question>.brand-thread{top:auto;bottom:14px;left:0;width:400px}
.home-experience>.brand-thread{top:24px;left:auto;right:2%;width:370px}
.values>.brand-thread{top:auto;bottom:-28px;width:310px}
.services-section>.brand-thread{top:35px;right:1%;left:auto;width:290px}
.consult-section>.brand-thread{top:24px;width:390px}
.essay-row>.brand-thread{top:-38px;width:290px}
.thread-title{position:relative;isolation:isolate}
.thread-title::after{content:"";position:absolute;left:2%;bottom:-11px;width:190px;max-width:75%;height:17px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 25'%3E%3Cpath d='M3 18 Q116 -1 230 12 Q242 16 231 22' fill='none' stroke='%23e4bd55' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;pointer-events:none}
.essay-title .thread-title::after{left:calc(50% - 95px);bottom:-20px}
.sns-journal{padding:58px 24px 64px;margin:30px auto 15px;background:#f8f6ed;color:#294b37;max-width:1100px}
.sns-instagram{background:#eff3ec}
.sns-journal>.brand-thread{top:-20px;width:300px;max-width:30%}
.sns-inner{max-width:860px;margin:auto;display:grid;grid-template-columns:150px minmax(0,1fr);gap:48px;align-items:center}
.sns-symbol{display:flex;flex-direction:column;align-items:center;gap:14px;color:#3d5e4a}
.sns-symbol svg{width:49px;height:49px;fill:currentColor}
.sns-instagram .sns-symbol svg{fill:none;width:56px;height:56px}
.sns-symbol>span{font-size:12px;letter-spacing:.08em}
.sns-copy .sns-label{font-size:11px;letter-spacing:.12em;margin:0 0 11px}
.sns-copy h2{font-family:var(--font-display,serif);font-size:25px!important;line-height:1.65!important;margin:0 0 17px!important;font-weight:600}
.sns-description{font-size:13px!important;line-height:1.85!important;margin:0 0 17px!important}
.sns-topics{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:0 0 22px;font-size:11px;color:#5f755e}
.sns-topics li{margin:0}.sns-topics li::before{content:'・';color:#b69a45}
.sns-follow{display:inline-flex;align-items:center;gap:34px;border-bottom:1px solid #82917a;padding:8px 0 9px;color:inherit;text-decoration:none;font-size:13px;font-weight:600}
@media(max-width:760px){
.brand-thread{width:190px;height:48px;max-width:52%}.thread-left{left:0;top:3px}.thread-right{right:0;top:5px}
.service-hero>.brand-thread{width:195px;bottom:0}
.portfolio-hero>.brand-thread{width:165px;bottom:-10px}
.home-question>.brand-thread{width:170px;bottom:2px}
.home-experience>.brand-thread{width:155px;top:8px;right:0}
.services-section>.brand-thread{width:135px;top:20px}
.values>.brand-thread{width:155px;bottom:-30px}
.consult-section>.brand-thread{width:170px;top:12px}
.essay-row>.brand-thread{width:150px;top:-25px}
.thread-title::after{width:135px;bottom:-8px}
.essay-title .thread-title::after{left:calc(50% - 67px);bottom:-18px}
.sns-journal{padding:40px 25px 38px;margin:20px 15px 12px}
.sns-journal>.brand-thread{max-width:45%;width:160px;top:-18px}
.sns-inner{display:block}.sns-symbol{flex-direction:row;gap:12px;justify-content:flex-start;margin-bottom:23px}
.sns-symbol svg{width:29px;height:29px}.sns-instagram .sns-symbol svg{width:34px;height:34px}
.sns-symbol>span{font-size:12px}.sns-copy h2{font-size:21px!important;line-height:1.6!important;margin-bottom:15px!important}
.sns-copy .sns-label{font-size:10px;margin-bottom:8px}.sns-description{font-size:12px!important;line-height:1.9!important}
.sns-description br{display:none}.sns-topics{font-size:10px;gap:6px 12px;margin-bottom:16px}.sns-follow{font-size:12px;gap:22px}
}

/* Revision 2: individually placed lines and mobile language units. */
.thread-title::after{display:none!important}
.accent-title{position:relative;isolation:isolate}
.yellow-mark{position:absolute;left:0;bottom:-16px;width:190px;max-width:84%;height:26px;pointer-events:none;z-index:-1;overflow:visible}
.yellow-mark path{stroke:#e4bd55;stroke-width:1.8;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ym-1{width:165px;transform:rotate(-3deg)}.ym-2{width:210px;transform:rotate(2deg)}.ym-3{width:175px}.ym-4{width:200px;transform:rotate(-2deg)}
.essay-title .yellow-mark{left:calc(50% - 95px);bottom:-20px}
.green-thread{position:absolute;pointer-events:none;width:440px;max-width:48%;height:105px;z-index:1;overflow:visible;right:0;top:-25px}
.green-thread path{stroke:#8c9b6b;stroke-width:1.25;stroke-linecap:round;vector-effect:non-scaling-stroke}
.green-1{left:0;right:auto;top:auto;bottom:-20px;width:370px;transform:rotate(-5deg)}
.service-hero>.green-thread{top:auto;bottom:0;right:1%;width:430px}
.flow-chapter>.green-1{top:-28px;bottom:auto;left:0;width:340px}
.home-question>.green-thread{top:auto;bottom:-5px;left:0;right:auto;width:380px}
.home-price>.green-1{top:-14px;bottom:auto;left:auto;right:0;transform:rotate(6deg);width:350px}
.activity-section>.green-thread{top:-32px;right:0;width:420px}
#experience>.green-1{top:auto;bottom:-32px;left:0;width:350px}
.essay-row>.green-thread{top:-43px;right:-2%;width:330px}
.sns-journal{padding-top:80px!important;padding-bottom:110px!important;margin-top:54px!important;margin-bottom:65px!important}
.sns-symbol>span{display:none!important}
.heading-mobile{display:none}.heading-desktop{display:contents}
@media(max-width:760px){
.heading-desktop{display:none!important}.heading-mobile{display:inline!important}.heading-phrase{white-space:nowrap}
h1,h2,h3{word-break:normal!important;overflow-wrap:normal!important;text-wrap:pretty}
.service-hero h1{font-size:28px!important;line-height:1.5!important}
.portfolio-hero h1{font-size:25px!important;line-height:1.5!important;white-space:nowrap!important;letter-spacing:0!important}
.family-hero h1{font-size:29px!important;line-height:1.5!important}
.chapter-head h2,.voices-head h2,.family-heading h2,.portfolio-title h2,.consult-band h2,.family-final h2,.experience-heading h2,.home-question h2,.route-heading h2{font-size:23px!important;line-height:1.6!important;letter-spacing:0!important}
.route-heading h2{font-size:21px!important}.portfolio-title h2{font-size:22px!important}
.portfolio-v6 .work-card h3,.portfolio-v6 .activity-entry h3,.portfolio-v6 .experience-grid h3{font-size:17px!important;line-height:1.65!important}
.record-filter>h3,.record-filter h3{font-size:18px!important;line-height:1.65!important}
.program-row h3{font-size:19px!important;line-height:1.65!important}
.essay-title h1{font-size:21px!important;line-height:1.7!important}
.essay-copy h2{font-size:18px!important;line-height:1.75!important;letter-spacing:0!important}
.story-interviews h2{font-size:22px!important}.story-interview-grid h3{font-size:16px!important;line-height:1.65!important}
.family-label{font-size:11px!important;line-height:1.7!important}
.family-label .heading-phrase{font-size:11px!important}
.trial-big{font-size:18px!important;line-height:1.7!important}
.home-experience .trial-big{font-size:18px!important}
.hero-tag{font-size:20px!important;line-height:1.65!important}
.service-copy .tag{font-size:12px!important;line-height:1.8!important}
.portfolio-subtitle{font-size:12px!important;line-height:1.8!important}
.sns-copy h2{font-size:20px!important;line-height:1.65!important}
.sns-x .sns-copy h2{font-size:19px!important}
.yellow-mark{width:145px;max-width:83%;height:22px;bottom:-14px}.ym-1{width:125px}.ym-2{width:155px}.ym-3{width:140px}.ym-4{width:150px}
.essay-title .yellow-mark{left:calc(50% - 72px);bottom:-18px}
.green-thread{width:195px!important;max-width:55%;height:65px;top:-28px;right:0;left:auto}
.green-1{width:175px!important;bottom:-25px}
.service-hero>.green-thread{bottom:0;top:auto}
.flow-chapter>.green-1{top:-27px;left:0;right:auto;bottom:auto}
.home-question>.green-thread{bottom:-8px;top:auto;left:0;right:auto}
.home-price>.green-1{top:-24px;bottom:auto;right:0;left:auto}
.activity-section>.green-thread{top:-27px}
#experience>.green-1{bottom:-25px;top:auto}
.essay-row>.green-thread{top:-32px;right:0}
.sns-journal{padding-top:54px!important;padding-bottom:76px!important;margin-top:40px!important;margin-bottom:48px!important}
.sns-symbol{margin-bottom:22px}
}

section:has(>.green-thread){position:relative}
@media(max-width:760px){.activity-other-title{font-size:18px!important;line-height:1.7!important}}

@media(max-width:760px){
html body[data-page] .selected-work h3{font-size:18px!important;line-height:1.65!important;letter-spacing:0!important}
html body[data-page="home"] .home-experience .experience-heading h2{width:100%!important;max-width:none!important;font-size:25px!important;line-height:1.6!important}
html body.portfolio-v6 .instagram-panel h3,html body.portfolio-v6 .instagram-feature h3,html body.portfolio-v6 .experience-social h3{font-size:21px!important;line-height:1.7!important}
}

.essay-row>.green-thread{top:-85px;height:80px}
@media(max-width:760px){html body.portfolio-v6 .experience-social h3{font-size:20px!important}.essay-row>.green-thread{top:-63px;height:55px}}

@media(max-width:760px){html body[data-page="home"] .home-experience .experience-heading{padding-right:0!important}.home-experience .experience-heading>.quiet-art{display:none!important}}

/* v4: portfolio is based on v2, with only the five requested local spacing changes. */
html body.portfolio-v6 #design>.portfolio-title{margin-bottom:14px!important}
html body.portfolio-v6 #design .work-grid{margin-top:0!important}
html body.portfolio-v6 .activity-feature>figure{top:0!important;margin-top:16px!important}
html body.portfolio-v6 #experience>.portfolio-title{margin-bottom:14px!important}
html body.portfolio-v6 .service-return{gap:4px!important}
html body.portfolio-v6 .service-return>a{padding-top:6px!important;padding-bottom:6px!important;line-height:1.6!important}
@media(max-width:760px){
html body.portfolio-v6 #design .work-card{padding-top:12px!important}
html body.portfolio-v6 .trial-work-grid{row-gap:18px!important}
html body.portfolio-v6 .trial-work-grid>.work-card:first-child{margin-bottom:0!important}
html body.portfolio-v6 .trial-work-grid>.work-card>figure{height:auto!important;min-height:0!important;align-items:start!important}
html body.portfolio-v6 .trial-work-grid>.work-card:nth-child(2) .camp-caption{margin-top:6px!important;margin-bottom:6px!important}
html body.portfolio-v6 .trial-work-grid>.work-card:nth-child(2) .organizer{margin-top:4px!important;margin-bottom:6px!important}
}

@media(max-width:760px){
html body.portfolio-v6 #design{padding-bottom:24px!important;margin-bottom:0!important}
html body.portfolio-v6 #print{padding-top:30px!important}
html body.portfolio-v6 #learning{padding-bottom:26px!important}
html body.portfolio-v6 #experience{padding-top:30px!important}
html body.portfolio-v6 #experience .trial-work-grid>.work-card:first-child>.record-link{margin-bottom:1em!important}
html body.portfolio-v6 .experience-social{margin-top:12px!important}
html body.portfolio-v6 .regional-section{padding-bottom:20px!important;margin-bottom:0!important}
html body.portfolio-v6 .media-section{padding-top:28px!important;margin-top:0!important}
}

@media(max-width:760px){
html body.portfolio-v6 #experience .trial-work-grid>.work-card:first-child>.record-link{margin-bottom:2em!important}
html body.portfolio-v6 #print{margin-top:-36px!important}
}

@media(max-width:760px){html body.portfolio-v6 #experience>.portfolio-title{margin-bottom:36px!important}}
